From 0b49501d2e02029af5564ec35f17e97b00ca8df4 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 27 Jul 2026 13:43:53 -0700 Subject: [PATCH 1/3] GH Issue 1257: Check for duplicates among field names, import aliases, and parent import aliases --- .../test/tests/SampleTypeParentColumnTest.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java index 3cb68c6e6a..4648602aad 100644 --- a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java +++ b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java @@ -699,8 +699,6 @@ public void testAliasNameConflictsWithFieldName() goToProjectHome(); projectMenu().navigateToFolder(PROJECT_NAME, SUB_FOLDER_NAME); - String path = PROJECT_NAME + "/" + SUB_FOLDER_NAME; - List fields = new ArrayList<>(); fields.add(new FieldDefinition(ALIAS_NAME_CONFLICT, FieldDefinition.ColumnType.String)); @@ -726,7 +724,7 @@ public void testAliasNameConflictsWithFieldName() String.join("\n", errors)); updatePage.removeParentAlias(0); - log("Now add a valid parent column and check that you cannot now add a field in the sample type with the same name."); + log("Now add a valid parent column and check that you cannot not add a field in the sample type with the same name."); updatePage.addParentAlias(GOOD_PARENT_NAME, SampleTypeDesigner.CURRENT_SAMPLE_TYPE); updatePage.clickSave(); @@ -751,7 +749,17 @@ public void testAliasNameConflictsWithFieldName() updatePage.clickCancel(); - log("Validated name conflicts."); + // GH Issue 1257 + log("Check that you cannot add a field with an import alias that conflicts with the parent import alias"); + waitAndClickAndWait(Locator.lkButton("Edit Type")); + updatePage = new UpdateSampleTypePage(getDriver()); + updatePage.getFieldsPanel().addField("DupeAliasCheck") + .setImportAliases(ALIAS_NAME_CONFLICT); + errors = updatePage.clickSaveExpectingErrors(); + errorMsgExpectedTxt = "Import alias " + ALIAS_NAME_CONFLICT + " on field DupeAliasCheck conflicts with a field name."; + assertThat("Error message", String.join("\n", errors), CoreMatchers.containsString(errorMsgExpectedTxt)); + + updatePage.clickCancel(); } @Test From c32433ebb7ac3a907b31a48fcf349120a7d18d9b Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 27 Jul 2026 14:20:25 -0700 Subject: [PATCH 2/3] Revert change to log message --- src/org/labkey/test/tests/SampleTypeParentColumnTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java index 4648602aad..ba488fe46c 100644 --- a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java +++ b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java @@ -724,7 +724,7 @@ public void testAliasNameConflictsWithFieldName() String.join("\n", errors)); updatePage.removeParentAlias(0); - log("Now add a valid parent column and check that you cannot not add a field in the sample type with the same name."); + log("Now add a valid parent column and check that you cannot add a field in the sample type with the same name."); updatePage.addParentAlias(GOOD_PARENT_NAME, SampleTypeDesigner.CURRENT_SAMPLE_TYPE); updatePage.clickSave(); @@ -750,9 +750,9 @@ public void testAliasNameConflictsWithFieldName() updatePage.clickCancel(); // GH Issue 1257 + clickFolder(SUB_FOLDER_NAME); log("Check that you cannot add a field with an import alias that conflicts with the parent import alias"); - waitAndClickAndWait(Locator.lkButton("Edit Type")); - updatePage = new UpdateSampleTypePage(getDriver()); + updatePage = sampleHelper.goToEditSampleType(SAMPLE_TYPE_NAME); updatePage.getFieldsPanel().addField("DupeAliasCheck") .setImportAliases(ALIAS_NAME_CONFLICT); errors = updatePage.clickSaveExpectingErrors(); From 599d66e180fcacea86575c4e0d51c0364a6c4e27 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 27 Jul 2026 15:47:40 -0700 Subject: [PATCH 3/3] Move field validation to DomainUtil.validateProperties to be applicable to all domains and tap into domain designer error messaging --- src/org/labkey/test/tests/SampleTypeParentColumnTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java index ba488fe46c..59a8994a0c 100644 --- a/src/org/labkey/test/tests/SampleTypeParentColumnTest.java +++ b/src/org/labkey/test/tests/SampleTypeParentColumnTest.java @@ -754,9 +754,9 @@ public void testAliasNameConflictsWithFieldName() log("Check that you cannot add a field with an import alias that conflicts with the parent import alias"); updatePage = sampleHelper.goToEditSampleType(SAMPLE_TYPE_NAME); updatePage.getFieldsPanel().addField("DupeAliasCheck") - .setImportAliases(ALIAS_NAME_CONFLICT); + .setImportAliases(GOOD_PARENT_NAME); errors = updatePage.clickSaveExpectingErrors(); - errorMsgExpectedTxt = "Import alias " + ALIAS_NAME_CONFLICT + " on field DupeAliasCheck conflicts with a field name."; + errorMsgExpectedTxt = "Field DupeAliasCheck has an import alias " + GOOD_PARENT_NAME+ " that conflicts with a parent alias header."; assertThat("Error message", String.join("\n", errors), CoreMatchers.containsString(errorMsgExpectedTxt)); updatePage.clickCancel();