From 09970713adb6de3e1a7c8608f3641edcc5d0c98a Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 11:20:36 +0100 Subject: [PATCH 1/8] Removed all the DeleteAllContent since I delete the doctypes in the before and after each functions which also deletes the content. --- .../blockListEditorContent.spec.ts | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts index 242f93d6cee8..e44a5cc87db6 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts @@ -128,8 +128,6 @@ test.describe('BlockListEditorContent', () => { }); test('can update content with a block list editor', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - await createContentWithOneBlockListEditor(umbracoApi, null); await umbracoUi.goToSection(ConstantHelper.sections.content); @@ -150,14 +148,9 @@ test.describe('BlockListEditorContent', () => { // Assert await umbracoUi.isSuccessNotificationVisible(); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can delete a block list editor in content', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - await createContentWithOneBlockListEditor(umbracoApi, null); await umbracoUi.goToSection(ConstantHelper.sections.content); @@ -179,14 +172,9 @@ test.describe('BlockListEditorContent', () => { // Checks if the content is actually deleted await expect(page.locator('[ui-sortable="vm.sortableOptions"]').nth(0)).not.toBeVisible(); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can copy block list content and paste it', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - await createContentWithOneBlockListEditor(umbracoApi, null); await umbracoUi.goToSection(ConstantHelper.sections.content); @@ -210,14 +198,9 @@ test.describe('BlockListEditorContent', () => { await expect(page.locator('.umb-block-list__block--view')).toHaveCount(2); await page.locator('.umb-block-list__block--view').nth(1).click(); await expect(page.locator('[id="sub-view-0"] >> [name="textbox"]')).toHaveValue('aliasTest'); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can copy block list content and paste it into another group with the same block list editor', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - const element = await umbracoApi.documentTypes.createDefaultElementType(elementName, elementAlias); const dataType = await createDefaultBlockList(umbracoApi, blockListName, element); @@ -268,14 +251,9 @@ test.describe('BlockListEditorContent', () => { await expect(page.locator('[data-element="group-aTheBlockListGroupTheSecond"] >> .umb-block-list__block--view')).toHaveCount(1); await page.locator('[data-element="group-aTheBlockListGroupTheSecond"] >> .umb-block-list__block--view').click(); await expect(page.locator('[id="sub-view-0"] >> [name="textbox"]')).toHaveValue('aliasTest'); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can set a minimum of required blocks in content with a block list editor', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - const element = await umbracoApi.documentTypes.createDefaultElementType(elementName, elementAlias); const dataTypeBlockList = new BlockListDataTypeBuilder() @@ -310,14 +288,9 @@ test.describe('BlockListEditorContent', () => { // Assert await umbracoUi.getSuccessNotification(); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can set a maximum of required blocks in content with a block list editor', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - const element = await umbracoApi.documentTypes.createDefaultElementType(elementName, elementAlias); const dataTypeBlockList = new BlockListDataTypeBuilder() @@ -378,14 +351,9 @@ test.describe('BlockListEditorContent', () => { // Assert await umbracoUi.getSuccessNotification(); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can use inline editing mode in content with a block list editor', async ({page, umbracoApi, umbracoUi}) => { - await umbracoApi.content.deleteAllContent(); - const element = await umbracoApi.documentTypes.createDefaultElementType(elementName, elementAlias); const dataTypeBlockList = new BlockListDataTypeBuilder() @@ -412,15 +380,11 @@ test.describe('BlockListEditorContent', () => { // Assert await expect(page.locator('[ui-sortable="vm.sortableOptions"]').nth(0).locator('[data-element="property-title"]')).toBeVisible(); - - // Clean - await umbracoApi.content.deleteAllContent(); }); test('can see rendered content with a block list editor', async ({page, umbracoApi, umbracoUi}) => { await umbracoApi.templates.ensureNameNotExists(documentName); await umbracoApi.partialViews.ensureNameNotExists(elementName + '.cshtml'); - await umbracoApi.content.deleteAllContent(); const element = new DocumentTypeBuilder() .withName(elementName) @@ -516,6 +480,5 @@ test.describe('BlockListEditorContent', () => { // Clean await umbracoApi.templates.ensureNameNotExists(documentName); await umbracoApi.partialViews.ensureNameNotExists(elementAlias + '.cshtml'); - await umbracoApi.content.deleteAllContent(); }); }); \ No newline at end of file From 183a04e24d5b8c6596b9d6f1ac94f8ae65426b17 Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 11:23:09 +0100 Subject: [PATCH 2/8] fixed the test so it selects the specific button! --- .../DataTypes/textBoxVariation.spec.ts | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts index cbdd445e20fd..e966c1a5e3d2 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts @@ -9,40 +9,40 @@ test.describe('Vary by culture for TextBox', () => { await umbracoApi.login(); }); - test('create documentType with vary by culture with UI with a textbox property which also has vary by culture', async ({page, umbracoApi, umbracoUi}) => { - const documentTypeName = 'Test Document'; - const textBoxPropertyName = 'TestBox'; - const groupName = 'textBoxGroup'; - - await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); - await umbracoApi.templates.ensureNameNotExists(documentTypeName); - - await umbracoUi.goToSection(ConstantHelper.sections.settings); - - // Creates document with a template - await umbracoUi.createNewDocumentTypeWithTemplate(); - - // Updates permission for document - await umbracoUi.updateDocumentPermissionsToAllowCultureVariant(); - - await umbracoUi.setEditorHeaderName(documentTypeName); - - // Adds a group with a TextBox editor - await umbracoUi.goToAddEditor(groupName,textBoxPropertyName); - await page.locator('[data-element="datatype-Textbox"]').click(); - await page.locator('[data-element="datatypeconfig-Textstring"]').click(); - await page.locator('[data-element="button-submit"]').click(); - - // Saves the document - await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); - - // Assert - await expect(page.locator('.umb-notifications__notifications > .alert-success')).toBeVisible(); - - // Clean - await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); - await umbracoApi.templates.ensureNameNotExists(documentTypeName); - }); + // test('create documentType with vary by culture with UI with a textbox property which also has vary by culture', async ({page, umbracoApi, umbracoUi}) => { + // const documentTypeName = 'Test Document'; + // const textBoxPropertyName = 'TestBox'; + // const groupName = 'textBoxGroup'; + // + // await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); + // await umbracoApi.templates.ensureNameNotExists(documentTypeName); + // + // await umbracoUi.goToSection(ConstantHelper.sections.settings); + // + // // Creates document with a template + // await umbracoUi.createNewDocumentTypeWithTemplate(); + // + // // Updates permission for document + // await umbracoUi.updateDocumentPermissionsToAllowCultureVariant(); + // + // await umbracoUi.setEditorHeaderName(documentTypeName); + // + // // Adds a group with a TextBox editor + // await umbracoUi.goToAddEditor(groupName,textBoxPropertyName); + // await page.locator('[data-element="datatype-Textbox"]').click(); + // await page.locator('[data-element="datatypeconfig-Textstring"]').click(); + // await page.locator('[data-element="button-submit"]').click(); + // + // // Saves the document + // await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); + // + // // Assert + // await expect(page.locator('.umb-notifications__notifications > .alert-success')).toBeVisible(); + // + // // Clean + // await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); + // await umbracoApi.templates.ensureNameNotExists(documentTypeName); + // }); test('create content with two languages with different text', async ({page, umbracoApi, umbracoUi}) => { const documentName = "Test Document"; @@ -98,7 +98,7 @@ test.describe('Vary by culture for TextBox', () => { // Assert await page.locator('.umb-variant-switcher__toggle').click(); await page.locator('.umb-variant-switcher__name-wrapper', {hasText: "English (United States)"}).hover(); - await page.locator('[role="button"]', {hasText: "Open in split view"}).click(); + await page.locator('[role="menuitem"]', {hasText:'English'}).locator('[role="button"]', {hasText: "Open in split view"}).click(); await expect(page.locator('[name="textbox"]').first()).toHaveValue(daValue); await expect(page.locator('[name="textbox"]').nth(1)).toHaveValue(enValue); From c29295a8ea5ce72ea7b6bbcfae265cdf360cbc1b Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 11:23:44 +0100 Subject: [PATCH 3/8] I was dumb and forgot to remove the out commented code --- .../DataTypes/textBoxVariation.spec.ts | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts index e966c1a5e3d2..b746eb99d35e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/textBoxVariation.spec.ts @@ -9,40 +9,40 @@ test.describe('Vary by culture for TextBox', () => { await umbracoApi.login(); }); - // test('create documentType with vary by culture with UI with a textbox property which also has vary by culture', async ({page, umbracoApi, umbracoUi}) => { - // const documentTypeName = 'Test Document'; - // const textBoxPropertyName = 'TestBox'; - // const groupName = 'textBoxGroup'; - // - // await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); - // await umbracoApi.templates.ensureNameNotExists(documentTypeName); - // - // await umbracoUi.goToSection(ConstantHelper.sections.settings); - // - // // Creates document with a template - // await umbracoUi.createNewDocumentTypeWithTemplate(); - // - // // Updates permission for document - // await umbracoUi.updateDocumentPermissionsToAllowCultureVariant(); - // - // await umbracoUi.setEditorHeaderName(documentTypeName); - // - // // Adds a group with a TextBox editor - // await umbracoUi.goToAddEditor(groupName,textBoxPropertyName); - // await page.locator('[data-element="datatype-Textbox"]').click(); - // await page.locator('[data-element="datatypeconfig-Textstring"]').click(); - // await page.locator('[data-element="button-submit"]').click(); - // - // // Saves the document - // await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); - // - // // Assert - // await expect(page.locator('.umb-notifications__notifications > .alert-success')).toBeVisible(); - // - // // Clean - // await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); - // await umbracoApi.templates.ensureNameNotExists(documentTypeName); - // }); + test('create documentType with vary by culture with UI with a textbox property which also has vary by culture', async ({page, umbracoApi, umbracoUi}) => { + const documentTypeName = 'Test Document'; + const textBoxPropertyName = 'TestBox'; + const groupName = 'textBoxGroup'; + + await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); + await umbracoApi.templates.ensureNameNotExists(documentTypeName); + + await umbracoUi.goToSection(ConstantHelper.sections.settings); + + // Creates document with a template + await umbracoUi.createNewDocumentTypeWithTemplate(); + + // Updates permission for document + await umbracoUi.updateDocumentPermissionsToAllowCultureVariant(); + + await umbracoUi.setEditorHeaderName(documentTypeName); + + // Adds a group with a TextBox editor + await umbracoUi.goToAddEditor(groupName,textBoxPropertyName); + await page.locator('[data-element="datatype-Textbox"]').click(); + await page.locator('[data-element="datatypeconfig-Textstring"]').click(); + await page.locator('[data-element="button-submit"]').click(); + + // Saves the document + await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); + + // Assert + await expect(page.locator('.umb-notifications__notifications > .alert-success')).toBeVisible(); + + // Clean + await umbracoApi.documentTypes.ensureNameNotExists(documentTypeName); + await umbracoApi.templates.ensureNameNotExists(documentTypeName); + }); test('create content with two languages with different text', async ({page, umbracoApi, umbracoUi}) => { const documentName = "Test Document"; From 6a12c2a6a546e292d3033bbcc9f74a3e181f4681 Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 11:24:05 +0100 Subject: [PATCH 4/8] Added additional timeout so the pipeline has more time --- .../tests/DefaultConfig/DataTypes/dataTypes.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/dataTypes.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/dataTypes.spec.ts index 208f2b270859..bc9b64482045 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/dataTypes.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/dataTypes.spec.ts @@ -54,7 +54,7 @@ test.describe('DataTypes', () => { // Assert const expected = `

Lorem ipsum dolor sit amet

`; await expect(umbracoApi.content.verifyRenderedContent('/', expected, true)).toBeTruthy(); - await expect(await page.locator('.umb-button__overlay')).not.toBeVisible(); + await expect(await page.locator('.umb-button__overlay')).not.toBeVisible({timeout: 10000}); // Pick another colour to verify both work await page.locator('.btn-FF0000').click(); @@ -62,7 +62,7 @@ test.describe('DataTypes', () => { // Save await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.saveAndPublish)); await umbracoUi.isSuccessNotificationVisible(); - await expect(await page.locator('.umb-button__overlay')).not.toBeVisible(); + await expect(await page.locator('.umb-button__overlay')).not.toBeVisible({timeout: 10000}); // Assert const expected2 = '

Lorem ipsum dolor sit amet

'; @@ -174,7 +174,7 @@ test.describe('DataTypes', () => { // Assert await expect(await umbracoUi.getErrorNotification()).not.toBeVisible(); - + // Testing if the edits match the expected results const expected = 'UrlPickerContent'; await expect(await umbracoApi.content.verifyRenderedContent('/', expected, true)).toBeTruthy(); From 4e1b897ee2badca9d04a7f52ebb6306ab3e93a9c Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 13:01:09 +0100 Subject: [PATCH 5/8] Removed language in settings because it was a duplicate of languages / languages --- .../DefaultConfig/Settings/languages.spec.ts | 65 ------------------- 1 file changed, 65 deletions(-) delete mode 100644 tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/languages.spec.ts diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/languages.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/languages.spec.ts deleted file mode 100644 index 41b4f4d0a797..000000000000 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/languages.spec.ts +++ /dev/null @@ -1,65 +0,0 @@ -import {test, ApiHelpers, UiHelpers, ConstantHelper} from '@umbraco/playwright-testhelpers'; -import {expect} from "@playwright/test"; - -test.describe('Languages', () => { - test.beforeEach(async ({ page, umbracoApi }, testInfo) => { - await umbracoApi.report.report(testInfo); - await umbracoApi.login(); - }); - - test('Can add language', async ({ page, umbracoApi, umbracoUi }) => { - // For some reason the languages to chose from seems to be translated differently than normal, as an example: - // My system is set to EN (US), but most languages are translated into Danish for some reason - // Aghem seems untranslated though? - const name = "Aghem"; // Must be an option in the select box - - await umbracoApi.languages.ensureNameNotExists(name); - - await umbracoUi.goToSection(ConstantHelper.sections.settings); - await umbracoUi.waitForTreeLoad(ConstantHelper.sections.settings); - - await umbracoUi.clickElement(umbracoUi.getTreeItem("settings", ["Languages"])); - await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey("languages_addLanguage")); - - await page.locator('select[name="newLang"]').selectOption({label: name}); - await page.locator('.btn-success').click(); - - await umbracoUi.isSuccessNotificationVisible(); - - await umbracoApi.languages.ensureNameNotExists(name); - }); - - test('Deletes language', async ({ page, umbracoApi, umbracoUi }) => { - - // Setup - const language1 = 'da'; - const language2 = 'en-GB'; - await umbracoApi.languages.ensureCultureNotExists(language1); - await umbracoApi.languages.ensureCultureNotExists(language2); - - await umbracoApi.languages.createLanguage(language1, true, 1); - await umbracoApi.languages.createLanguage(language2, true, 1); - - //Enter settings section and wait for everything to load - await umbracoUi.goToSection(ConstantHelper.sections.settings); - await umbracoUi.waitForTreeLoad(ConstantHelper.sections.settings); - - // Enter language tree and select the language we just created - await umbracoUi.clickElement(umbracoUi.getTreeItem('settings', ['Languages'])); - - // Assert there are 3 languages - let languages = page.locator('tbody > tr'); - await expect(languages).toHaveCount(3); - - // Delete UK Language - await page.locator('umb-button[label-key="general_delete"]').last().click(); - await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey('contentTypeEditor_yesDelete')); - - // Assert there is only 2 languages - await expect(page.locator('tbody > tr')).toHaveCount(2); - - // Cleanup - await umbracoApi.languages.ensureCultureNotExists(language1); - await umbracoApi.languages.ensureCultureNotExists(language2); - }); -}); From 81607382a0e39ea344aedd848848a58e3448b624 Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 13:02:13 +0100 Subject: [PATCH 6/8] Fixed the tests so they now check if each individual language that was created actually exists instead of checking for how many languages there are which could be flaky if another test touching the languages failed --- .../DefaultConfig/Languages/languages.spec.ts | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Languages/languages.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Languages/languages.spec.ts index d12ca7367804..e28b0ee34187 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Languages/languages.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Languages/languages.spec.ts @@ -24,7 +24,11 @@ test.describe('Languages', () => { // Save and assert success await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); await umbracoUi.isSuccessNotificationVisible(); + // await expect(umbracoApi.languages.exists(culture)).toBe(true); + const doesExistDA = await umbracoApi.languages.exists(culture); + await expect(doesExistDA).toBe(true); + // Cleanup await umbracoApi.languages.ensureCultureNotExists(culture); }); @@ -45,17 +49,27 @@ test.describe('Languages', () => { // Enter language tree and select the language we just created await umbracoUi.clickElement(umbracoUi.getTreeItem('settings', ['languages'])); - - // Assert there are 3 languages - await expect(await page.locator('tbody > tr')).toHaveCount(3); + + // Assert that the 2 languages exists + // DA + let doesExistDA = await umbracoApi.languages.exists(language1); + await expect(doesExistDA).toBe(true); + // EN + let doesExistEN = await umbracoApi.languages.exists(language2); + await expect(doesExistEN).toBe(true); // Delete UK Language await page.locator('umb-button[label-key="general_delete"]').last().click(); await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey('contentTypeEditor_yesDelete')); - // Assert there is only 2 languages - await expect(await page.locator('tbody > tr')).toHaveCount(2); - + // Assert the da language still exists and that the uk is deleted + // DA + doesExistDA = await umbracoApi.languages.exists(language1); + await expect(doesExistDA).toBe(true); + // EN + doesExistEN = await umbracoApi.languages.exists(language2); + await expect(doesExistEN).toBe(false); + // Cleanup await umbracoApi.languages.ensureCultureNotExists(language1); await umbracoApi.languages.ensureCultureNotExists(language2); From 98574235023a8d19880ef331f8f2a94590e3d3f0 Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 13:22:49 +0100 Subject: [PATCH 7/8] Bumped version --- .../Umbraco.Tests.AcceptanceTest/package-lock.json | 14 +++++++------- tests/Umbraco.Tests.AcceptanceTest/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/package-lock.json b/tests/Umbraco.Tests.AcceptanceTest/package-lock.json index 309845da229e..a7a1c674346d 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package-lock.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package-lock.json @@ -8,7 +8,7 @@ "hasInstallScript": true, "dependencies": { "@umbraco/json-models-builders": "^1.0.2", - "@umbraco/playwright-testhelpers": "^1.0.19", + "@umbraco/playwright-testhelpers": "^1.0.20", "camelize": "^1.0.0", "dotenv": "^16.0.2", "faker": "^4.1.0", @@ -138,9 +138,9 @@ } }, "node_modules/@umbraco/playwright-testhelpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-1.0.19.tgz", - "integrity": "sha512-NLZHRrWkfjzLoBc6RagQkbggT1awYARlmHNw50Aih566o+BnzkZ3usW0J8bvU4rW+8BbkClvOqUDCOP5vSYbVA==", + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-1.0.20.tgz", + "integrity": "sha512-V+0ZmaFmvWicHaZFkGako8FjDA6UvwOkKpHwCIy0xLAEuhLLTEb6yCH61WydAn2BqY7Ft0xUPMvbKMURYddkjA==", "dependencies": { "@umbraco/json-models-builders": "^1.0.2", "camelize": "^1.0.0", @@ -1064,9 +1064,9 @@ } }, "@umbraco/playwright-testhelpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-1.0.19.tgz", - "integrity": "sha512-NLZHRrWkfjzLoBc6RagQkbggT1awYARlmHNw50Aih566o+BnzkZ3usW0J8bvU4rW+8BbkClvOqUDCOP5vSYbVA==", + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-1.0.20.tgz", + "integrity": "sha512-V+0ZmaFmvWicHaZFkGako8FjDA6UvwOkKpHwCIy0xLAEuhLLTEb6yCH61WydAn2BqY7Ft0xUPMvbKMURYddkjA==", "requires": { "@umbraco/json-models-builders": "^1.0.2", "camelize": "^1.0.0", diff --git a/tests/Umbraco.Tests.AcceptanceTest/package.json b/tests/Umbraco.Tests.AcceptanceTest/package.json index 4b5fd80ae8da..6589bea5b913 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@umbraco/json-models-builders": "^1.0.2", - "@umbraco/playwright-testhelpers": "^1.0.19", + "@umbraco/playwright-testhelpers": "^1.0.20", "camelize": "^1.0.0", "faker": "^4.1.0", "form-data": "^4.0.0", From 4493ef7eb15db3729dfbb3c5e4de9d5cc539496d Mon Sep 17 00:00:00 2001 From: Andreas Zerbst Date: Thu, 1 Dec 2022 14:43:39 +0100 Subject: [PATCH 8/8] Added a better locator for the buttons and increased timeouts --- .../Settings/partialViewMacroFiles.spec.ts | 16 ++++++++-------- .../DefaultConfig/Settings/partialViews.spec.ts | 7 ++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViewMacroFiles.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViewMacroFiles.spec.ts index 15b9202e28f7..d4d9d42997c1 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViewMacroFiles.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViewMacroFiles.spec.ts @@ -35,10 +35,10 @@ test.describe('Partial View Macro Files', () => { await umbracoUi.setEditorHeaderName(name); //Save - await page.locator('.btn-success').click(); + await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); //Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); //Clean up await cleanup(umbracoApi, name); @@ -55,12 +55,12 @@ test.describe('Partial View Macro Files', () => { // Type name await umbracoUi.setEditorHeaderName(name); - + // Save - await page.locator('.btn-success').click(); + await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); // Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); // Clean await cleanup(umbracoApi, name); @@ -82,10 +82,10 @@ test.describe('Partial View Macro Files', () => { await umbracoUi.setEditorHeaderName(name); // Save - await page.locator('.btn-success').click(); + await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); // Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); // Clean await cleanup(umbracoApi, name); @@ -145,7 +145,7 @@ test.describe('Partial View Macro Files', () => { await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); // Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); await cleanup(umbracoApi, name); }); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts index 56fbe936a91f..12343a66de9d 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts @@ -37,7 +37,7 @@ test.describe('Partial Views', () => { await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); //Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); //Clean up await umbracoApi.partialViews.ensureNameNotExists(fileName); @@ -63,7 +63,7 @@ test.describe('Partial Views', () => { await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); // Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); // Clean up await umbracoApi.partialViews.ensureNameNotExists(fileName); @@ -135,7 +135,8 @@ test.describe('Partial Views', () => { await umbracoUi.clickElement(umbracoUi.getButtonByLabelKey(ConstantHelper.buttons.save)); // Assert - await umbracoUi.isSuccessNotificationVisible(); + await umbracoUi.isSuccessNotificationVisible({timeout:10000}); + // Clean await umbracoApi.partialViews.ensureNameNotExists(fileName); });