diff --git a/assay/package-lock.json b/assay/package-lock.json index 43c863f9952..bd95bd3e7da 100644 --- a/assay/package-lock.json +++ b/assay/package-lock.json @@ -8,7 +8,7 @@ "name": "assay", "version": "0.0.0", "dependencies": { - "@labkey/components": "7.3.2" + "@labkey/components": "7.7.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", @@ -2525,9 +2525,9 @@ } }, "node_modules/@labkey/components": { - "version": "7.3.2", - "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.3.2.tgz", - "integrity": "sha512-wlzgvqR/JDxsoBkmbSNKG9040h0EiYdAl9J+NayOF9KKR2SGsrzs/VDE3XNjZVFURxfa2qxrkn05VSPwVXNk4A==", + "version": "7.7.3-fb-nonUniqueConst73.0", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.3-fb-nonUniqueConst73.0.tgz", + "integrity": "sha512-zk5oZCuIM+r8wvyTBC0cEJYWm0cj1ZZhhFYd4Y9OOdyt13yCSYBzudgDv+D+oE5KwJMowLuA3MWKiIqVMf0qpA==", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/assay/package.json b/assay/package.json index 4eccd41c80f..a615d1c17f7 100644 --- a/assay/package.json +++ b/assay/package.json @@ -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.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/core/package-lock.json b/core/package-lock.json index deeafe7a952..7f73b6fac73 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -8,7 +8,7 @@ "name": "labkey-core", "version": "0.0.0", "dependencies": { - "@labkey/components": "7.3.2", + "@labkey/components": "7.7.3-fb-nonUniqueConst73.0", "@labkey/themes": "1.5.0" }, "devDependencies": { @@ -3547,9 +3547,9 @@ } }, "node_modules/@labkey/components": { - "version": "7.3.2", - "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.3.2.tgz", - "integrity": "sha512-wlzgvqR/JDxsoBkmbSNKG9040h0EiYdAl9J+NayOF9KKR2SGsrzs/VDE3XNjZVFURxfa2qxrkn05VSPwVXNk4A==", + "version": "7.7.3-fb-nonUniqueConst73.0", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.3-fb-nonUniqueConst73.0.tgz", + "integrity": "sha512-zk5oZCuIM+r8wvyTBC0cEJYWm0cj1ZZhhFYd4Y9OOdyt13yCSYBzudgDv+D+oE5KwJMowLuA3MWKiIqVMf0qpA==", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/core/package.json b/core/package.json index 935ce60ee32..8c2c2fde6a3 100644 --- a/core/package.json +++ b/core/package.json @@ -53,7 +53,7 @@ } }, "dependencies": { - "@labkey/components": "7.3.2", + "@labkey/components": "7.7.3-fb-nonUniqueConst73.0", "@labkey/themes": "1.5.0" }, "devDependencies": { diff --git a/experiment/package-lock.json b/experiment/package-lock.json index 1f30507f173..e159653dcb3 100644 --- a/experiment/package-lock.json +++ b/experiment/package-lock.json @@ -8,7 +8,7 @@ "name": "experiment", "version": "0.0.0", "dependencies": { - "@labkey/components": "7.3.2" + "@labkey/components": "7.7.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", @@ -3314,9 +3314,9 @@ } }, "node_modules/@labkey/components": { - "version": "7.3.2", - "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.3.2.tgz", - "integrity": "sha512-wlzgvqR/JDxsoBkmbSNKG9040h0EiYdAl9J+NayOF9KKR2SGsrzs/VDE3XNjZVFURxfa2qxrkn05VSPwVXNk4A==", + "version": "7.7.3-fb-nonUniqueConst73.0", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.3-fb-nonUniqueConst73.0.tgz", + "integrity": "sha512-zk5oZCuIM+r8wvyTBC0cEJYWm0cj1ZZhhFYd4Y9OOdyt13yCSYBzudgDv+D+oE5KwJMowLuA3MWKiIqVMf0qpA==", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/experiment/package.json b/experiment/package.json index 63d1e1ec4e4..9f71e2897ff 100644 --- a/experiment/package.json +++ b/experiment/package.json @@ -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.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/pipeline/package-lock.json b/pipeline/package-lock.json index 92eaed8c830..a31ebee4bca 100644 --- a/pipeline/package-lock.json +++ b/pipeline/package-lock.json @@ -8,7 +8,7 @@ "name": "pipeline", "version": "0.0.0", "dependencies": { - "@labkey/components": "7.3.2" + "@labkey/components": "7.7.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", @@ -2759,9 +2759,9 @@ } }, "node_modules/@labkey/components": { - "version": "7.3.2", - "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.3.2.tgz", - "integrity": "sha512-wlzgvqR/JDxsoBkmbSNKG9040h0EiYdAl9J+NayOF9KKR2SGsrzs/VDE3XNjZVFURxfa2qxrkn05VSPwVXNk4A==", + "version": "7.7.3-fb-nonUniqueConst73.0", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.3-fb-nonUniqueConst73.0.tgz", + "integrity": "sha512-zk5oZCuIM+r8wvyTBC0cEJYWm0cj1ZZhhFYd4Y9OOdyt13yCSYBzudgDv+D+oE5KwJMowLuA3MWKiIqVMf0qpA==", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/pipeline/package.json b/pipeline/package.json index 3d3c40486a1..45f049b4dbd 100644 --- a/pipeline/package.json +++ b/pipeline/package.json @@ -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.3-fb-nonUniqueConst73.0" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/study/test/src/org/labkey/test/tests/study/StudyDatasetIndexTest.java b/study/test/src/org/labkey/test/tests/study/StudyDatasetIndexTest.java index 07f15dabd5a..c20602cea71 100644 --- a/study/test/src/org/labkey/test/tests/study/StudyDatasetIndexTest.java +++ b/study/test/src/org/labkey/test/tests/study/StudyDatasetIndexTest.java @@ -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) @@ -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) @@ -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")); @@ -196,4 +200,10 @@ private void verifyTableIndices(String prefix, List 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())); + } }