Skip to content
8 changes: 4 additions & 4 deletions assay/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion assay/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"clean": "rimraf resources/web/assay/gen && rimraf resources/views/gen && rimraf resources/web/gen"
},
"dependencies": {
"@labkey/components": "7.3.2"
"@labkey/components": "7.7.1-fb-nonUniqueConst73.5"
},
"devDependencies": {
"@labkey/build": "8.7.0",
Expand Down
8 changes: 4 additions & 4 deletions core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
}
},
"dependencies": {
"@labkey/components": "7.3.2",
"@labkey/components": "7.7.1-fb-nonUniqueConst73.5",
"@labkey/themes": "1.5.0"
},
"devDependencies": {
Expand Down
8 changes: 4 additions & 4 deletions experiment/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion experiment/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"test-integration": "cross-env NODE_ENV=test jest --ci --runInBand -c test/js/jest.config.integration.js"
},
"dependencies": {
"@labkey/components": "7.3.2"
"@labkey/components": "7.7.1-fb-nonUniqueConst73.5"
},
"devDependencies": {
"@labkey/build": "8.7.0",
Expand Down
8 changes: 4 additions & 4 deletions pipeline/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pipeline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"build-prod": "npm run clean && cross-env NODE_ENV=production PROD_SOURCE_MAP=source-map webpack --config node_modules/@labkey/build/webpack/prod.config.js --color --progress --profile"
},
"dependencies": {
"@labkey/components": "7.3.2"
"@labkey/components": "7.7.1-fb-nonUniqueConst73.5"
},
"devDependencies": {
"@labkey/build": "8.7.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ protected void doVerifySteps() throws Exception
.setType(FieldDefinition.ColumnType.Integer)
.expand()
.clickAdvancedSettings()
.setUniqueConstraint(true)
.setSingleFieldIndex("Index and require unique values")
.apply();
datasetDesignerPage.getFieldsPanel()
.addField(fieldName2)
.setType(FieldDefinition.ColumnType.DateAndTime)
.expand()
.clickAdvancedSettings()
.setUniqueConstraint(true)
.setSingleFieldIndex("Index")
.apply();
datasetDesignerPage.getFieldsPanel()
.addField(fieldName3)
Expand All @@ -148,21 +148,25 @@ protected void doVerifySteps() throws Exception
viewRawTableMetadata("DEM-3");
verifyTableIndices("dem_minus_3_", List.of("field_name1", "fieldname_2"));
assertTextNotPresent("dem_minus_3_fieldname_3");
verifyTableIndexNonUnique("dem_minus_3_", "field_name1", true);
verifyTableIndexNonUnique("dem_minus_3_", "fieldname_2", false);

// remove a field unique constraint and add a new one
goBack();
datasetDesignerPage = goToEditDatasetDefinition("DEM-3");
datasetDesignerPage.getFieldsPanel()
.getField(fieldName2).expand().clickAdvancedSettings().setUniqueConstraint(false)
.getField(fieldName1).expand().clickAdvancedSettings().setSingleFieldIndex("Index")
.apply();
datasetDesignerPage.getFieldsPanel()
.getField(fieldName3).expand().clickAdvancedSettings().setUniqueConstraint(true)
.getField(fieldName3).expand().clickAdvancedSettings().setSingleFieldIndex("Index and require unique values")
.apply();
datasetDesignerPage.clickSave();

viewRawTableMetadata("DEM-3");
verifyTableIndices("dem_minus_3_", List.of("field_name1", "fieldname_3"));
assertTextNotPresent("dem_minus_3_fieldname_2");
verifyTableIndices("dem_minus_3_", List.of("field_name1", "fieldname_2", "fieldname_3"));
verifyTableIndexNonUnique("dem_minus_3_", "field_name1", false);
verifyTableIndexNonUnique("dem_minus_3_", "fieldname_2", false);
verifyTableIndexNonUnique("dem_minus_3_", "fieldname_3", true);
}

private DatasetDesignerPage goToEditDatasetDefinition(String datasetName)
Expand All @@ -175,7 +179,7 @@ private DatasetDesignerPage goToEditDatasetDefinition(String datasetName)

private void viewRawTableMetadata(String datasetName)
{
beginAt("/query/" + getProjectName() + "/" + getFolderName() + "/schema.view?schemaName=study");
beginAt(getProjectName() + "/" + getFolderName() + "/query-schema.view?schemaName=study");
selectQuery("study", datasetName);
waitForText(10000, "view raw table metadata");
clickAndWait(Locator.linkWithText("view raw table metadata"));
Expand All @@ -196,4 +200,10 @@ private void verifyTableIndices(String prefix, List<String> indexSuffixes)
for (String suffix : suffixes)
assertTextPresentCaseInsensitive(prefix + suffix);
}

private void verifyTableIndexNonUnique(String prefix, String suffix, boolean isUnique)
{
Locator locator = Locator.xpath("//td[contains(text(), '" + prefix + suffix + "')]/preceding-sibling::td[2][text()='" + !isUnique + "']");
checker().verifyTrue("Non_Unique value not as expected in metadata for locator: " + locator, locator.existsIn(getDriver()));
}
}