diff --git a/src/org/labkey/test/tests/query/QueryMetadataTest.java b/src/org/labkey/test/tests/query/QueryMetadataTest.java index 3d4f914daa..468fe583db 100644 --- a/src/org/labkey/test/tests/query/QueryMetadataTest.java +++ b/src/org/labkey/test/tests/query/QueryMetadataTest.java @@ -9,6 +9,7 @@ import org.labkey.test.components.domain.DomainFieldRow; import org.labkey.test.pages.core.admin.BaseSettingsPage.DATE_FORMAT; import org.labkey.test.pages.query.QueryMetadataEditorPage; +import org.labkey.test.pages.query.SourceQueryPage; import org.labkey.test.params.FieldDefinition; import org.labkey.test.params.experiment.SampleTypeDefinition; import org.labkey.test.params.list.IntListDefinition; @@ -288,6 +289,39 @@ private void verifyMetadataXMLAfterResave(String schemaName, String queryName, S .contains(expectedColumnXml); } + /** + * Validation for issue : 51695 + */ + @Test + public void testMultiValueJunctionType() + { + QueryMetadataEditorPage page = QueryMetadataEditorPage.beginAt(this, getProjectName(), "assay.General." + TEST_ASSAY, "Data"); + page.resetToDefault(); + + SourceQueryPage sourcePage = page.clickEditSource(); + // introduce a MVFK with an unsupported multi-value type, this should fail to save + String xml = "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " lists\n" + + " queryMetadataTestList\n" + + " key\n" + + " unsupported\n" + + " entityId\n" + + " \n" + + " \n" + + " \n" + + "
\n" + + "
"; + + sourcePage.setMetadataXml(xml); + checker().withScreenshot("validation-error") + .verifyEquals("expecting a validation error for the unsupported multi value type", + "Failed to Save: Column : \"fakeMVFK\" has an invalid fkMultiValued value : \"unsupported\" is not supported.", sourcePage.clickSaveExpectingError()); + } + @Override protected String getProjectName() {