diff --git a/tests/Umbraco.Tests.AcceptanceTest/package-lock.json b/tests/Umbraco.Tests.AcceptanceTest/package-lock.json index 6011fa4e8f65..9505dff81088 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": "^2.0.41", - "@umbraco/playwright-testhelpers": "^17.0.3", + "@umbraco/playwright-testhelpers": "^17.0.4", "camelize": "^1.0.0", "dotenv": "^16.3.1", "node-fetch": "^2.6.7" @@ -67,9 +67,9 @@ } }, "node_modules/@umbraco/playwright-testhelpers": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-17.0.3.tgz", - "integrity": "sha512-nlc7c7l/E264De+Z/niPfTT8yfRPauEmwbpX+N85PD30iM0mGLHd80InfM0mia19kL2njUm9ww3X8p7ZwBUM/g==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-17.0.4.tgz", + "integrity": "sha512-X/bcfYfLioubLTn9EJuXoOMbCjfZ7wcGA4DuddGHszRTCGuRkipdRRdsJ0DhddTZ05MTZpR4EWBQltq7mQSETA==", "license": "MIT", "dependencies": { "@umbraco/json-models-builders": "2.0.41", diff --git a/tests/Umbraco.Tests.AcceptanceTest/package.json b/tests/Umbraco.Tests.AcceptanceTest/package.json index 4697f58b5428..ef8ef86714f7 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@umbraco/json-models-builders": "^2.0.41", - "@umbraco/playwright-testhelpers": "^17.0.3", + "@umbraco/playwright-testhelpers": "^17.0.4", "camelize": "^1.0.0", "dotenv": "^16.3.1", "node-fetch": "^2.6.7" diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithListViewContent.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithListViewContent.spec.ts index 6c509ff7bb88..70f39a7a1954 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithListViewContent.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithListViewContent.spec.ts @@ -22,8 +22,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(childDocumentTypeName); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can create content with the list view data type', async ({umbracoApi, umbracoUi}) => { +test('can create content with the list view data type', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Draft'; const defaultListViewDataTypeName = 'List View - Content'; @@ -47,8 +46,7 @@ test.skip('can create content with the list view data type', async ({umbracoApi, expect(await umbracoApi.document.getChildrenAmount(contentData.id)).toEqual(0); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can publish content with the list view data type', async ({umbracoApi, umbracoUi}) => { +test('can publish content with the list view data type', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Published'; const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); @@ -70,8 +68,7 @@ test.skip('can publish content with the list view data type', async ({umbracoApi expect(await umbracoApi.document.getChildrenAmount(documentId)).toEqual(0); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can create content with a child in the list', async ({umbracoApi, umbracoUi}) => { +test('can create content with a child in the list', async ({umbracoApi, umbracoUi}) => { // Arrange const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); await umbracoApi.dataType.createListViewContentDataType(dataTypeName); @@ -83,8 +80,8 @@ test.skip('can create content with a child in the list', async ({umbracoApi, umb // Act await umbracoUi.content.clickCreateContentWithName(childDocumentTypeName); - await umbracoUi.content.enterNameInContainer(childContentName); - await umbracoUi.content.clickSaveModalButton(); + await umbracoUi.content.enterContentName(childContentName); + await umbracoUi.content.clickSaveButton(); // Assert await umbracoUi.content.waitForContentToBeCreated(); @@ -92,8 +89,7 @@ test.skip('can create content with a child in the list', async ({umbracoApi, umb expect(await umbracoApi.document.getChildrenAmount(documentId)).toEqual(1); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can publish content with a child in the list', async ({umbracoApi, umbracoUi}) => { +test('can publish content with a child in the list', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Published'; const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); @@ -111,7 +107,7 @@ test.skip('can publish content with a child in the list', async ({umbracoApi, um await umbracoUi.content.clickSaveAndPublishButton(); await umbracoUi.content.isSuccessStateVisibleForSaveAndPublishButton(); await umbracoUi.content.goToContentInListViewWithName(childContentName); - await umbracoUi.content.clickContainerSaveAndPublishButton(); + await umbracoUi.content.clickSaveAndPublishButton(); // Assert expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy(); @@ -123,8 +119,7 @@ test.skip('can publish content with a child in the list', async ({umbracoApi, um expect(childContentData.variants[0].state).toBe(expectedState); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can not publish child in a list when parent is not published', async ({umbracoApi, umbracoUi}) => { +test('can not publish child in a list when parent is not published', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Draft'; const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); @@ -138,7 +133,7 @@ test.skip('can not publish child in a list when parent is not published', async // Act await umbracoUi.content.goToContentInListViewWithName(childContentName); - await umbracoUi.content.clickContainerSaveAndPublishButton(); + await umbracoUi.content.clickSaveAndPublishButton(); // Assert // Content created, but not published @@ -151,8 +146,7 @@ test.skip('can not publish child in a list when parent is not published', async expect(childContentData.variants[0].state).toBe(expectedState); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('child is removed from list after child content is deleted', async ({umbracoApi, umbracoUi}) => { +test('child is removed from list after child content is deleted', async ({umbracoApi, umbracoUi}) => { // Arrange const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); await umbracoApi.dataType.createListViewContentDataType(dataTypeName); @@ -176,8 +170,7 @@ test.skip('child is removed from list after child content is deleted', async ({u expect(await umbracoApi.document.doesNameExist(childContentName)).toBeFalsy(); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can sort list by name', async ({umbracoApi, umbracoUi}) => { +test('can sort list by name', async ({umbracoApi, umbracoUi}) => { // Arrange const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); const secondChildContentName = 'ASecondChildContent'; @@ -200,8 +193,7 @@ test.skip('can sort list by name', async ({umbracoApi, umbracoUi}) => { await umbracoUi.content.doesFirstItemInListViewHaveName(secondChildContentName); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can publish child content from list', async ({umbracoApi, umbracoUi}) => { +test('can publish child content from list', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Published'; const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); @@ -217,6 +209,7 @@ test.skip('can publish child content from list', async ({umbracoApi, umbracoUi}) // Act await umbracoUi.content.selectContentWithNameInListView(childContentName); await umbracoUi.content.clickPublishSelectedListItems(); + await umbracoUi.content.clickConfirmToPublishButton(); // Assert await umbracoUi.content.waitForContentToBeCreated(); @@ -241,6 +234,7 @@ test.skip('can not publish child content from list when parent is not published' // Act await umbracoUi.content.selectContentWithNameInListView(childContentName); await umbracoUi.content.clickPublishSelectedListItems(); + await umbracoUi.content.clickConfirmToPublishButton(); // Assert await umbracoUi.content.isErrorNotificationVisible(); @@ -248,8 +242,7 @@ test.skip('can not publish child content from list when parent is not published' expect(childContentData.variants[0].state).toBe(expectedState); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can unpublish child content from list', async ({umbracoApi, umbracoUi}) => { +test('can unpublish child content from list', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Draft'; const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); @@ -276,8 +269,7 @@ test.skip('can unpublish child content from list', async ({umbracoApi, umbracoUi expect(childContentData.variants[0].state).toBe(expectedState); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can duplicate child content in list', async ({umbracoApi, umbracoUi}) => { +test('can duplicate child content in list', async ({umbracoApi, umbracoUi}) => { // Arrange const secondDocumentName = 'SecondDocument'; await umbracoApi.document.ensureNameNotExists(secondDocumentName); @@ -294,7 +286,9 @@ test.skip('can duplicate child content in list', async ({umbracoApi, umbracoUi}) // Act await umbracoUi.content.selectContentWithNameInListView(childContentName); await umbracoUi.content.clickDuplicateToSelectedListItems(); - await umbracoUi.content.selectDocumentWithNameAtRoot(secondDocumentName); + await umbracoUi.content.openCaretButtonForName('Content'); + await umbracoUi.content.clickModalMenuItemWithName(secondDocumentName); + await umbracoUi.content.clickChooseModalButton(); // Assert await umbracoUi.content.isSuccessNotificationVisible(); @@ -308,8 +302,7 @@ test.skip('can duplicate child content in list', async ({umbracoApi, umbracoUi}) expect(await umbracoApi.document.getChildrenAmount(secondDocumentId)).toEqual(1); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can move child content in list', async ({umbracoApi, umbracoUi}) => { +test('can move child content in list', async ({umbracoApi, umbracoUi}) => { // Arrange const secondDocumentName = 'SecondDocument'; await umbracoApi.document.ensureNameNotExists(secondDocumentName); @@ -326,7 +319,9 @@ test.skip('can move child content in list', async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.content.selectContentWithNameInListView(childContentName); await umbracoUi.content.clickMoveToSelectedListItems(); - await umbracoUi.content.selectDocumentWithNameAtRoot(secondDocumentName); + await umbracoUi.content.openCaretButtonForName('Content'); + await umbracoUi.content.clickModalMenuItemWithName(secondDocumentName); + await umbracoUi.content.clickChooseModalButton(); // Assert await umbracoUi.content.isSuccessNotificationVisible(); @@ -340,8 +335,7 @@ test.skip('can move child content in list', async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.document.getChildrenAmount(secondDocumentId)).toEqual(1); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can trash child content in list', async ({umbracoApi, umbracoUi}) => { +test('can trash child content in list', async ({umbracoApi, umbracoUi}) => { // Arrange const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); await umbracoApi.dataType.createListViewContentDataTypeWithAllPermissions(dataTypeName); @@ -364,8 +358,7 @@ test.skip('can trash child content in list', async ({umbracoApi, umbracoUi}) => await umbracoUi.content.isItemVisibleInRecycleBin(childContentName); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can search for child content in list', async ({umbracoApi, umbracoUi}) => { +test('can search for child content in list', async ({umbracoApi, umbracoUi}) => { // Arrange const secondChildName = 'SecondChildDocument'; await umbracoApi.document.ensureNameNotExists(secondChildName); @@ -388,8 +381,7 @@ test.skip('can search for child content in list', async ({umbracoApi, umbracoUi} await umbracoUi.content.doesFirstItemInListViewHaveName(childContentName); }); -// Remove .skip when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615 -test.skip('can change from list view to grid view in list', async ({umbracoApi, umbracoUi}) => { +test('can change from list view to grid view in list', async ({umbracoApi, umbracoUi}) => { // Arrange const childDocumentTypeId = await umbracoApi.documentType.createDefaultDocumentType(childDocumentTypeName); await umbracoApi.dataType.createListViewContentDataTypeWithAllPermissions(dataTypeName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts index a408dae21530..766a628b3979 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts @@ -45,8 +45,7 @@ test('can add a culture', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { expect(domainsData.defaultIsoCode).toEqual(isoCode); }); -// Really flaky tests, only occurs on pipeline -test.skip('can add a domain', async ({umbracoApi, umbracoUi}) => { +test('can add a domain', async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.content.clickActionsMenuForContent(contentName); await umbracoUi.content.clickCultureAndHostnamesActionMenuOption(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAdvanced.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAdvanced.spec.ts index ffa32b733091..39cf764e005f 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAdvanced.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAdvanced.spec.ts @@ -27,6 +27,7 @@ test.skip('can add a custom view to a block', async ({umbracoApi, umbracoUi}) => await umbracoUi.dataType.goToDataType(blockGridEditorName); await umbracoUi.dataType.goToBlockWithName(elementTypeName); await umbracoUi.dataType.goToBlockAdvancedTab(); + // TODO: Implement it later }); // TODO: Remove skip and update test when the front-end is ready. Currently it is not possible to add a custom view to a block @@ -40,6 +41,7 @@ test.skip('can remove a custom view from a block', async ({umbracoApi, umbracoUi await umbracoUi.dataType.goToDataType(blockGridEditorName); await umbracoUi.dataType.goToBlockWithName(elementTypeName); await umbracoUi.dataType.goToBlockAdvancedTab(); + // TODO: Implement it later }); // TODO: Remove skip and update test when the front-end is ready. Currently it is not possible to add a custom stylesheet to a block @@ -58,6 +60,7 @@ test.skip('can remove a custom stylesheet from a block', async ({umbracoApi, umb await umbracoUi.dataType.goToDataType(blockGridEditorName); await umbracoUi.dataType.goToBlockWithName(elementTypeName); await umbracoUi.dataType.goToBlockAdvancedTab(); + // TODO: Implement it later }); test('can update overlay size in a block', async ({umbracoApi, umbracoUi}) => { @@ -240,9 +243,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); @@ -265,8 +266,7 @@ test.skip('can add a thumbnail to a block', {tag: '@smoke'}, async ({umbracoApi, await umbracoUi.dataType.doesBlockHaveThumbnailImage(mediaUrl); }); -// TODO: Remove skip when the code is updated. Currently it is missing the assertion steps -test.skip('can remove a thumbnail from a block', async ({umbracoApi, umbracoUi}) => { +test.fixme('can remove a thumbnail from a block', async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const contentElementTypeId = await umbracoApi.documentType.createDefaultElementType(elementTypeName, groupName, dataTypeName, textStringData.id); @@ -276,4 +276,5 @@ test.skip('can remove a thumbnail from a block', async ({umbracoApi, umbracoUi}) await umbracoUi.dataType.goToDataType(blockGridEditorName); await umbracoUi.dataType.goToBlockWithName(elementTypeName); await umbracoUi.dataType.goToBlockAdvancedTab(); + // TODO: Implement it later }); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAreas.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAreas.spec.ts index eafa3bd19daa..8cd6f53f751c 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAreas.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/Block/BlockGridBlockAreas.spec.ts @@ -70,6 +70,7 @@ test.skip('can resize an area for a block', async ({umbracoApi, umbracoUi}) => { await umbracoUi.dataType.goToDataType(blockGridEditorName); await umbracoUi.dataType.goToBlockWithName(elementTypeName); await umbracoUi.dataType.goToBlockAreasTab(); + // TODO: Implement it later }); test('can update alias an area for a block', async ({umbracoApi, umbracoUi}) => { @@ -235,8 +236,7 @@ test('can remove min allowed for an area in a block', async ({umbracoApi, umbrac expect(await umbracoApi.dataType.doesBlockEditorBlockContainAreaWithMinAllowed(blockGridEditorName, contentElementTypeId, areaAlias, minAllowed)).toBeFalsy(); }); -//TODO: Frontend issue. when value is inserted to the min or max, it is set as a string instead of number -test.skip('can add add max allowed for an area in a block', async ({umbracoApi, umbracoUi}) => { +test('can add add max allowed for an area in a block', async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const areaAlias = 'TestArea'; @@ -329,26 +329,22 @@ test('can add specified allowance for an area in a block', async ({umbracoApi, u await umbracoUi.dataType.isSuccessStateVisibleForSaveButton(); }); -// TODO: It is currently not possible to add a specified allowance -test.skip('can update specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { - +test.fixme('can update specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); -// TODO: It is currently not possible to add a specified allowance -test.skip('can remove specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { - +test.fixme('can remove specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); -// TODO: It is currently not possible to add a specified allowance -test.skip('can add multiple specified allowances for an area in a block', async ({umbracoApi, umbracoUi}) => { - +test.fixme('can add multiple specified allowances for an area in a block', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); -// TODO: It is currently not possible to add a specified allowance -test.skip('can add specified allowance with min and max for an area in a block', async ({umbracoApi, umbracoUi}) => { +test.fixme('can add specified allowance with min and max for an area in a block', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); -// TODO: It is currently not possible to add a specified allowance -test.skip('can remove min and max from specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { - +test.fixme('can remove min and max from specified allowance for an area in a block', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/BlockGridEditor.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/BlockGridEditor.spec.ts index e2b5d799eca5..ef364e72f555 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/BlockGridEditor.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockGrid/BlockGridEditor.spec.ts @@ -230,8 +230,7 @@ test.fixme('can move a block from a group to another group in a block grid edito expect(await umbracoApi.dataType.doesBlockGridGroupContainCorrectBlocks(blockGridEditorName, groupName, [elementTypeId])).toBeFalsy(); }); -// TODO: When deleting a group should there not be a confirmation button? and should the block be moved another group when the group it was in is deleted? -test.skip('can delete a group in a block grid editor', async ({umbracoApi, umbracoUi}) => { +test.fixme('can delete a group in a block grid editor', async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const elementTypeId = await umbracoApi.documentType.createDefaultElementType(elementTypeName, groupName, dataTypeName, textStringData.id); @@ -240,6 +239,7 @@ test.skip('can delete a group in a block grid editor', async ({umbracoApi, umbra // Act await umbracoUi.dataType.goToDataType(blockGridEditorName); + // TODO: Implement it later }); test('can add a min and max amount to a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { @@ -390,6 +390,7 @@ test('can update grid columns in a block grid editor', async ({umbracoApi, umbra // TODO: wait until fixed by frontend, currently you are able to insert multiple stylesheets test.skip('can add a stylesheet a block grid editor', async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); test('can remove a stylesheet in a block grid editor', async ({umbracoApi, umbracoUi}) => { diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockListEditor/BlockListBlocks.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockListEditor/BlockListBlocks.spec.ts index 43efd6e55383..12b0501dea19 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockListEditor/BlockListBlocks.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/BlockListEditor/BlockListBlocks.spec.ts @@ -437,7 +437,6 @@ test('can add a thumbnail to a block', {tag: '@release'}, async ({umbracoApi, um await umbracoUi.dataType.doesBlockHaveThumbnailImage(mediaUrl); }); -// TODO: Thumbnails are not showing in the UI -test.skip('can remove a thumbnail to a block ', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { - +test.fixme('can remove a thumbnail to a block ', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeDesignTab.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeDesignTab.spec.ts index d8762287aa01..559a245e775f 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeDesignTab.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeDesignTab.spec.ts @@ -258,8 +258,7 @@ test('can remove a composition from a document type', async ({umbracoApi, umbrac await umbracoApi.documentType.ensureNameNotExists(compositionDocumentTypeName); }); -// Skip this flaky tests as sometimes the properties are not dragged correctly. -test.skip('can reorder groups in a document type', async ({umbracoApi, umbracoUi}) => { +test('can reorder groups in a document type', async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondGroupName = 'SecondGroup'; @@ -284,8 +283,7 @@ test.skip('can reorder groups in a document type', async ({umbracoApi, umbracoUi expect(await umbracoApi.documentType.doesDocumentTypeGroupNameContainCorrectSortOrder(documentTypeName, firstGroupValue, 1)).toBeTruthy(); }); -// Skip this flaky tests as sometimes the properties are not dragged correctly. -test.skip('can reorder properties in a document type', async ({umbracoApi, umbracoUi}) => { +test('can reorder properties in a document type', async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const dataTypeNameTwo = "Second Color Picker"; @@ -309,8 +307,7 @@ test.skip('can reorder properties in a document type', async ({umbracoApi, umbra expect(documentTypeData.properties[1].name).toBe(dataTypeName); }); -// TODO: Remove skip when the frontend is ready. Currently it is impossible to reorder tab by drag and drop -test.skip('can reorder tabs in a document type', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { +test('can reorder tabs in a document type', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondTabName = 'SecondTab'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeDesignTab.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeDesignTab.spec.ts index 62931cf7b214..a1479d1119d4 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeDesignTab.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeDesignTab.spec.ts @@ -339,8 +339,7 @@ test('can reorder properties in a media type', async ({umbracoApi, umbracoUi}) = expect(mediaTypeData.properties[0].name).toBe(dataTypeNameTwo); }); -// TODO: Remove skip when the frontend is ready. Currently it is impossible to reorder tab by drag and drop -test.skip('can reorder tabs in a media type', async ({umbracoApi, umbracoUi}) => { +test('can reorder tabs in a media type', async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondTabName = 'SecondTab'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DefaultPermissionsInContent.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DefaultPermissionsInContent.spec.ts index 32a36e0e343c..5520e4f1cd3e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DefaultPermissionsInContent.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DefaultPermissionsInContent.spec.ts @@ -221,8 +221,7 @@ test('can not create content with create permission disabled', async ({umbracoAp await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -// TODO: Setup SMTP server to test notifications, do this when we test appsettings.json -test.skip('can create notifications with notification permission enabled', async ({umbracoApi, umbracoUi}) => { +test.fixme('can create notifications with notification permission enabled', async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithNotificationsPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -231,6 +230,8 @@ test.skip('can create notifications with notification permission enabled', async // Act await umbracoUi.content.goToSection(ConstantHelper.sections.content, false); + // TODO: Implement it later + // Setup SMTP server to test notifications, do this when we test appsettings.json }); test('can not create notifications with notification permission disabled', async ({umbracoApi, umbracoUi}) => { @@ -279,8 +280,7 @@ test('can not publish content with publish permission disabled', async ({umbraco await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -// Remove .skip when the front-end is ready. Currently there is no "Permissions" menu item displays -// Issue link: https://github.com/umbraco/Umbraco-CMS/issues/19339 +// Skip this as this function is removed from the front-end. test.skip('can set permissions with set permissions permission enabled', async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithSetPermissionsPermission(userGroupName); @@ -292,12 +292,13 @@ test.skip('can set permissions with set permissions permission enabled', async ( // Act await umbracoUi.content.clickActionsMenuForContent(rootDocumentName); // await umbracoUi.content.clickSetPermissionsButton(); - // - // // Assert + + // Assert // await umbracoUi.content.doesDocumentPermissionsDialogExist(); }); -test('can not set permissions with set permissions permission disabled', async ({umbracoApi, umbracoUi}) => { +// Skip this as this function is removed from the front-end. +test.skip('can not set permissions with set permissions permission disabled', async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithSetPermissionsPermission(userGroupName, false); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValueGranularPermission.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValueGranularPermission.spec.ts index 9cc0085c4c9f..5ca0b96a0789 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValueGranularPermission.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValueGranularPermission.spec.ts @@ -102,9 +102,7 @@ test('can see property with UI read enabled but not another property with UI rea await umbracoUi.content.isPropertyEditorUiWithNameVisible(secondPropertyName[1], false); }); -// Remove .skip when the front-end is ready. -// Issue link: https://github.com/umbraco/Umbraco-CMS/issues/19395 -test.skip('can edit specific property values with UI read and write permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { +test('can edit specific property values with UI read and write permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const inputText = 'This is test text'; userGroupId = await umbracoApi.userGroup.createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(userGroupName, firstDocumentId, documentTypeId, firstPropertyName[0], true, true, secondPropertyName[0], true, true); @@ -123,7 +121,7 @@ test.skip('can edit specific property values with UI read and write permission e const firstDocumentData = await umbracoApi.document.getByName(firstDocumentName); expect(firstDocumentData.values[0].alias).toEqual(AliasHelper.toAlias(firstPropertyName[0])); expect(firstDocumentData.values[0].value).toEqual(inputText); - expect(firstDocumentData.values[1].alias).toEqual(AliasHelper.toAlias(secondPropertyName[0])); + expect(firstDocumentData.values[1].alias).toEqual(AliasHelper.toAlias(secondPropertyName[0]).replace('/', '')); expect(firstDocumentData.values[1].value).toEqual(true); }); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Languages.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Languages.spec.ts index c9b868a13ddc..c9409fbd84a4 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Languages.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Languages.spec.ts @@ -62,8 +62,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(documentTypeName); }); -// Remove .skip when the front-end is ready. Currently the content name is read-only so cannot remane it. -test.skip('can rename content with language set in userGroup', async ({umbracoApi, umbracoUi}) => { +test('can rename content with language set in userGroup', async ({umbracoApi, umbracoUi}) => { // Arrange const updatedContentName = 'UpdatedContentName'; userGroupId = await umbracoApi.userGroup.createUserGroupWithLanguageAndContentSection(userGroupName, englishIsoCode); @@ -76,8 +75,8 @@ test.skip('can rename content with language set in userGroup', async ({umbracoAp // Act await umbracoUi.content.isDocumentReadOnly(false); await umbracoUi.content.enterContentName(updatedContentName); + await umbracoUi.content.clickSaveButtonForContent(); await umbracoUi.content.clickSaveButton(); - await umbracoUi.content.clickSaveAndCloseButton(); // Assert await umbracoUi.userGroup.isSuccessStateVisibleForSaveButton(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts index 0ede3be26bed..44c81e184c87 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts @@ -595,13 +595,11 @@ test('can order by newest user', async ({umbracoApi, umbracoUi}) => { await umbracoUi.user.isUserWithNameTheFirstUserInList(nameOfTheUser); }); -// TODO: Sometimes the frontend does not switch from grid to table, or table to grid. -test.skip('can change from grid to table view', async ({page, umbracoApi, umbracoUi}) => { +test.fixme('can change from grid to table view', async ({page, umbracoApi, umbracoUi}) => { + // TODO: Implement it later }); -// This test is skipped because currently it is impossible to remove the admin user group from a user -// Related issue: https://github.com/umbraco/Umbraco-CMS/issues/19917 -test.skip('can remove admin user group from a user', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { +test('can remove admin user group from a user', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const adminUserGroupName = 'Administrators'; const editorUserGroupName = 'Editors'; @@ -626,9 +624,7 @@ test.skip('can remove admin user group from a user', {tag: '@release'}, async ({ expect(await umbracoApi.user.doesUserContainUserGroupIds(nameOfTheUser, [editorUserGroupData.id])).toBeTruthy(); }); -// This test is skipped because currently it is possible to remove all user groups from a user -// Related issue: https://github.com/umbraco/Umbraco-CMS/issues/19992 -test.skip('cannot remove all user group from a user', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { +test('cannot remove all user group from a user', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroup = await umbracoApi.userGroup.getByName(defaultUserGroupName); await umbracoApi.user.createDefaultUser(nameOfTheUser, userEmail, [userGroup.id]);