diff --git a/assay/package-lock.json b/assay/package-lock.json index 43c863f9952..73991867a63 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.5" }, "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.5", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.5.tgz", + "integrity": "sha512-Dr3sylLrVW6p8anEOo9eqCgHmY839x8XluO6d1WI6MdkNdSkXwx/89ExzxW4VgbSxkYXLuQYcBMO9IPROsID8Q==", "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..0218f8a9b61 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.5" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/core/package-lock.json b/core/package-lock.json index deeafe7a952..6ecb49d502d 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.5", "@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.5", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.5.tgz", + "integrity": "sha512-Dr3sylLrVW6p8anEOo9eqCgHmY839x8XluO6d1WI6MdkNdSkXwx/89ExzxW4VgbSxkYXLuQYcBMO9IPROsID8Q==", "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..9faebc81cd4 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.5", "@labkey/themes": "1.5.0" }, "devDependencies": { diff --git a/experiment/package-lock.json b/experiment/package-lock.json index 1f30507f173..b5c8cf289f3 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.5" }, "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.5", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.5.tgz", + "integrity": "sha512-Dr3sylLrVW6p8anEOo9eqCgHmY839x8XluO6d1WI6MdkNdSkXwx/89ExzxW4VgbSxkYXLuQYcBMO9IPROsID8Q==", "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..49b87889b60 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.5" }, "devDependencies": { "@labkey/build": "8.7.0", diff --git a/pipeline/package-lock.json b/pipeline/package-lock.json index 92eaed8c830..78c390fbd11 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.5" }, "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.5", + "resolved": "https://labkey.jfrog.io/artifactory/api/npm/libs-client/@labkey/components/-/@labkey/components-7.7.1-fb-nonUniqueConst73.5.tgz", + "integrity": "sha512-Dr3sylLrVW6p8anEOo9eqCgHmY839x8XluO6d1WI6MdkNdSkXwx/89ExzxW4VgbSxkYXLuQYcBMO9IPROsID8Q==", "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..ee425d20ab2 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.5" }, "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())); + } }