Skip to content

Commit b106305

Browse files
authored
V15 QA Added acceptance tests for tiptap style select (#19234)
1 parent 103631d commit b106305

File tree

3 files changed

+119
-5
lines changed

3 files changed

+119
-5
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.33",
24-
"@umbraco/playwright-testhelpers": "^15.0.49",
24+
"@umbraco/playwright-testhelpers": "^15.0.50",
2525
"camelize": "^1.0.0",
2626
"dotenv": "^16.3.1",
2727
"node-fetch": "^2.6.7"
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers';
2+
import {expect} from "@playwright/test";
3+
4+
const contentName = 'TestContent';
5+
const documentTypeName = 'TestDocumentTypeForContent';
6+
const customDataTypeName = 'Test RTE Tiptap Style Select';
7+
const inputText = 'This is Tiptap test';
8+
9+
test.beforeEach(async ({umbracoApi, umbracoUi}) => {
10+
const customDataTypeId = await umbracoApi.dataType.createTiptapDataTypeWithStyleSelect(customDataTypeName);
11+
const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, customDataTypeName, customDataTypeId);
12+
await umbracoApi.document.createDefaultDocument(contentName, documentTypeId);
13+
await umbracoUi.goToBackOffice();
14+
await umbracoUi.content.goToSection(ConstantHelper.sections.content);
15+
await umbracoUi.content.goToContentWithName(contentName);
16+
await umbracoUi.content.enterRTETipTapEditor(inputText);
17+
await umbracoUi.content.selectAllRTETipTapEditorText();
18+
})
19+
20+
test.afterEach(async ({umbracoApi}) => {
21+
await umbracoApi.document.ensureNameNotExists(contentName);
22+
await umbracoApi.documentType.ensureNameNotExists(documentTypeName);
23+
await umbracoApi.dataType.ensureNameNotExists(customDataTypeName);
24+
});
25+
26+
test('can apply page header format', async ({umbracoApi, umbracoUi}) => {
27+
// Arrange
28+
await umbracoUi.content.clickStyleSelectButton();
29+
30+
// Act
31+
await umbracoUi.content.hoverCascadingMenuItemWithName('Headers');
32+
await umbracoUi.content.clickCascadingMenuItemWithName('Page header');
33+
await umbracoUi.content.clickSaveButton();
34+
35+
// Assert
36+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
37+
const contentData = await umbracoApi.document.getByName(contentName);
38+
expect(contentData.values[0].value.markup).toEqual('<h2>' + inputText + '</h2><p></p>');
39+
});
40+
41+
test('can apply section header format', async ({umbracoApi, umbracoUi}) => {
42+
// Arrange
43+
await umbracoUi.content.clickStyleSelectButton();
44+
45+
// Act
46+
await umbracoUi.content.hoverCascadingMenuItemWithName('Headers');
47+
await umbracoUi.content.clickCascadingMenuItemWithName('Section header');
48+
await umbracoUi.content.clickSaveButton();
49+
50+
// Assert
51+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
52+
const contentData = await umbracoApi.document.getByName(contentName);
53+
expect(contentData.values[0].value.markup).toEqual('<h3>' + inputText + '</h3><p></p>');
54+
});
55+
56+
test('can apply paragraph header format', async ({umbracoApi, umbracoUi}) => {
57+
// Arrange
58+
await umbracoUi.content.clickStyleSelectButton();
59+
60+
// Act
61+
await umbracoUi.content.hoverCascadingMenuItemWithName('Headers');
62+
await umbracoUi.content.clickCascadingMenuItemWithName('Paragraph header');
63+
await umbracoUi.content.clickSaveButton();
64+
65+
// Assert
66+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
67+
const contentData = await umbracoApi.document.getByName(contentName);
68+
expect(contentData.values[0].value.markup).toEqual('<h4>' + inputText + '</h4><p></p>');
69+
});
70+
71+
test('can apply paragraph blocks format', async ({umbracoApi, umbracoUi}) => {
72+
// Arrange
73+
await umbracoUi.content.clickStyleSelectButton();
74+
75+
// Act
76+
await umbracoUi.content.hoverCascadingMenuItemWithName('Blocks');
77+
await umbracoUi.content.clickCascadingMenuItemWithName('Paragraph');
78+
await umbracoUi.content.clickSaveButton();
79+
80+
// Assert
81+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
82+
const contentData = await umbracoApi.document.getByName(contentName);
83+
expect(contentData.values[0].value.markup).toEqual('<p>' + inputText + '</p>');
84+
});
85+
86+
test('can apply block quote format', async ({umbracoApi, umbracoUi}) => {
87+
// Arrange
88+
await umbracoUi.content.clickStyleSelectButton();
89+
90+
// Act
91+
await umbracoUi.content.hoverCascadingMenuItemWithName('Containers');
92+
await umbracoUi.content.clickCascadingMenuItemWithName('Block quote');
93+
await umbracoUi.content.clickSaveButton();
94+
95+
// Assert
96+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
97+
const contentData = await umbracoApi.document.getByName(contentName);
98+
expect(contentData.values[0].value.markup).toEqual('<blockquote><p>' + inputText + '</p></blockquote><p></p>');
99+
});
100+
101+
test('can apply code block format', async ({umbracoApi, umbracoUi}) => {
102+
// Arrange
103+
await umbracoUi.content.clickStyleSelectButton();
104+
105+
// Act
106+
await umbracoUi.content.hoverCascadingMenuItemWithName('Containers');
107+
await umbracoUi.content.clickCascadingMenuItemWithName('Code block');
108+
await umbracoUi.content.clickSaveButton();
109+
110+
// Assert
111+
await umbracoUi.content.doesSuccessNotificationHaveText(NotificationConstantHelper.success.saved);
112+
const contentData = await umbracoApi.document.getByName(contentName);
113+
expect(contentData.values[0].value.markup).toEqual('<pre><code>' + inputText + '</code></pre><p></p>');
114+
});

0 commit comments

Comments
 (0)