E2E nightly pipeline: QA Fix failing acceptance tests for invalid cases (#20289)

* Updated steps to verify the error validation message

* Updated default extension for Tiptap

* Removed skip tag for fixed smoke tests

* Bumped version
This commit is contained in:
Nhu Dinh
2025-09-29 20:12:38 +07:00
committed by GitHub
parent a30f837384
commit 1ca7f3162f
9 changed files with 19 additions and 20 deletions

View File

@@ -8,7 +8,7 @@
"hasInstallScript": true,
"dependencies": {
"@umbraco/json-models-builders": "^2.0.40",
"@umbraco/playwright-testhelpers": "^16.0.47",
"@umbraco/playwright-testhelpers": "^16.0.48",
"camelize": "^1.0.0",
"dotenv": "^16.3.1",
"node-fetch": "^2.6.7"
@@ -67,9 +67,9 @@
}
},
"node_modules/@umbraco/playwright-testhelpers": {
"version": "16.0.47",
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-16.0.47.tgz",
"integrity": "sha512-N88UCvjqCwJMRCu5wUmW2xxPVqEMR0sKGDlUsko9EejvyyJBFSE00PRGyWo6lPuYxAy4LkkONwIWBATWiry7xg==",
"version": "16.0.48",
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-16.0.48.tgz",
"integrity": "sha512-bwaa0bTzSJsNiQosPsso7mhTtC91KLNgtcce4/fRlRcbUO2kESsUBqOfl5CVhyWT7BQWtWFDTrSbHlpXzzX1Yw==",
"license": "MIT",
"dependencies": {
"@umbraco/json-models-builders": "2.0.40",

View File

@@ -22,7 +22,7 @@
},
"dependencies": {
"@umbraco/json-models-builders": "^2.0.40",
"@umbraco/playwright-testhelpers": "^16.0.47",
"@umbraco/playwright-testhelpers": "^16.0.48",
"camelize": "^1.0.0",
"dotenv": "^16.3.1",
"node-fetch": "^2.6.7"

View File

@@ -93,11 +93,11 @@ test('can not publish a mandatory checkbox list with an empty value', {tag: '@re
await umbracoUi.content.goToContentWithName(contentName);
// Do not select any checkbox list values and the validation error appears
await umbracoUi.content.clickSaveAndPublishButton();
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue);
await umbracoUi.content.doesErrorNotificationHaveText(NotificationConstantHelper.error.documentCouldNotBePublished);
// Select a checkbox list value and the validation error disappears
await umbracoUi.content.chooseCheckboxListOption(optionValues[0]);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue, false);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue, false);
await umbracoUi.content.clickSaveAndPublishButton();
// Assert

View File

@@ -96,11 +96,11 @@ test('can not publish a mandatory dropdown with an empty value', {tag: '@release
await umbracoUi.content.goToContentWithName(contentName);
// Do not select any dropdown values and the validation error appears
await umbracoUi.content.clickSaveAndPublishButton();
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue);
await umbracoUi.content.doesErrorNotificationHaveText(NotificationConstantHelper.error.documentCouldNotBePublished);
// Select a dropdown value and the validation error disappears
await umbracoUi.content.chooseDropdownOption([optionValues[0]]);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue, false);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue, false);
await umbracoUi.content.clickSaveAndPublishButton();
// Assert

View File

@@ -96,11 +96,11 @@ test('can not publish mandatory radiobox with an empty value', {tag: '@release'}
await umbracoUi.content.goToContentWithName(contentName);
// Do not select any radiobox values and the validation error appears
await umbracoUi.content.clickSaveAndPublishButton();
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue);
await umbracoUi.content.doesErrorNotificationHaveText(NotificationConstantHelper.error.documentCouldNotBePublished);
// Select a radiobox value and the validation error disappears
await umbracoUi.content.chooseRadioboxOption(optionValues[0]);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.emptyValue, false);
await umbracoUi.content.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue, false);
await umbracoUi.content.clickSaveAndPublishButton();
// Assert

View File

@@ -240,9 +240,7 @@ test('can remove a icon color from a block', async ({umbracoApi, umbracoUi}) =>
expect(await umbracoApi.dataType.doesBlockEditorBlockContainIconColor(blockGridEditorName, contentElementTypeId, '')).toBeTruthy();
});
// Remove skip when the front-end is ready. Currently it is not possible to add a thumbnail to a block
// Issue link: https://github.com/umbraco/Umbraco-CMS/issues/20264
test.skip('can add a thumbnail to a block', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => {
test('can add a thumbnail to a block', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => {
// Arrange
const mediaName = 'TestMedia';
await umbracoApi.media.ensureNameNotExists(mediaName);

View File

@@ -8,6 +8,7 @@ const tipTapUiAlias = 'Umb.PropertyEditorUi.Tiptap';
const extensionsDefaultValue = [
"Umb.Tiptap.RichTextEssentials",
"Umb.Tiptap.Anchor",
"Umb.Tiptap.Block",
"Umb.Tiptap.Blockquote",
"Umb.Tiptap.Bold",
"Umb.Tiptap.BulletList",
@@ -35,8 +36,7 @@ const extensionsDefaultValue = [
"Umb.Tiptap.TextDirection",
"Umb.Tiptap.TextIndent",
"Umb.Tiptap.TrailingNode",
"Umb.Tiptap.Underline",
"Umb.Tiptap.WordCount"
"Umb.Tiptap.Underline"
];
const toolbarDefaultValue = [

View File

@@ -25,7 +25,8 @@ test('can not create a empty media file', {tag: '@release'}, async ({umbracoApi,
await umbracoUi.media.clickSaveButton();
// Assert
await umbracoUi.media.isErrorNotificationVisible();
await umbracoUi.media.isFailedStateButtonVisible();
await umbracoUi.media.isValidationMessageVisible(ConstantHelper.validationMessages.nullValue);
await umbracoUi.media.isMediaTreeItemVisible(mediaFileName, false);
expect(await umbracoApi.media.doesNameExist(mediaFileName)).toBeFalsy();
});

View File

@@ -1,4 +1,4 @@
import {NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers';
import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers';
import {expect} from "@playwright/test";
let memberId = '';
@@ -241,7 +241,7 @@ test('cannot create member with invalid email', {tag: '@release'}, async ({umbra
// Assert
await umbracoUi.member.isFailedStateButtonVisible();
await umbracoUi.member.doesErrorNotificationHaveText(NotificationConstantHelper.error.invalidEmail);
await umbracoUi.member.isValidationMessageVisible(ConstantHelper.validationMessages.invalidEmail);
expect(await umbracoApi.member.doesNameExist(memberName)).toBeFalsy();
});
@@ -259,7 +259,7 @@ test('cannot update email to an invalid email', async ({umbracoApi, umbracoUi})
// Assert
await umbracoUi.member.isFailedStateButtonVisible();
await umbracoUi.member.isErrorNotificationVisible();
await umbracoUi.member.isValidationMessageVisible(ConstantHelper.validationMessages.invalidEmail);
const memberData = await umbracoApi.member.get(memberId);
expect(memberData.email).toBe(email);
});