V14 QA updated dictionary naming in E2E test (#16657)

* Updated naming

* Bumped version of helper
This commit is contained in:
Andreas Zerbst
2024-06-25 17:24:47 +02:00
committed by GitHub
parent 37d22766b1
commit 0b868638e0
3 changed files with 60 additions and 60 deletions

View File

@@ -8,7 +8,7 @@
"hasInstallScript": true,
"dependencies": {
"@umbraco/json-models-builders": "^2.0.7",
"@umbraco/playwright-testhelpers": "^2.0.0-beta.61",
"@umbraco/playwright-testhelpers": "^2.0.0-beta.63",
"camelize": "^1.0.0",
"dotenv": "^16.3.1",
"faker": "^4.1.0",
@@ -146,9 +146,9 @@
"integrity": "sha512-9tCqYEDHI5RYFQigXFwF1hnCwcWCOJl/hmll0lr5D2Ljjb0o4wphb69wikeJDz5qCEzXCoPvG6ss5SDP6IfOdg=="
},
"node_modules/@umbraco/playwright-testhelpers": {
"version": "2.0.0-beta.61",
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-2.0.0-beta.61.tgz",
"integrity": "sha512-Y2RqGrjfLDCZGDPyix4r8LoSl/YaluzY8RHLlkdcbL5GojDprzfB0jN9P3ZbrCDvnu9hydA8qE6ElPq/Zw5qXw==",
"version": "2.0.0-beta.63",
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-2.0.0-beta.63.tgz",
"integrity": "sha512-fLXUcWNJupfGKkD6zOGg6WcU5cmqQ6gQkyIyG+UsKSrkgCxK23+N5LrOz2OVp2NZ8GQ8kB5pJ4izvCp+yMMOnA==",
"dependencies": {
"@umbraco/json-models-builders": "2.0.7",
"camelize": "^1.0.0",

View File

@@ -22,7 +22,7 @@
},
"dependencies": {
"@umbraco/json-models-builders": "^2.0.7",
"@umbraco/playwright-testhelpers": "^2.0.0-beta.61",
"@umbraco/playwright-testhelpers": "^2.0.0-beta.63",
"camelize": "^1.0.0",
"dotenv": "^16.3.1",
"faker": "^4.1.0",

View File

@@ -15,64 +15,64 @@ test.afterEach(async ({umbracoApi}) => {
test('can create a dictionary item', async ({umbracoApi, umbracoUi}) => {
// Arrange
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickCreateLink();
await umbracoUi.translation.enterDictionaryName(dictionaryName);
await umbracoUi.translation.clickSaveButton();
await umbracoUi.dictionary.clickCreateLink();
await umbracoUi.dictionary.enterDictionaryName(dictionaryName);
await umbracoUi.dictionary.clickSaveButton();
// Assert
expect(await umbracoApi.dictionary.doesNameExist(dictionaryName)).toBeTruthy();
await umbracoUi.translation.isSuccessNotificationVisible();
await umbracoUi.translation.clickLeftArrowButton();
await umbracoUi.dictionary.isSuccessNotificationVisible();
await umbracoUi.dictionary.clickLeftArrowButton();
// Verify the dictionary item displays in the tree and in the list
await umbracoUi.translation.isDictionaryTreeItemVisible(dictionaryName);
expect(await umbracoUi.translation.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
await umbracoUi.dictionary.isDictionaryTreeItemVisible(dictionaryName);
expect(await umbracoUi.dictionary.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
});
test('can delete a dictionary item', async ({umbracoApi, umbracoUi}) => {
// Arrange
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.translation.deleteDictionary();
await umbracoUi.dictionary.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.dictionary.deleteDictionary();
// Assert
await umbracoUi.translation.isSuccessNotificationVisible();
await umbracoUi.dictionary.isSuccessNotificationVisible();
expect(await umbracoApi.dictionary.doesNameExist(dictionaryName)).toBeFalsy();
// Verify the dictionary item does not display in the tree
await umbracoUi.translation.isDictionaryTreeItemVisible(dictionaryName, false);
await umbracoUi.dictionary.isDictionaryTreeItemVisible(dictionaryName, false);
// TODO: Uncomment this when the front-end is ready. Currently the dictionary list is not updated immediately.
// Verify the dictionary item does not display in the list
//expect(await umbracoUi.translation.doesDictionaryListHaveText(dictionaryName)).toBeFalsy();
//expect(await umbracoUi.dictionary.doesDictionaryListHaveText(dictionaryName)).toBeFalsy();
});
test('can create a dictionary item in a dictionary', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => {
// Arrange
await umbracoApi.dictionary.ensureNameNotExists(parentDictionaryName);
let parentDictionaryId = await umbracoApi.dictionary.create(parentDictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(parentDictionaryName);
await umbracoUi.translation.clickCreateDictionaryItemButton();
await umbracoUi.translation.enterDictionaryName(dictionaryName);
await umbracoUi.translation.clickSaveButton();
await umbracoUi.dictionary.clickActionsMenuForDictionary(parentDictionaryName);
await umbracoUi.dictionary.clickCreateDictionaryItemButton();
await umbracoUi.dictionary.enterDictionaryName(dictionaryName);
await umbracoUi.dictionary.clickSaveButton();
// Assert
await umbracoUi.translation.isSuccessNotificationVisible();
await umbracoUi.dictionary.isSuccessNotificationVisible();
const dictionaryChildren = await umbracoApi.dictionary.getChildren(parentDictionaryId);
expect(dictionaryChildren[0].name).toEqual(dictionaryName);
await umbracoUi.translation.clickLeftArrowButton();
await umbracoUi.dictionary.clickLeftArrowButton();
// Verify the new dictionary item displays in the list
expect(await umbracoUi.translation.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
expect(await umbracoUi.dictionary.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
// Verify the new dictionary item displays in the tree
await umbracoUi.translation.reloadTree(parentDictionaryName);
await umbracoUi.translation.isDictionaryTreeItemVisible(dictionaryName);
await umbracoUi.dictionary.reloadTree(parentDictionaryName);
await umbracoUi.dictionary.isDictionaryTreeItemVisible(dictionaryName);
// Clean
await umbracoApi.dictionary.ensureNameNotExists(parentDictionaryName);
@@ -82,12 +82,12 @@ test('can export a dictionary item', async ({umbracoApi, umbracoUi}) => {
// Arrange
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
const dictionaryId = await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.translation.clickExportMenu();
const exportData = await umbracoUi.translation.exportDictionary(false);
await umbracoUi.dictionary.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.dictionary.clickExportMenu();
const exportData = await umbracoUi.dictionary.exportDictionary(false);
// Assert
expect(exportData).toEqual(dictionaryId + '.udt');
@@ -98,12 +98,12 @@ test('can export a dictionary item with descendants', {tag: '@smoke'}, async ({u
await umbracoApi.dictionary.ensureNameNotExists(parentDictionaryName);
let parentDictionaryId = await umbracoApi.dictionary.create(parentDictionaryName);
await umbracoApi.dictionary.create(dictionaryName, [], parentDictionaryId);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(parentDictionaryName);
await umbracoUi.translation.clickExportMenu();
const exportData = await umbracoUi.translation.exportDictionary(true);
await umbracoUi.dictionary.clickActionsMenuForDictionary(parentDictionaryName);
await umbracoUi.dictionary.clickExportMenu();
const exportData = await umbracoUi.dictionary.exportDictionary(true);
// Assert
expect(exportData).toEqual(parentDictionaryId + '.udt');
@@ -119,20 +119,20 @@ test('can import a dictionary item', async ({umbracoApi, umbracoUi}) => {
const importDictionaryName = 'TestImportDictionary';
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.translation.clickImportMenu();
await umbracoUi.translation.importDictionary(udtFilePath);
await umbracoUi.dictionary.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.dictionary.clickImportMenu();
await umbracoUi.dictionary.importDictionary(udtFilePath);
// Assert
// Verify the imported dictionary item displays in the tree
await umbracoUi.translation.reloadTree(dictionaryName);
await umbracoUi.translation.isDictionaryTreeItemVisible(importDictionaryName);
await umbracoUi.dictionary.reloadTree(dictionaryName);
await umbracoUi.dictionary.isDictionaryTreeItemVisible(importDictionaryName);
// TODO: Uncomment this when the front-end is ready. Currently the dictionary list is not updated immediately.
// Verify the imported dictionary item displays in the list
//expect(await umbracoUi.translation.doesDictionaryListHaveText(importDictionaryName)).toBeTruthy();
//expect(await umbracoUi.dictionary.doesDictionaryListHaveText(importDictionaryName)).toBeTruthy();
});
test('can import a dictionary item with descendants', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => {
@@ -143,23 +143,23 @@ test('can import a dictionary item with descendants', {tag: '@smoke'}, async ({u
const importChildDictionaryName = 'TestImportChild';
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.translation.clickImportMenu();
await umbracoUi.translation.importDictionary(udtFilePath);
await umbracoUi.dictionary.clickActionsMenuForDictionary(dictionaryName);
await umbracoUi.dictionary.clickImportMenu();
await umbracoUi.dictionary.importDictionary(udtFilePath);
// Assert
// Verify the imported dictionary items display in the tree
await umbracoUi.translation.reloadTree(dictionaryName);
await umbracoUi.translation.isDictionaryTreeItemVisible(importParentDictionaryName);
await umbracoUi.translation.reloadTree(importParentDictionaryName);
await umbracoUi.translation.isDictionaryTreeItemVisible(importChildDictionaryName);
await umbracoUi.dictionary.reloadTree(dictionaryName);
await umbracoUi.dictionary.isDictionaryTreeItemVisible(importParentDictionaryName);
await umbracoUi.dictionary.reloadTree(importParentDictionaryName);
await umbracoUi.dictionary.isDictionaryTreeItemVisible(importChildDictionaryName);
// TODO: Uncomment this when the front-end is ready. Currently the dictionary list is not updated immediately.
// Verify the imported dictionary items display in the list
//expect(await umbracoUi.translation.doesDictionaryListHaveText(importParentDictionaryName)).toBeTruthy();
//expect(await umbracoUi.translation.doesDictionaryListHaveText(importChildDictionaryName)).toBeTruthy();
//expect(await umbracoUi.dictionary.doesDictionaryListHaveText(importParentDictionaryName)).toBeTruthy();
//expect(await umbracoUi.dictionary.doesDictionaryListHaveText(importChildDictionaryName)).toBeTruthy();
});
// Skip this test as the search function is removed
@@ -167,13 +167,13 @@ test.skip('can search a dictionary item in list when have results', async ({umbr
// Arrange
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.enterSearchKeywordAndPressEnter(dictionaryName);
await umbracoUi.dictionary.enterSearchKeywordAndPressEnter(dictionaryName);
// Assert
expect(await umbracoUi.translation.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
expect(await umbracoUi.dictionary.doesDictionaryListHaveText(dictionaryName)).toBeTruthy();
});
// Skip this test as the search function is removed
@@ -182,11 +182,11 @@ test.skip('can search a dictionary item in list when have no results', async ({u
const emptySearchResultMessage = 'No Dictionary items to choose from';
await umbracoApi.dictionary.ensureNameNotExists(dictionaryName);
await umbracoApi.dictionary.create(dictionaryName);
await umbracoUi.translation.goToSection(ConstantHelper.sections.translation);
await umbracoUi.dictionary.goToSection(ConstantHelper.sections.dictionary);
// Act
await umbracoUi.translation.enterSearchKeywordAndPressEnter('xyz');
await umbracoUi.dictionary.enterSearchKeywordAndPressEnter('xyz');
// Assert
await umbracoUi.translation.isSearchResultMessageDisplayEmpty(emptySearchResultMessage);
await umbracoUi.dictionary.isSearchResultMessageDisplayEmpty(emptySearchResultMessage);
});