-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
V14 Added Content tests with Approved Color (#16725)
* Added Content tests with Approved Color * Bumped version of test helper * Make Content tests run in the pipeline * Using custom datatype builder instead of changing the default approved color data type * Updated variables * Fixed comment * Make all Content tests run in the pipeline * Reverted
- Loading branch information
1 parent
82e58ea
commit e975832
Showing
1 changed file
with
87 additions
and
0 deletions.
There are no files selected for viewing
87 changes: 87 additions & 0 deletions
87
...Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithApprovedColor.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
import {AliasHelper, ConstantHelper, test} from '@umbraco/playwright-testhelpers'; | ||
import {expect} from "@playwright/test"; | ||
|
||
const contentName = 'TestContent'; | ||
const documentTypeName = 'TestDocumentTypeForContent'; | ||
const dataTypeName = 'Approved Color'; | ||
|
||
test.beforeEach(async ({umbracoApi, umbracoUi}) => { | ||
await umbracoApi.documentType.ensureNameNotExists(documentTypeName); | ||
await umbracoApi.document.ensureNameNotExists(contentName); | ||
await umbracoUi.goToBackOffice(); | ||
}); | ||
|
||
test.afterEach(async ({umbracoApi}) => { | ||
await umbracoApi.document.ensureNameNotExists(contentName); | ||
await umbracoApi.documentType.ensureNameNotExists(documentTypeName); | ||
}); | ||
|
||
test('can create content with the approved color data type', async ({umbracoApi, umbracoUi}) => { | ||
// Arrange | ||
const expectedState = 'Draft'; | ||
const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); | ||
await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); | ||
await umbracoUi.content.goToSection(ConstantHelper.sections.content); | ||
|
||
// Act | ||
await umbracoUi.content.clickActionsMenuAtRoot(); | ||
await umbracoUi.content.clickCreateButton(); | ||
await umbracoUi.content.chooseDocumentType(documentTypeName); | ||
await umbracoUi.content.enterContentName(contentName); | ||
await umbracoUi.content.clickSaveButton(); | ||
|
||
// Assert | ||
await umbracoUi.content.isSuccessNotificationVisible(); | ||
expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy(); | ||
const contentData = await umbracoApi.document.getByName(contentName); | ||
expect(contentData.variants[0].state).toBe(expectedState); | ||
expect(contentData.values).toEqual([]); | ||
}); | ||
|
||
test('can publish content with the approved color data type', async ({umbracoApi, umbracoUi}) => { | ||
// Arrange | ||
const expectedState = 'Published'; | ||
const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); | ||
const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); | ||
await umbracoApi.document.createDefaultDocument(contentName, documentTypeId); | ||
await umbracoUi.content.goToSection(ConstantHelper.sections.content); | ||
|
||
// Act | ||
await umbracoUi.content.goToContentWithName(contentName); | ||
await umbracoUi.content.clickSaveAndPublishButton(); | ||
|
||
// Assert | ||
await umbracoUi.content.doesSuccessNotificationsHaveCount(2); | ||
expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy(); | ||
const contentData = await umbracoApi.document.getByName(contentName); | ||
expect(contentData.variants[0].state).toBe(expectedState); | ||
expect(contentData.values).toEqual([]); | ||
}); | ||
|
||
test('can create content with the custom approved color data type', async ({umbracoApi, umbracoUi}) => { | ||
// Arrange | ||
const customDataTypeName = 'CustomApprovedColor'; | ||
const colorValue = 'd73737'; | ||
const colorLabel = 'Test Label'; | ||
const customDataTypeId = await umbracoApi.dataType.createApprovedColorDataTypeWithOneItem(customDataTypeName, colorLabel, colorValue); | ||
const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, customDataTypeName, customDataTypeId); | ||
await umbracoApi.document.createDefaultDocument(contentName, documentTypeId); | ||
await umbracoUi.content.goToSection(ConstantHelper.sections.content); | ||
|
||
// Act | ||
await umbracoUi.content.goToContentWithName(contentName); | ||
await umbracoUi.content.clickApprovedColorByValue(colorValue); | ||
await umbracoUi.content.clickSaveAndPublishButton(); | ||
|
||
// Assert | ||
await umbracoUi.content.doesSuccessNotificationsHaveCount(2); | ||
expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy(); | ||
const contentData = await umbracoApi.document.getByName(contentName); | ||
expect(contentData.values[0].alias).toEqual(AliasHelper.toAlias(customDataTypeName)); | ||
expect(contentData.values[0].value.label).toEqual(colorLabel); | ||
expect(contentData.values[0].value.value).toEqual('#' + colorValue); | ||
|
||
// Clean | ||
await umbracoApi.dataType.ensureNameNotExists(customDataTypeName); | ||
}); | ||
|