|
9 | 9 | import org.labkey.test.components.domain.DomainFieldRow; |
10 | 10 | import org.labkey.test.pages.core.admin.BaseSettingsPage.DATE_FORMAT; |
11 | 11 | import org.labkey.test.pages.query.QueryMetadataEditorPage; |
| 12 | +import org.labkey.test.pages.query.SourceQueryPage; |
12 | 13 | import org.labkey.test.params.FieldDefinition; |
13 | 14 | import org.labkey.test.params.experiment.SampleTypeDefinition; |
14 | 15 | import org.labkey.test.params.list.IntListDefinition; |
@@ -288,6 +289,39 @@ private void verifyMetadataXMLAfterResave(String schemaName, String queryName, S |
288 | 289 | .contains(expectedColumnXml); |
289 | 290 | } |
290 | 291 |
|
| 292 | + /** |
| 293 | + * Validation for issue : 51695 |
| 294 | + */ |
| 295 | + @Test |
| 296 | + public void testMultiValueJunctionType() |
| 297 | + { |
| 298 | + QueryMetadataEditorPage page = QueryMetadataEditorPage.beginAt(this, getProjectName(), "assay.General." + TEST_ASSAY, "Data"); |
| 299 | + page.resetToDefault(); |
| 300 | + |
| 301 | + SourceQueryPage sourcePage = page.clickEditSource(); |
| 302 | + // introduce a MVFK with an unsupported multi-value type, this should fail to save |
| 303 | + String xml = "<tables xmlns=\"http://labkey.org/data/xml\">\n" + |
| 304 | + " <table tableName=\"Data\" tableDbType=\"NOT_IN_DB\">\n" + |
| 305 | + " <columns>\n" + |
| 306 | + " <column columnName=\"fakeMVFK\" wrappedColumnName=\"LSID\">\n" + |
| 307 | + " <fk>\n" + |
| 308 | + " <fkDbSchema>lists</fkDbSchema>\n" + |
| 309 | + " <fkTable>queryMetadataTestList</fkTable>\n" + |
| 310 | + " <fkColumnName>key</fkColumnName>\n" + |
| 311 | + " <fkMultiValued>unsupported</fkMultiValued>\n" + |
| 312 | + " <fkJunctionLookup>entityId</fkJunctionLookup>\n" + |
| 313 | + " </fk>\n" + |
| 314 | + " </column>\n" + |
| 315 | + " </columns>\n" + |
| 316 | + " </table>\n" + |
| 317 | + "</tables>"; |
| 318 | + |
| 319 | + sourcePage.setMetadataXml(xml); |
| 320 | + checker().withScreenshot("validation-error") |
| 321 | + .verifyEquals("expecting a validation error for the unsupported multi value type", |
| 322 | + "Failed to Save: Column : \"fakeMVFK\" has an invalid fkMultiValued value : \"unsupported\" is not supported.", sourcePage.clickSaveExpectingError()); |
| 323 | + } |
| 324 | + |
291 | 325 | @Override |
292 | 326 | protected String getProjectName() |
293 | 327 | { |
|
0 commit comments