Skip to content

Commit 6a5b1a7

Browse files
nhudinh0309Zeegaan
andauthored
V16 QA Added acceptance tests for the 'create document' user permission (#19770)
* Remove skip * Added tests for creating and updating content * Removed skip because the issue is fixed * Updated assertion steps for the update document user permission * Bumped version * Added release tag --------- Co-authored-by: Nikolaj Geisle <[email protected]>
1 parent b722c0d commit 6a5b1a7

File tree

5 files changed

+47
-11
lines changed

5 files changed

+47
-11
lines changed

tests/Umbraco.Tests.AcceptanceTest/package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/Umbraco.Tests.AcceptanceTest/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
},
2222
"dependencies": {
2323
"@umbraco/json-models-builders": "^2.0.37",
24-
"@umbraco/playwright-testhelpers": "^16.0.28",
24+
"@umbraco/playwright-testhelpers": "^16.0.29",
2525
"camelize": "^1.0.0",
2626
"dotenv": "^16.3.1",
2727
"node-fetch": "^2.6.7"

tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DefaultPermissionsInContent.spec.ts

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ test('can create content with create permission enabled', async ({umbracoApi, um
195195
// Assert
196196
await umbracoUi.content.waitForContentToBeCreated();
197197
expect(await umbracoApi.document.doesNameExist(testDocumentName)).toBeTruthy();
198+
await umbracoUi.content.isDocumentReadOnly(true);
198199
});
199200

200201
test('can not create content with create permission disabled', async ({umbracoApi, umbracoUi}) => {
@@ -353,10 +354,10 @@ test('can update content with update permission enabled', async ({umbracoApi, um
353354
// Assert
354355
await umbracoUi.content.isSuccessStateVisibleForSaveButton();
355356
expect(await umbracoApi.document.doesNameExist(testDocumentName)).toBeTruthy();
357+
expect(await umbracoApi.document.doesNameExist(rootDocumentName)).toBeFalsy();
356358
});
357359

358-
// TODO: the permission for update is not working, it is always enabled.
359-
test.skip('can not update content with update permission disabled', async ({umbracoApi, umbracoUi}) => {
360+
test('can not update content with update permission disabled', async ({umbracoApi, umbracoUi}) => {
360361
// Arrange
361362
userGroupId = await umbracoApi.userGroup.createUserGroupWithUpdatePermission(userGroupName, false);
362363
await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId);
@@ -365,9 +366,11 @@ test.skip('can not update content with update permission disabled', async ({umbr
365366

366367
// Act
367368
await umbracoUi.content.goToSection(ConstantHelper.sections.content, false);
369+
await umbracoUi.content.goToContentWithName(rootDocumentName);
368370

369371
// Assert
370372
await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false);
373+
await umbracoUi.content.isDocumentReadOnly(true);
371374
});
372375

373376
// Needs create permission to be enabled to duplicate content
@@ -627,3 +630,35 @@ test('can not see delete button in content for userGroup with delete permission
627630
await umbracoUi.content.isPermissionInActionsMenuVisible('Delete…', false);
628631
await umbracoUi.content.isPermissionInActionsMenuVisible('Create…', true);
629632
});
633+
634+
test('can create and update content with permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => {
635+
// Arrange
636+
const updatedDocumentName = testDocumentName + ' Updated';
637+
userGroupId = await umbracoApi.userGroup.createUserGroupWithCreateAndUpdateDocumentPermission(userGroupName);
638+
await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId);
639+
testUserCookieAndToken = await umbracoApi.user.loginToUser(testUser.name, testUser.email, testUser.password);
640+
await umbracoUi.goToBackOffice();
641+
await umbracoUi.content.goToSection(ConstantHelper.sections.content, false);
642+
643+
// Act
644+
await umbracoUi.content.clickActionsMenuAtRoot();
645+
await umbracoUi.content.clickCreateActionMenuOption();
646+
await umbracoUi.content.chooseDocumentType(rootDocumentTypeName);
647+
await umbracoUi.content.enterContentName(testDocumentName);
648+
await umbracoUi.content.clickSaveButton();
649+
650+
// Assert
651+
await umbracoUi.content.waitForContentToBeCreated();
652+
expect(await umbracoApi.document.doesNameExist(testDocumentName)).toBeTruthy();
653+
// Update the content
654+
await umbracoUi.content.goToContentWithName(testDocumentName);
655+
await umbracoUi.content.isDocumentReadOnly(false);
656+
await umbracoUi.content.enterContentName(updatedDocumentName);
657+
await umbracoUi.content.clickSaveButton();
658+
await umbracoUi.content.isSuccessStateVisibleForSaveButton();
659+
expect(await umbracoApi.document.doesNameExist(updatedDocumentName)).toBeTruthy();
660+
await umbracoUi.content.doesDocumentHaveName(updatedDocumentName);
661+
662+
// Cleanup
663+
await umbracoApi.document.ensureNameNotExists(updatedDocumentName);
664+
});

tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermission.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,10 @@ test('cannot edit property values without UI write permission', async ({umbracoA
8989
await umbracoUi.content.isPropertyEditorUiWithNameReadOnly('text-box');
9090
});
9191

92-
// Remove .skip when the front-end is ready.
93-
// Issue link: https://github.com/umbraco/Umbraco-CMS/issues/19395
94-
test.skip('can edit property values with UI write permission', async ({umbracoApi, umbracoUi}) => {
92+
test('can edit property values with UI write permission', async ({umbracoApi, umbracoUi}) => {
9593
// Arrange
9694
const updatedText = 'Updated test text';
97-
userGroupId = await umbracoApi.userGroup.createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(userGroupName, true, false);
95+
userGroupId = await umbracoApi.userGroup.createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(userGroupName, true, true);
9896
await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId);
9997
testUserCookieAndToken = await umbracoApi.user.loginToUser(testUser.name, testUser.email, testUser.password);
10098
await umbracoUi.goToBackOffice();

tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/GranularPermissionsInContent.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,16 @@ test('can update a specific content with update permission enabled', async ({umb
178178

179179
// Act
180180
await umbracoUi.content.goToContentWithName(firstDocumentName);
181+
await umbracoUi.content.isDocumentReadOnly(false);
181182
await umbracoUi.content.enterContentName(testDocumentName);
182183
await umbracoUi.content.clickSaveButton();
183184

184185
// Assert
185186
await umbracoUi.content.isSuccessStateVisibleForSaveButton();
186187
expect(await umbracoApi.document.doesNameExist(testDocumentName)).toBeTruthy();
188+
await umbracoUi.content.goToContentWithName(secondDocumentName);
187189
await umbracoUi.content.isActionsMenuForNameVisible(secondDocumentName, false);
190+
await umbracoUi.content.isDocumentReadOnly(true);
188191
});
189192

190193
test('can duplicate a specific content with duplicate permission enabled', async ({umbracoApi, umbracoUi}) => {

0 commit comments

Comments
 (0)