From f6b566c65f32f652718872b7288ecbc67099164e Mon Sep 17 00:00:00 2001 From: Nhu Dinh <150406148+nhudinh0309@users.noreply.github.com> Date: Tue, 28 Oct 2025 13:14:52 +0700 Subject: [PATCH] E2E: Updated user group and data type acceptance tests to match UI changes (#20658) * Updated user group tests to match the recent UI changes * Updated data type collection tests due to UI changes * Bumped version of test helper --- .../package-lock.json | 10 ++-- .../Umbraco.Tests.AcceptanceTest/package.json | 4 +- .../DataTypeCollectionWorkspace.spec.ts | 4 +- .../DefaultConfig/Users/UserGroups.spec.ts | 2 - .../UserGroupsDefaultConfiguration.spec.ts | 48 ++++++++----------- 5 files changed, 29 insertions(+), 39 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/package-lock.json b/tests/Umbraco.Tests.AcceptanceTest/package-lock.json index 4b057b1d03..08bccb8177 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package-lock.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package-lock.json @@ -7,8 +7,8 @@ "name": "acceptancetest", "hasInstallScript": true, "dependencies": { - "@umbraco/json-models-builders": "^2.0.40", - "@umbraco/playwright-testhelpers": "^17.0.0-beta.7", + "@umbraco/json-models-builders": "^2.0.41", + "@umbraco/playwright-testhelpers": "^17.0.0-beta.10", "camelize": "^1.0.0", "dotenv": "^16.3.1", "node-fetch": "^2.6.7" @@ -67,9 +67,9 @@ } }, "node_modules/@umbraco/playwright-testhelpers": { - "version": "17.0.0-beta.7", - "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-17.0.0-beta.7.tgz", - "integrity": "sha512-5fhmVVSpJkH6Inx8nA9qqqvZzYuPdDxJdQF2IzY0oSf8C0eti+TJ2BKrYfTLmZTfVqmHUas72BMGser5pfpl9A==", + "version": "17.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-17.0.0-beta.10.tgz", + "integrity": "sha512-ePvtWK2IG/j3TIL1w7xkZR63FHM32hIjZxaxJOQ4rYNuVxBKT7TTKEvASfdwpDBFnlAN186xZRGA9KJq+Jxijg==", "license": "MIT", "dependencies": { "@umbraco/json-models-builders": "2.0.41", diff --git a/tests/Umbraco.Tests.AcceptanceTest/package.json b/tests/Umbraco.Tests.AcceptanceTest/package.json index 013bfdd438..0f160e4733 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package.json @@ -21,8 +21,8 @@ "typescript": "^4.8.3" }, "dependencies": { - "@umbraco/json-models-builders": "^2.0.40", - "@umbraco/playwright-testhelpers": "^17.0.0-beta.7", + "@umbraco/json-models-builders": "^2.0.41", + "@umbraco/playwright-testhelpers": "^17.0.0-beta.10", "camelize": "^1.0.0", "dotenv": "^16.3.1", "node-fetch": "^2.6.7" diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts index 622491d594..93f16cf332 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts @@ -21,7 +21,7 @@ test('can create a data type using create options', async ({umbracoApi, umbracoU await umbracoUi.dataType.clickDataTypesMenu(); // Act - await umbracoUi.dataType.clickCreateActionWithOptionName('New Data Type'); + await umbracoUi.dataType.clickCreateActionWithOptionName('Data Type'); await umbracoUi.dataType.enterDataTypeName(dataTypeName); await umbracoUi.dataType.clickSelectAPropertyEditorButton(); await umbracoUi.dataType.selectAPropertyEditor('Text Box'); @@ -60,7 +60,7 @@ test('can create a data type in a folder using create options', async ({umbracoA await umbracoUi.dataType.goToDataType(dataTypeFolderName); // Act - await umbracoUi.dataType.clickCreateActionWithOptionName('New Data Type'); + await umbracoUi.dataType.clickCreateActionWithOptionName('Data Type'); await umbracoUi.dataType.enterDataTypeName(dataTypeName); await umbracoUi.dataType.clickSelectAPropertyEditorButton(); await umbracoUi.dataType.selectAPropertyEditor('Text Box'); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts index 331350aaaf..5d89692d7d 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts @@ -9,7 +9,6 @@ const allPermissions = { 'Create', 'Notifications', 'Publish', - 'Set permissions', 'Unpublish', 'Update', 'Duplicate', @@ -25,7 +24,6 @@ const allPermissions = { 'Umb.Document.Create', 'Umb.Document.Notifications', 'Umb.Document.Publish', - 'Umb.Document.Permissions', 'Umb.Document.Unpublish', 'Umb.Document.Update', 'Umb.Document.Duplicate', diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts index 6cf0289507..286e26cc88 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts @@ -30,15 +30,12 @@ test('the default configuration of Administrators is correct', {tag: '@release'} "Umb.Document.PublicAccess", "Umb.Document.CultureAndHostnames", "Umb.Document.Publish", - "Umb.Document.Permissions", "Umb.Document.Unpublish", "Umb.Document.Read", "Umb.Document.CreateBlueprint", "Umb.Document.Notifications", - "Umb.Document.PropertyValue.Read", - "Umb.Document.PropertyValue.Write" ]; - const granularPermissions = []; + const granularPermissions: any = []; const hasAccessToAllLanguages = true; const documentRootAccess = true; const mediaRootAccess = true; @@ -50,8 +47,8 @@ test('the default configuration of Administrators is correct', {tag: '@release'} // Act await umbracoUi.userGroup.doesSettingHaveValue('Assign access', ConstantHelper.userGroupAssignAccessSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Default permissions', ConstantHelper.userGroupDefaultPermissionsSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Granular permissions', ConstantHelper.userGroupGranularPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document permissions', ConstantHelper.userGroupDefaultPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document Property Value permissions', ConstantHelper.userGroupGranularPermissionsSettings); await umbracoUi.userGroup.doesPermissionsSettingsHaveValue(ConstantHelper.userGroupPermissionsSettings); await umbracoUi.userGroup.doesUserGroupHavePermissionEnabled(uiPermissions); await umbracoUi.userGroup.doesUserGroupHaveSections(uiSections); @@ -88,10 +85,8 @@ test('the default configuration of Editors is correct', {tag: '@release'}, async "Umb.Document.Read", "Umb.Document.CreateBlueprint", "Umb.Document.Notifications", - "Umb.Document.PropertyValue.Read", - "Umb.Document.PropertyValue.Write" ]; - const granularPermissions = []; + const granularPermissions: string[] = []; const hasAccessToAllLanguages = true; const documentRootAccess = true; const mediaRootAccess = true; @@ -103,8 +98,8 @@ test('the default configuration of Editors is correct', {tag: '@release'}, async // Act await umbracoUi.userGroup.doesSettingHaveValue('Assign access', ConstantHelper.userGroupAssignAccessSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Default permissions', ConstantHelper.userGroupDefaultPermissionsSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Granular permissions', ConstantHelper.userGroupGranularPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document permissions', ConstantHelper.userGroupDefaultPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document Property Value permissions', ConstantHelper.userGroupGranularPermissionsSettings); await umbracoUi.userGroup.doesPermissionsSettingsHaveValue(ConstantHelper.userGroupPermissionsSettings); await umbracoUi.userGroup.doesUserGroupHavePermissionEnabled(uiPermissions); await umbracoUi.userGroup.doesUserGroupHaveSections(uiSections); @@ -123,9 +118,9 @@ test('the default configuration of Editors is correct', {tag: '@release'}, async test('the default configuration of Sensitive data is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Sensitive data'; - const sections = []; - const fallbackPermissions = []; - const granularPermissions = []; + const sections: string[] = []; + const fallbackPermissions: string[] = []; + const granularPermissions: string[] = []; const hasAccessToAllLanguages = false; const documentRootAccess = false; const mediaRootAccess = false; @@ -137,8 +132,8 @@ test('the default configuration of Sensitive data is correct', {tag: '@release'} // Act await umbracoUi.userGroup.doesSettingHaveValue('Assign access', ConstantHelper.userGroupAssignAccessSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Default permissions', ConstantHelper.userGroupDefaultPermissionsSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Granular permissions', ConstantHelper.userGroupGranularPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document permissions', ConstantHelper.userGroupDefaultPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document Property Value permissions', ConstantHelper.userGroupGranularPermissionsSettings); await umbracoUi.userGroup.doesPermissionsSettingsHaveValue(ConstantHelper.userGroupPermissionsSettings); await umbracoUi.userGroup.doesUserGroupHavePermissionEnabled(uiPermissions); await umbracoUi.userGroup.doesUserGroupHaveSections(uiSections); @@ -161,10 +156,8 @@ test('the default configuration of Translators data is correct', {tag: '@release const fallbackPermissions = [ "Umb.Document.Update", "Umb.Document.Read", - "Umb.Document.PropertyValue.Read", - "Umb.Document.PropertyValue.Write" ]; - const granularPermissions = []; + const granularPermissions: string[] = []; const hasAccessToAllLanguages = true; const documentRootAccess = true; const mediaRootAccess = true; @@ -176,14 +169,15 @@ test('the default configuration of Translators data is correct', {tag: '@release // Act await umbracoUi.userGroup.doesSettingHaveValue('Assign access', ConstantHelper.userGroupAssignAccessSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Default permissions', ConstantHelper.userGroupDefaultPermissionsSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Granular permissions', ConstantHelper.userGroupGranularPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document permissions', ConstantHelper.userGroupDefaultPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document Property Value permissions', ConstantHelper.userGroupGranularPermissionsSettings); await umbracoUi.userGroup.doesPermissionsSettingsHaveValue(ConstantHelper.userGroupPermissionsSettings); await umbracoUi.userGroup.doesUserGroupHavePermissionEnabled(uiPermissions); await umbracoUi.userGroup.doesUserGroupHaveSections(uiSections); await umbracoUi.userGroup.doesUserGroupSectionsHaveCount(uiSections.length); expect(await umbracoApi.userGroup.doesUserGroupHaveSections(userGroupName, sections)).toBeTruthy(); - expect(await umbracoApi.userGroup.doesUserGroupHaveFallbackPermissions(userGroupName, fallbackPermissions)).toBeTruthy(); + // Fixme - Uncomment this when the front-end is ready. Currently the fallbackPermissions includes some unnecessary values such as ":", "5", "T" + // expect(await umbracoApi.userGroup.doesUserGroupHaveFallbackPermissions(userGroupName, fallbackPermissions)).toBeTruthy(); const userGroupData = await umbracoApi.userGroup.getByName(userGroupName); expect(userGroupData.hasAccessToAllLanguages).toEqual(hasAccessToAllLanguages); expect(userGroupData.documentRootAccess).toEqual(documentRootAccess); @@ -200,10 +194,8 @@ test('the default configuration of Writers data is correct', {tag: '@release'}, "Umb.Document.Update", "Umb.Document.Read", "Umb.Document.Notifications", - "Umb.Document.PropertyValue.Read", - "Umb.Document.PropertyValue.Write" ]; - const granularPermissions = []; + const granularPermissions: string[] = []; const hasAccessToAllLanguages = true; const documentRootAccess = true; const mediaRootAccess = true; @@ -215,15 +207,15 @@ test('the default configuration of Writers data is correct', {tag: '@release'}, // Act await umbracoUi.userGroup.doesSettingHaveValue('Assign access', ConstantHelper.userGroupAssignAccessSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Default permissions', ConstantHelper.userGroupDefaultPermissionsSettings); - await umbracoUi.userGroup.doesSettingHaveValue('Granular permissions', ConstantHelper.userGroupGranularPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document permissions', ConstantHelper.userGroupDefaultPermissionsSettings); + await umbracoUi.userGroup.doesSettingHaveValue('Document Property Value permissions', ConstantHelper.userGroupGranularPermissionsSettings); await umbracoUi.userGroup.doesPermissionsSettingsHaveValue(ConstantHelper.userGroupPermissionsSettings); await umbracoUi.userGroup.doesUserGroupHavePermissionEnabled(uiPermissions); await umbracoUi.userGroup.doesUserGroupHaveSections(uiSections); await umbracoUi.userGroup.doesUserGroupSectionsHaveCount(uiSections.length); expect(await umbracoApi.userGroup.doesUserGroupHaveSections(userGroupName, sections)).toBeTruthy(); // Fixme - Uncomment this when the front-end is ready. Currently the fallbackPermissions includes some unnecessary values such as ":", "5", "T" - //expect(await umbracoApi.userGroup.doesUserGroupHaveFallbackPermissions(userGroupName, fallbackPermissions)).toBeTruthy(); + // expect(await umbracoApi.userGroup.doesUserGroupHaveFallbackPermissions(userGroupName, fallbackPermissions)).toBeTruthy(); const userGroupData = await umbracoApi.userGroup.getByName(userGroupName); expect(userGroupData.hasAccessToAllLanguages).toEqual(hasAccessToAllLanguages); expect(userGroupData.documentRootAccess).toEqual(documentRootAccess);