diff --git a/assay/package-lock.json b/assay/package-lock.json index 43c863f9952..7e18e92aca4 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.1-fb-nonUniqueConst73.2" }, "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.1-fb-nonUniqueConst73.2", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.2.tgz", + "integrity": "sha512-iQIqFGsGVZ9c0qtCA1EPGt2RchDm6bN/EV/XgmbQBK5NaHjyKkE4IMxXJ+Hae7V5G06JeCA/PC9mg6IgsE2dJg==", "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..605f677d281 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.1-fb-nonUniqueConst73.2" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/core/package-lock.json b/core/package-lock.json index deeafe7a952..e2d9bcf6354 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.1-fb-nonUniqueConst73.2", "@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.1-fb-nonUniqueConst73.2", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.2.tgz", + "integrity": "sha512-iQIqFGsGVZ9c0qtCA1EPGt2RchDm6bN/EV/XgmbQBK5NaHjyKkE4IMxXJ+Hae7V5G06JeCA/PC9mg6IgsE2dJg==", "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..e7f97a0ca14 100644 --- a/core/package.json +++ b/core/package.json @@ -53,7 +53,7 @@ } }, "dependencies": { - "@labkey/components": "7.3.2", + "@labkey/components": "7.7.1-fb-nonUniqueConst73.2", "@labkey/themes": "1.5.0" }, "devDependencies": { diff --git a/experiment/package-lock.json b/experiment/package-lock.json index 1f30507f173..94dd049a24e 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.1-fb-nonUniqueConst73.2" }, "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.1-fb-nonUniqueConst73.2", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.2.tgz", + "integrity": "sha512-iQIqFGsGVZ9c0qtCA1EPGt2RchDm6bN/EV/XgmbQBK5NaHjyKkE4IMxXJ+Hae7V5G06JeCA/PC9mg6IgsE2dJg==", "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..224e934d79b 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.1-fb-nonUniqueConst73.2" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/pipeline/package-lock.json b/pipeline/package-lock.json index 92eaed8c830..32d4314391f 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.1-fb-nonUniqueConst73.2" }, "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.1-fb-nonUniqueConst73.2", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.2.tgz", + "integrity": "sha512-iQIqFGsGVZ9c0qtCA1EPGt2RchDm6bN/EV/XgmbQBK5NaHjyKkE4IMxXJ+Hae7V5G06JeCA/PC9mg6IgsE2dJg==", "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..c661f6893af 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.1-fb-nonUniqueConst73.2" }, "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..8199f581789 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("Unique") .apply(); datasetDesignerPage.getFieldsPanel() .addField(fieldName2) .setType(FieldDefinition.ColumnType.DateAndTime) .expand() .clickAdvancedSettings() - .setUniqueConstraint(true) + .setSingleFieldIndex("Non-Unique") .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("Non-Unique") .apply(); datasetDesignerPage.getFieldsPanel() - .getField(fieldName3).expand().clickAdvancedSettings().setUniqueConstraint(true) + .getField(fieldName3).expand().clickAdvancedSettings().setSingleFieldIndex("Unique") .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())); + } }