diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index 28e6ed25b8..c1cec3b15a 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -513,9 +513,9 @@ stages: UMBRACO__CMS__WEBROUTING__UMBRACOAPPLICATIONURL: https://localhost:44331/ ASPNETCORE_URLS: https://localhost:44331 jobs: - # E2E Tests + # E2E Smoke Tests - job: - displayName: E2E Tests (SQLite) + displayName: E2E Smoke Tests (SQLite) # currently disabled due to DB locks randomly occuring. condition: eq(${{parameters.sqliteAcceptanceTests}}, True) variables: @@ -678,7 +678,7 @@ stages: testRunTitle: "$(Agent.JobName)" - job: - displayName: E2E Tests (SQL Server) + displayName: E2E Smoke Tests (SQL Server) variables: # Connection string CONNECTIONSTRINGS__UMBRACODBDSN: Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Umbraco.mdf;Integrated Security=True @@ -862,6 +862,176 @@ stages: searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results" testRunTitle: "$(Agent.JobName)" + - job: + displayName: E2E Release Tests (SQL Server) + variables: + # Connection string + CONNECTIONSTRINGS__UMBRACODBDSN: Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Umbraco.mdf;Integrated Security=True + CONNECTIONSTRINGS__UMBRACODBDSN_PROVIDERNAME: Microsoft.Data.SqlClient + condition: eq(dependencies.Build.outputs['A.build.NBGV_PublicRelease'], 'True') + strategy: + matrix: + WindowsPart1Of3: + vmImage: "windows-latest" + testCommand: "npm run releaseTest -- --shard=1/3" + WindowsPart2Of3: + vmImage: "windows-latest" + testCommand: "npm run releaseTest -- --shard=2/3" + WindowsPart3Of3: + vmImage: "windows-latest" + testCommand: "npm run releaseTest -- --shard=3/3" + pool: + vmImage: $(vmImage) + steps: + # Setup test environment + - task: DownloadPipelineArtifact@2 + displayName: Download NuGet artifacts + inputs: + artifact: nupkg + path: $(Agent.BuildDirectory)/app/nupkg + + - task: NodeTool@0 + displayName: Use Node.js $(nodeVersion) + inputs: + versionSpec: $(nodeVersion) + + - task: UseDotNet@2 + displayName: Use .NET SDK from global.json + inputs: + useGlobalJson: true + + - pwsh: | + "UMBRACO_USER_LOGIN=$(UMBRACO__CMS__UNATTENDED__UNATTENDEDUSEREMAIL) + UMBRACO_USER_PASSWORD=$(UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD) + URL=$(ASPNETCORE_URLS) + STORAGE_STAGE_PATH=$(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest/playwright/.auth/user.json + CONSOLE_ERRORS_PATH=$(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest/console-errors.json" | Out-File .env + displayName: Generate .env + workingDirectory: $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest + + # Cache and restore NPM packages + - task: Cache@2 + displayName: Cache NPM packages + inputs: + key: 'npm_e2e | "$(Agent.OS)" | $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest/package-lock.json' + restoreKeys: | + npm_e2e | "$(Agent.OS)" + npm_e2e + path: $(npm_config_cache) + + - script: npm ci --no-fund --no-audit --prefer-offline + workingDirectory: $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest + displayName: Restore NPM packages + + # Build application + - pwsh: | + $cmsVersion = "$(Build.BuildNumber)" -replace "\+",".g" + dotnet new nugetconfig + dotnet nuget add source ./nupkg --name Local + dotnet new install Umbraco.Templates::$cmsVersion + dotnet new umbraco --name UmbracoProject --version $cmsVersion --exclude-gitignore --no-restore --no-update-check + dotnet restore UmbracoProject + cp $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest.UmbracoProject/*.cs UmbracoProject + dotnet build UmbracoProject --configuration $(buildConfiguration) --no-restore + dotnet dev-certs https + displayName: Build application + workingDirectory: $(Agent.BuildDirectory)/app + + # Start SQL Server + - powershell: docker run --name mssql -d -p 1433:1433 -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=$(SA_PASSWORD)" mcr.microsoft.com/mssql/server:2022-latest + displayName: Start SQL Server Docker image (Linux) + condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) + + - pwsh: SqlLocalDB start MSSQLLocalDB + displayName: Start SQL Server LocalDB (Windows) + condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) + + # Run application + - bash: | + nohup dotnet run --project UmbracoProject --configuration $(buildConfiguration) --no-build --no-launch-profile > $(Build.ArtifactStagingDirectory)/playwright.log 2>&1 & + echo "##vso[task.setvariable variable=AcceptanceTestProcessId]$!" + displayName: Run application (Linux) + condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) + workingDirectory: $(Agent.BuildDirectory)/app + + - pwsh: | + $process = Start-Process dotnet "run --project UmbracoProject --configuration $(buildConfiguration) --no-build --no-launch-profile 2>&1" -PassThru -NoNewWindow -RedirectStandardOutput $(Build.ArtifactStagingDirectory)/playwright.log + Write-Host "##vso[task.setvariable variable=AcceptanceTestProcessId]$($process.Id)" + displayName: Run application (Windows) + condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) + workingDirectory: $(Agent.BuildDirectory)/app + + # Wait for application to start responding to requests + - pwsh: npx wait-on -v --interval 1000 --timeout 120000 $(ASPNETCORE_URLS) + displayName: Wait for application + workingDirectory: tests/Umbraco.Tests.AcceptanceTest + + # Install Playwright and dependencies + - pwsh: npx playwright install chromium + displayName: Install Playwright only with Chromium browser + workingDirectory: tests/Umbraco.Tests.AcceptanceTest + + # Test + - pwsh: $(testCommand) + displayName: Run Playwright tests + workingDirectory: tests/Umbraco.Tests.AcceptanceTest + env: + CI: true + CommitId: $(Build.SourceVersion) + AgentOs: $(Agent.OS) + + # Stop application + - bash: kill -15 $(AcceptanceTestProcessId) + displayName: Stop application (Linux) + condition: and(ne(variables.AcceptanceTestProcessId, ''), eq(variables['Agent.OS'], 'Linux')) + + - pwsh: Stop-Process -Id $(AcceptanceTestProcessId) + displayName: Stop application (Windows) + condition: and(ne(variables.AcceptanceTestProcessId, ''), eq(variables['Agent.OS'], 'Windows_NT')) + + # Stop SQL Server + - pwsh: docker stop mssql + displayName: Stop SQL Server Docker image (Linux) + condition: eq(variables['Agent.OS'], 'Linux') + + - pwsh: SqlLocalDB stop MSSQLLocalDB + displayName: Stop SQL Server LocalDB (Windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') + + # Copy artifacts + - pwsh: | + if (Test-Path tests/Umbraco.Tests.AcceptanceTest/results/*) { + Copy-Item tests/Umbraco.Tests.AcceptanceTest/results/* $(Build.ArtifactStagingDirectory) -Recurse + } + displayName: Copy Playwright results + condition: succeededOrFailed() + + # Copy console error log + - pwsh: | + if (Test-Path tests/Umbraco.Tests.AcceptanceTest/console-errors.json) { + Copy-Item tests/Umbraco.Tests.AcceptanceTest/console-errors.json $(Build.ArtifactStagingDirectory) + } + displayName: Copy console error log + condition: succeededOrFailed() + + # Publish test artifacts + - task: PublishPipelineArtifact@1 + displayName: Publish test artifacts + condition: succeededOrFailed() + inputs: + targetPath: $(Build.ArtifactStagingDirectory) + artifact: "Acceptance Test Results - $(Agent.JobName) - Attempt #$(System.JobAttempt)" + + # Publish test results + - task: PublishTestResults@2 + displayName: "Publish test results" + condition: succeededOrFailed() + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '*.xml' + searchFolder: "tests/Umbraco.Tests.AcceptanceTest/results" + testRunTitle: "$(Agent.JobName)" + ############################################### ## Release ############################################### @@ -1067,4 +1237,4 @@ stages: storage: umbracoapidocs ContainerName: "$web" BlobPrefix: v$(umbracoMajorVersion)/ui-api - CleanTargetBeforeCopy: true + CleanTargetBeforeCopy: true \ No newline at end of file diff --git a/tests/Umbraco.Tests.AcceptanceTest/package.json b/tests/Umbraco.Tests.AcceptanceTest/package.json index 4a143b243c..08612164f6 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/package.json +++ b/tests/Umbraco.Tests.AcceptanceTest/package.json @@ -10,7 +10,8 @@ "all": "npx playwright test", "createTest": "node createTest.js", "smokeTest": "npx playwright test DefaultConfig --grep \"@smoke\"", - "smokeTestSqlite": "npx playwright test DefaultConfig --grep \"@smoke\" --grep-invert \"Users\"" + "smokeTestSqlite": "npx playwright test DefaultConfig --grep \"@smoke\" --grep-invert \"Users\"", + "releaseTest": "npx playwright test DefaultConfig --grep \"@release\"" }, "devDependencies": { "@playwright/test": "^1.50", @@ -26,4 +27,4 @@ "dotenv": "^16.3.1", "node-fetch": "^2.6.7" } -} +} \ No newline at end of file diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithApprovedColor.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithApprovedColor.spec.ts index c40aee03dd..7f76b706ef 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithApprovedColor.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithApprovedColor.spec.ts @@ -58,7 +58,7 @@ test('can publish content with the approved color data type', async ({umbracoApi expect(contentData.values).toEqual([]); }); -test('can create content with the custom approved color data type', async ({umbracoApi, umbracoUi}) => { +test('can create content with the custom approved color data type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const customDataTypeName = 'CustomApprovedColor'; const colorValue = 'd73737'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCheckboxList.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCheckboxList.spec.ts index 3e26e6f2d7..ed59b768e2 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCheckboxList.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCheckboxList.spec.ts @@ -80,7 +80,7 @@ test('can create content with the custom checkbox list data type', async ({umbra expect(contentData.values[0].value).toEqual([optionValues[0]]); }); -test('can not publish a mandatory checkbox list with an empty value', async ({umbracoApi, umbracoUi}) => { +test('can not publish a mandatory checkbox list with an empty value', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const optionValues = ['testOption1', 'testOption2']; const customDataTypeId = await umbracoApi.dataType.createCheckboxListDataType(customDataTypeName, optionValues); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCustomDataType.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCustomDataType.spec.ts index 6323370e94..a8fd492465 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCustomDataType.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithCustomDataType.spec.ts @@ -265,7 +265,7 @@ test('can create content with the custom data type with slider property editor', expect(contentData.values).toEqual([]); }); -test('can change slider value in the content section', async ({umbracoApi, umbracoUi}) => { +test('can change slider value in the content section', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange customDataTypeName = 'Slider'; const sliderValue = 10; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithDropdown.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithDropdown.spec.ts index 4e65901bf4..52e0614681 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithDropdown.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithDropdown.spec.ts @@ -83,7 +83,7 @@ for (const dataTypeName of dataTypeNames) { }); } -test('can not publish a mandatory dropdown with an empty value', async ({umbracoApi, umbracoUi}) => { +test('can not publish a mandatory dropdown with an empty value', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const optionValues = ['testOption1', 'testOption2', 'testOption3']; const customDataTypeId = await umbracoApi.dataType.createDropdownDataType(customDataTypeName, false, optionValues); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithImageMediaPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithImageMediaPicker.spec.ts index b4bdc32674..abae29df6b 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithImageMediaPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithImageMediaPicker.spec.ts @@ -18,7 +18,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(documentTypeName); }); -test('can save content with a image media picker', async ({umbracoApi, umbracoUi}) => { +test('can create content with a image media picker', async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Draft'; const dataType = await umbracoApi.dataType.getByName(dataTypeName); @@ -60,7 +60,7 @@ test('can publish content with a image media picker', async ({umbracoApi, umbrac expect(contentData.variants[0].state).toBe(expectedState); }); -test('can add an image to the image media picker', async ({umbracoApi, umbracoUi}) => { +test('can add an image to the image media picker', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataType = await umbracoApi.dataType.getByName(dataTypeName); await umbracoApi.media.ensureNameNotExists(mediaName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultiURLPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultiURLPicker.spec.ts index 33d71b8531..33b76623b3 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultiURLPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultiURLPicker.spec.ts @@ -170,7 +170,7 @@ test('can create content with the media link', async ({umbracoApi, umbracoUi}) = await umbracoApi.media.ensureNameNotExists(mediaFileName); }); -test('can add multiple links in the content', async ({umbracoApi, umbracoUi}) => { +test('can add multiple links in the content', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); @@ -190,6 +190,7 @@ test('can add multiple links in the content', async ({umbracoApi, umbracoUi}) => await umbracoUi.content.selectMediaWithName(mediaFileName); await umbracoUi.content.clickChooseModalButton(); await umbracoUi.content.clickAddButton(); + await umbracoUi.waitForTimeout(500); // Wait for the media link to be added // Add external link await umbracoUi.content.clickAddMultiURLPickerButton(); await umbracoUi.content.clickManualLinkButton(); @@ -267,7 +268,7 @@ test('can edit the URL picker in the content', async ({umbracoApi, umbracoUi}) = expect(contentData.values[0].value[0].url).toEqual(link); }); -test('cannot submit an empty link', async ({umbracoApi, umbracoUi}) => { +test('cannot submit an empty link', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); @@ -288,7 +289,7 @@ test('cannot submit an empty link', async ({umbracoApi, umbracoUi}) => { await umbracoUi.content.isTextWithMessageVisible(ConstantHelper.validationMessages.emptyLinkPicker); }); -test('cannot update the URL picker with an empty link', async ({umbracoApi, umbracoUi}) => { +test('cannot update the URL picker with an empty link', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleImageMediaPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleImageMediaPicker.spec.ts index 9150cec753..492acc5b1e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleImageMediaPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleImageMediaPicker.spec.ts @@ -69,7 +69,7 @@ test('can publish content with multiple image media picker data type', async ({u expect(contentData.values).toEqual([]); }); -test('can add multiple images to the multiple image media picker', async ({umbracoApi, umbracoUi}) => { +test('can add multiple images to the multiple image media picker', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleMediaPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleMediaPicker.spec.ts index 5e1033818f..239dafd3ae 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleMediaPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithMultipleMediaPicker.spec.ts @@ -97,7 +97,7 @@ test('can add multiple media files to the multiple media picker', async ({umbrac expect(contentData.values[0].value[1].mediaTypeAlias).toEqual(secondMediaTypeName); }); -test('can remove a media picker in the content', async ({umbracoApi, umbracoUi}) => { +test('can remove a media picker in the content', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithNumeric.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithNumeric.spec.ts index ceca61af35..ba3f5dfa92 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithNumeric.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithNumeric.spec.ts @@ -17,7 +17,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(documentTypeName); }); -test('can create content with the numeric data type', async ({umbracoApi, umbracoUi}) => { +test('can create content with the numeric data type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Draft'; const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithRadiobox.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithRadiobox.spec.ts index 903449164e..7a591e9b52 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithRadiobox.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithRadiobox.spec.ts @@ -84,7 +84,7 @@ test('can create content with the custom radiobox data type', async ({umbracoApi expect(contentData.values[0].value).toEqual(optionValues[0]); }); -test('can not publish mandatory radiobox with an empty value', async ({umbracoApi, umbracoUi}) => { +test('can not publish mandatory radiobox with an empty value', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const customDataTypeId = await umbracoApi.dataType.createRadioboxDataType(customDataTypeName, optionValues); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, customDataTypeName, customDataTypeId, 'Test Group', false, false, true); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTags.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTags.spec.ts index 089dc0d454..282079bc79 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTags.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTags.spec.ts @@ -41,7 +41,7 @@ test('can create content with one tag', async ({umbracoApi, umbracoUi}) => { expect(contentData.values[0].value).toEqual([tagsName[0]]); }); -test('can publish content with multiple tags', async ({umbracoApi, umbracoUi}) => { +test('can publish content with multiple tags', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const expectedState = 'Published'; const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTextarea.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTextarea.spec.ts index f7c0a79c79..61e1c88257 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTextarea.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTextarea.spec.ts @@ -80,7 +80,7 @@ test('can input text into the textarea', async ({umbracoApi, umbracoUi}) => { expect(contentData.values[0].value).toEqual(text); }); -test('cannot input the text that exceeds the allowed amount of characters', async ({umbracoApi, umbracoUi}) => { +test('cannot input the text that exceeds the allowed amount of characters', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const maxChars = 100; const textExceedMaxChars = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mattis porttitor orci id cursus. Nulla'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTrueFalse.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTrueFalse.spec.ts index 4910b1bd69..75e252c28c 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTrueFalse.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithTrueFalse.spec.ts @@ -61,7 +61,7 @@ test('can publish content with the true/false data type', async ({umbracoApi, um expect(contentData.values).toEqual([]); }); -test('can toggle the true/false value in the content ', async ({umbracoApi, umbracoUi}) => { +test('can toggle the true/false value in the content', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadArticle.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadArticle.spec.ts index 182d3ee83d..3b69d92f59 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadArticle.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadArticle.spec.ts @@ -66,7 +66,7 @@ const uploadFiles = [ {fileExtension: 'doc', fileName: 'ArticleDOC.doc'} ]; for (const uploadFile of uploadFiles) { - test(`can upload an article with the ${uploadFile.fileExtension} extension in the content`, async ({umbracoApi, umbracoUi}) => { + test(`can upload an article with the ${uploadFile.fileExtension} extension in the content`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadAudio.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadAudio.spec.ts index a8180c09e3..c8b344a200 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadAudio.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadAudio.spec.ts @@ -67,7 +67,7 @@ const uploadFiles = [ {fileExtension: 'opus', fileName: 'AudioOPUS.opus'} ]; for (const uploadFile of uploadFiles) { - test(`can upload an audio with the ${uploadFile.fileExtension} extension in the content`, async ({umbracoApi, umbracoUi}) => { + test(`can upload an audio with the ${uploadFile.fileExtension} extension in the content`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadFile.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadFile.spec.ts index 0a19ba7ff8..56836d67d1 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadFile.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadFile.spec.ts @@ -65,7 +65,7 @@ const uploadFiles = [ {fileExtension: 'png', fileName: 'Umbraco.png'} ]; for (const uploadFile of uploadFiles) { - test(`can upload a file with the ${uploadFile.fileExtension} extension in the content`, async ({umbracoApi, umbracoUi}) => { + test(`can upload a file with the ${uploadFile.fileExtension} extension in the content`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVectorGraphics.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVectorGraphics.spec.ts index 846317527a..c3ee29563b 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVectorGraphics.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVectorGraphics.spec.ts @@ -60,7 +60,7 @@ test('can publish content with the upload vector graphics data type', async ({um expect(contentData.values).toEqual([]); }); -test(`can upload a file with the svg extension in the content`, async ({umbracoApi, umbracoUi}) => { +test(`can upload a file with the svg extension in the content`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const vectorGraphicsName = 'VectorGraphics.svg'; const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVideo.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVideo.spec.ts index 8824220a4f..da6189774e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVideo.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/ContentWithUploadVideo.spec.ts @@ -66,7 +66,7 @@ const uploadVideos = [ {fileExtension: 'ogv', fileName: 'Ogv.ogv'} ]; for (const uploadVideo of uploadVideos) { - test(`can upload a video with the ${uploadVideo.fileExtension} extension in the content`, async ({umbracoApi, umbracoUi}) => { + test(`can upload a video with the ${uploadVideo.fileExtension} extension in the content`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(documentTypeName, dataTypeName, dataTypeData.id); 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 cbeb2def15..a408dae215 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/CultureAndHostnames.spec.ts @@ -105,7 +105,7 @@ test('can delete culture and hostname', async ({umbracoApi, umbracoUi}) => { expect(domainsData.domains.length).toBe(0); }); -test('can add culture and hostname for multiple languages', async ({umbracoApi, umbracoUi}) => { +test('can add culture and hostname for multiple languages', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const secondDomainName = 'testdomain2'; const secondLanguageName = 'Vietnamese'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/PublishWithDescendants.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/PublishWithDescendants.spec.ts index a8a00802ff..993bca4cf9 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/PublishWithDescendants.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/PublishWithDescendants.spec.ts @@ -31,7 +31,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(documentTypeName); }); -test('can publish invariant content with descendants without unpublished content items', async ({umbracoApi, umbracoUi}) => { +test('can publish invariant content with descendants without unpublished content items', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange childDocumentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(childDocumentTypeName, dataTypeName, dataTypeId); documentTypeId = await umbracoApi.documentType.createDocumentTypeWithAllowedChildNodeAndDataType(documentTypeName, childDocumentTypeId, dataTypeName, dataTypeId); @@ -144,7 +144,7 @@ test('can publish variant content with descendants without unpublished content i expect(childContentData.variants[0].state).toBe('Draft'); }); -test('can publish variant content with descendants and include unpublished content items', async ({umbracoApi, umbracoUi}) => { +test('can publish variant content with descendants and include unpublished content items', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange childDocumentTypeId = await umbracoApi.documentType.createDocumentTypeWithPropertyEditor(childDocumentTypeName, dataTypeName, dataTypeId); documentTypeId = await umbracoApi.documentType.createVariantDocumentTypeWithAllowedChildNodeAndInvariantPropertyEditor(documentTypeName, childDocumentTypeId, dataTypeName, dataTypeId); 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 be267b18ff..da485d8777 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 @@ -80,7 +80,7 @@ test('can update overlay size in a block', async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.dataType.doesBlockEditorBlockContainOverlaySize(blockGridEditorName, contentElementTypeId, overlaySize)).toBeTruthy(); }); -test('can enable inline editing mode in a block', async ({umbracoApi, umbracoUi}) => { +test('can enable inline editing mode in a block', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const contentElementTypeId = await umbracoApi.documentType.createDefaultElementType(elementTypeName, groupName, dataTypeName, textStringData.id); @@ -119,7 +119,7 @@ test('can disable inline editing mode in a block', async ({umbracoApi, umbracoUi expect(await umbracoApi.dataType.doesBlockEditorBlockContainInlineEditing(blockGridEditorName, contentElementTypeId, false)).toBeTruthy(); }); -test('can enable hide content editor in a block', async ({umbracoApi, umbracoUi}) => { +test('can enable hide content editor in a block', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const contentElementTypeId = await umbracoApi.documentType.createDefaultElementType(elementTypeName, groupName, dataTypeName, textStringData.id); 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 f255bdc861..54eed6a464 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 @@ -93,7 +93,7 @@ test('can add a block to a block grid editor', {tag: '@smoke'}, async ({umbracoA await umbracoApi.documentType.ensureNameNotExists(elementTypeName); }); -test('can add multiple blocks to a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can add multiple blocks to a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const secondElementName = 'SecondBlockGridElement'; @@ -138,7 +138,7 @@ test('can remove a block from a block grid editor', {tag: '@smoke'}, async ({umb await umbracoApi.documentType.ensureNameNotExists(elementTypeName); }); -test('can add a block to a group in a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can add a block to a group in a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const textStringData = await umbracoApi.dataType.getByName(dataTypeName); const elementTypeId = await umbracoApi.documentType.createDefaultElementType(elementTypeName, groupName, dataTypeName, textStringData.id); @@ -242,7 +242,7 @@ test.skip('can delete a group in a block grid editor', async ({umbracoApi, umbra await umbracoUi.dataType.goToDataType(blockGridEditorName); }); -test('can add a min and max amount to a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can add a min and max amount to a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const minAmount = 1; const maxAmount = 2; @@ -282,7 +282,7 @@ test('max can not be less than min in a block grid editor', async ({umbracoApi, expect(dataTypeData.values[0].value.max).toBe(oldMaxAmount); }); -test('can enable live editing mode in a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can enable live editing mode in a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.dataType.createEmptyBlockGrid(blockGridEditorName); @@ -310,7 +310,7 @@ test('can disable live editing mode in a block grid editor', async ({umbracoApi, expect(await umbracoApi.dataType.isLiveEditingModeEnabledForBlockEditor(blockGridEditorName, false)).toBeTruthy(); }); -test('can add editor width in a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can add editor width in a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const propertyEditorWidth = '100%'; await umbracoApi.dataType.createEmptyBlockGrid(blockGridEditorName); @@ -341,7 +341,7 @@ test('can remove editor width in a block grid editor', async ({umbracoApi, umbra expect(await umbracoApi.dataType.doesMaxPropertyContainWidthForBlockEditor(blockGridEditorName, '')).toBeTruthy(); }); -test('can add a create button label in a block grid editor', async ({umbracoApi, umbracoUi}) => { +test('can add a create button label in a block grid editor', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const createButtonLabel = 'Create Block'; await umbracoApi.dataType.createEmptyBlockGrid(blockGridEditorName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/CheckboxList.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/CheckboxList.spec.ts index 2a137796bf..0e0c3fd208 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/CheckboxList.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/CheckboxList.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Checkbox list'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ContentPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ContentPicker.spec.ts index 41bd278570..537c6b96c6 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ContentPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ContentPicker.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Content Picker'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataType.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataType.spec.ts index cb26ee1e3c..7f97bfc383 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataType.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataType.spec.ts @@ -1,4 +1,4 @@ -import {NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'TestDataType'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts index ad61dd3f3a..622491d594 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeCollectionWorkspace.spec.ts @@ -1,4 +1,4 @@ -import {NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'TestDataType'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeFolder.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeFolder.spec.ts index 2c6e7c86e9..7429e8b2e1 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeFolder.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/DataTypeFolder.spec.ts @@ -17,7 +17,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.dataType.ensureNameNotExists(dataTypeFolderName); }); -test('can create a data type folder', async ({umbracoApi, umbracoUi}) => { +test('can create a data type folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.dataType.clickActionsMenuAtRoot(); await umbracoUi.dataType.createDataTypeFolder(dataTypeFolderName); @@ -126,7 +126,7 @@ test('can create a folder in a folder in a folder', async ({umbracoApi, umbracoU expect(childrenFolderData[0].isFolder).toBeTruthy(); }); -test('cannot delete a non-empty data type folder', async ({umbracoApi, umbracoUi}) => { +test('cannot delete a non-empty data type folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange let dataTypeFolderId = await umbracoApi.dataType.createFolder(dataTypeFolderName); expect(await umbracoApi.dataType.doesNameExist(dataTypeFolderName)).toBeTruthy(); @@ -151,7 +151,7 @@ test('cannot delete a non-empty data type folder', async ({umbracoApi, umbracoUi await umbracoApi.dataType.ensureNameNotExists(dataTypeName); }); -test('can move a data type to a data type folder', async ({umbracoApi, umbracoUi}) => { +test('can move a data type to a data type folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.dataType.ensureNameNotExists(dataTypeName); const dataTypeId = await umbracoApi.dataType.create(dataTypeName, editorAlias, editorUiAlias,[]); @@ -174,7 +174,7 @@ test('can move a data type to a data type folder', async ({umbracoApi, umbracoUi await umbracoApi.dataType.ensureNameNotExists(dataTypeName); }); -test('can duplicate a data type to a data type folder', async ({umbracoApi, umbracoUi}) => { +test('can duplicate a data type to a data type folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.dataType.ensureNameNotExists(dataTypeName); await umbracoApi.dataType.create(dataTypeName, editorAlias, editorUiAlias, []); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Dropdown.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Dropdown.spec.ts index 4c924d37ad..69e53cdc5b 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Dropdown.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Dropdown.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const customDataTypeName = 'Custom Dropdown'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Label.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Label.spec.ts index 87bafe1377..99543c5b6c 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Label.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Label.spec.ts @@ -1,4 +1,4 @@ -import { ConstantHelper, NotificationConstantHelper, test } from "@umbraco/playwright-testhelpers"; +import { ConstantHelper, test } from "@umbraco/playwright-testhelpers"; import { expect } from "@playwright/test"; const labelTypes = [ diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ListView.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ListView.spec.ts index 7edfa8681e..abaa417bb5 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ListView.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/ListView.spec.ts @@ -1,4 +1,4 @@ -import { ConstantHelper, NotificationConstantHelper, test } from "@umbraco/playwright-testhelpers"; +import { ConstantHelper, test } from "@umbraco/playwright-testhelpers"; import { expect } from "@playwright/test"; const listViewTypes = [ diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/MultiUrlPicker.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/MultiUrlPicker.spec.ts index ac0661264a..f062cf21d1 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/MultiUrlPicker.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/MultiUrlPicker.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Multi URL Picker'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Numeric.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Numeric.spec.ts index 93a9837faf..dce151a027 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Numeric.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Numeric.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Numeric'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Radiobox.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Radiobox.spec.ts index de6c786e1b..655fe7a7e1 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Radiobox.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Radiobox.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Radiobox'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tags.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tags.spec.ts index b1d619d595..886093e289 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tags.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tags.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Tags'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textarea.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textarea.spec.ts index d9ac836d2c..c5cb22b241 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textarea.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textarea.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Textarea'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textstring.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textstring.spec.ts index 2123e8a631..ed57049a59 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textstring.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Textstring.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'Textstring'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tiptap.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tiptap.spec.ts index e4b1a57200..9d525a57e5 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tiptap.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/Tiptap.spec.ts @@ -1,4 +1,4 @@ -import {NotificationConstantHelper, test} from "@umbraco/playwright-testhelpers"; +import {test} from "@umbraco/playwright-testhelpers"; import {expect} from "@playwright/test"; const tipTapName = 'TestTiptap'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/TrueFalse.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/TrueFalse.spec.ts index ab163d88dc..932ed9db6c 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/TrueFalse.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/TrueFalse.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const dataTypeName = 'True/false'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/UploadField.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/UploadField.spec.ts index 5f2821e538..e405fad0ad 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/UploadField.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataType/UploadField.spec.ts @@ -1,4 +1,4 @@ -import { ConstantHelper, NotificationConstantHelper, test } from "@umbraco/playwright-testhelpers"; +import { ConstantHelper, test } from "@umbraco/playwright-testhelpers"; import { expect } from "@playwright/test"; const uploadTypes = [ diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/ListViewMedia.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/ListViewMedia.spec.ts index 9ec4658c46..8861d71dcc 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/ListViewMedia.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/ListViewMedia.spec.ts @@ -1,5 +1,5 @@ import {expect} from '@playwright/test'; -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; const dataTypeName = 'List View - Media'; let dataTypeDefaultData = null; @@ -96,7 +96,7 @@ test('can disable one view in the media section', async ({umbracoApi, umbracoUi} await umbracoUi.media.isMediaGridViewVisible(false); }); -test('can allow bulk trash in the media section', async ({umbracoApi, umbracoUi}) => { +test('can allow bulk trash in the media section', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.media.goToSection(ConstantHelper.sections.media); await umbracoUi.media.selectMediaWithName(firstMediaFileName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/Media.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/Media.spec.ts index 14ec1d0fe5..954ce88272 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/Media.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/Media.spec.ts @@ -14,7 +14,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.media.ensureNameNotExists(mediaFileName); }); -test('can not create a empty media file', async ({umbracoApi, umbracoUi}) => { +test('can not create a empty media file', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.media.goToSection(ConstantHelper.sections.media); @@ -58,7 +58,7 @@ const mediaFileTypes = [ ]; for (const mediaFileType of mediaFileTypes) { - test(`can create a media file with the ${mediaFileType.fileName} type`, async ({umbracoApi, umbracoUi}) => { + test(`can create a media file with the ${mediaFileType.fileName} type`, {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.media.ensureNameNotExists(mediaFileType.fileName); await umbracoUi.media.goToSection(ConstantHelper.sections.media); @@ -230,7 +230,7 @@ test('can delete a media item from the recycle bin', async ({umbracoApi, umbraco expect(await umbracoApi.media.doesMediaItemExistInRecycleBin(mediaFileName)).toBeFalsy(); }); -test('can empty the recycle bin', async ({umbracoApi, umbracoUi}) => { +test('can empty the recycle bin', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.media.emptyRecycleBin(); await umbracoApi.media.createDefaultMediaFile(mediaFileName); @@ -249,7 +249,7 @@ test('can empty the recycle bin', async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.media.doesMediaItemExistInRecycleBin(mediaFileName)).toBeFalsy(); }); -test('can trash a media node with a relation', async ({umbracoApi, umbracoUi}) => { +test('can trash a media node with a relation', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const documentPickerName = ['TestPicker', 'DocumentTypeForPicker']; await umbracoApi.media.emptyRecycleBin(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/MemberGroups.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/MemberGroups.spec.ts index 3c8b3d9b88..25d6b4cb08 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/MemberGroups.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/MemberGroups.spec.ts @@ -26,7 +26,7 @@ test('can create a member group', {tag: '@smoke'}, async ({umbracoApi, umbracoUi expect(await umbracoApi.memberGroup.doesNameExist(memberGroupName)).toBeTruthy(); }); -test('cannot create member group with empty name', async ({umbracoApi, umbracoUi}) => { +test('cannot create member group with empty name', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.memberGroup.clickMemberGroupCreateButton(); await umbracoUi.memberGroup.clickSaveButton(); @@ -36,7 +36,7 @@ test('cannot create member group with empty name', async ({umbracoApi, umbracoUi expect(await umbracoApi.memberGroup.doesNameExist(memberGroupName)).toBeFalsy(); }); -test('cannot create member group with duplicate name', async ({umbracoApi, umbracoUi}) => { +test('cannot create member group with duplicate name', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.memberGroup.create(memberGroupName); expect(await umbracoApi.memberGroup.doesNameExist(memberGroupName)).toBeTruthy(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/Members.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/Members.spec.ts index c959d876c3..654c2da7bf 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/Members.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/Members.spec.ts @@ -223,7 +223,7 @@ test('can delete member', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.member.doesNameExist(memberName)).toBeFalsy(); }); -test('cannot create member with invalid email', async ({umbracoApi, umbracoUi}) => { +test('cannot create member with invalid email', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const invalidEmail = 'invalidemail'; await umbracoUi.member.goToMembers(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Dashboard/Welcome.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Dashboard/Welcome.spec.ts index c0800d7c42..20161981e4 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Dashboard/Welcome.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Dashboard/Welcome.spec.ts @@ -5,7 +5,7 @@ test.beforeEach(async ({umbracoUi}) => { await umbracoUi.welcomeDashboard.goToSection(ConstantHelper.sections.settings); }); -test('can click on buttons', async ({umbracoUi}) => { +test('can click on buttons', {tag: '@release'}, async ({umbracoUi}) => { // Arrange const getTheHelpYouNeedDocumentationUrl = 'https://docs.umbraco.com/umbraco-cms'; const goToTheForumUrl = 'https://forum.umbraco.com/'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentBlueprint/DocumentBlueprint.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentBlueprint/DocumentBlueprint.spec.ts index c387a03496..fdcef65d63 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentBlueprint/DocumentBlueprint.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentBlueprint/DocumentBlueprint.spec.ts @@ -76,7 +76,7 @@ test('can delete a document blueprint', async ({umbracoApi, umbracoUi}) => { await umbracoUi.documentBlueprint.isDocumentBlueprintRootTreeItemVisible(documentBlueprintName, false, false); }); -test('can create a document blueprint from the content menu', async ({umbracoApi, umbracoUi}) => { +test('can create a document blueprint from the content menu', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const documentTypeId = await umbracoApi.documentType.createDefaultDocumentTypeWithAllowAsRoot(documentTypeName); await umbracoApi.document.createDefaultDocument(documentBlueprintName, documentTypeId); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeCollectionWorkspace.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeCollectionWorkspace.spec.ts index 85edfa5c21..855f93fe71 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeCollectionWorkspace.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeCollectionWorkspace.spec.ts @@ -34,7 +34,7 @@ test('can create a document type using create options', async ({umbracoApi, umbr await umbracoUi.documentType.doesCollectionTreeItemTableRowHaveIcon(documentTypeName, 'icon-document'); }); -test('can create a document type with a template using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a document type with a template using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.template.ensureNameNotExists(documentTypeName); await umbracoUi.documentType.clickDocumentTypesMenu(); @@ -61,7 +61,7 @@ test('can create a document type with a template using create options', async ({ await umbracoApi.template.ensureNameNotExists(documentTypeName); }); -test('can create a element type using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a element type using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.documentType.clickDocumentTypesMenu(); @@ -82,7 +82,7 @@ test('can create a element type using create options', async ({umbracoApi, umbra await umbracoUi.documentType.doesCollectionTreeItemTableRowHaveIcon(documentTypeName, 'icon-plugin'); }); -test('can create a document type folder using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a document type folder using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.documentType.clickDocumentTypesMenu(); 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 6f085a9bd5..d8762287aa 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 @@ -153,7 +153,7 @@ test('can create a document type with a property in a tab', {tag: '@smoke'}, asy expect(await umbracoApi.documentType.doesTabContainCorrectPropertyEditorInGroup(documentTypeName, dataTypeName, documentTypeData.properties[0].dataType.id, tabName, groupName)).toBeTruthy(); }); -test('can create a document type with multiple groups', async ({umbracoApi, umbracoUi}) => { +test('can create a document type with multiple groups', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondDataTypeName = 'Image Media Picker'; @@ -176,7 +176,7 @@ test('can create a document type with multiple groups', async ({umbracoApi, umbr expect(await umbracoApi.documentType.doesGroupContainCorrectPropertyEditor(documentTypeName, secondDataTypeName, secondDataType.id, secondGroupName)).toBeTruthy(); }); -test('can create a document type with multiple tabs', async ({umbracoApi, umbracoUi}) => { +test('can create a document type with multiple tabs', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondDataTypeName = 'Image Media Picker'; @@ -373,7 +373,7 @@ test('can set is mandatory for a property in a document type', {tag: '@smoke'}, expect(documentTypeData.properties[0].validation.mandatory).toBeTruthy(); }); -test('can enable validation for a property in a document type', async ({umbracoApi, umbracoUi}) => { +test('can enable validation for a property in a document type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const regex = '^[a-zA-Z0-9]*$'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeFolder.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeFolder.spec.ts index c060e0ff2b..7ce674fea0 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeFolder.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeFolder.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from '@playwright/test'; const documentFolderName = 'TestFolder'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeStructureTab.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeStructureTab.spec.ts index b3b6ef65a4..dc9f47ab24 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeStructureTab.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeStructureTab.spec.ts @@ -72,7 +72,7 @@ test('can remove an allowed child node from a document type', async ({umbracoApi await umbracoApi.documentType.ensureNameNotExists(childDocumentTypeName); }); -test('can configure a collection for a document type', async ({umbracoApi, umbracoUi}) => { +test('can configure a collection for a document type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const collectionDataTypeName = 'TestCollection'; await umbracoApi.dataType.ensureNameNotExists(collectionDataTypeName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Language/Language.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Language/Language.spec.ts index 43a10231b0..55b28d7e98 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Language/Language.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Language/Language.spec.ts @@ -122,7 +122,7 @@ test('can add fallback language', async ({umbracoApi, umbracoUi}) => { expect(languageData.fallbackIsoCode).toBe(defaultLanguageIsoCode); }); -test('cannot add a language with duplicate ISO code', async ({umbracoApi, umbracoUi}) => { +test('cannot add a language with duplicate ISO code', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.language.create(languageName, false, false, isoCode); expect(await umbracoApi.language.doesExist(isoCode)).toBeTruthy(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeCollectionWorkspace.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeCollectionWorkspace.spec.ts index 81b97d774e..e27bf836ac 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeCollectionWorkspace.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/MediaType/MediaTypeCollectionWorkspace.spec.ts @@ -1,5 +1,5 @@ import {expect} from "@playwright/test"; -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; const mediaTypeName = 'TestMediaType'; const mediaTypeFolderName = 'TestMediaTypeFolder'; @@ -16,7 +16,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.mediaType.ensureNameNotExists(mediaTypeFolderName); }); -test('can create a media type using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a media type using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.mediaType.clickMediaTypesMenu(); @@ -35,7 +35,7 @@ test('can create a media type using create options', async ({umbracoApi, umbraco await umbracoUi.mediaType.isMediaTypeTreeItemVisible(mediaTypeName); }); -test('can create a media type folder using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a media type folder using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.mediaType.clickMediaTypesMenu(); @@ -53,7 +53,7 @@ test('can create a media type folder using create options', async ({umbracoApi, await umbracoUi.mediaType.doesCollectionTreeItemTableRowHaveIcon(mediaTypeFolderName, 'icon-folder'); }); -test('can create a media type in a folder using create options', async ({umbracoApi, umbracoUi}) => { +test('can create a media type in a folder using create options', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.mediaType.createFolder(mediaTypeFolderName); await umbracoUi.mediaType.goToMediaType(mediaTypeFolderName); 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 f3e96e4f28..62931cf7b2 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 @@ -127,7 +127,7 @@ test('can set a property as mandatory in a media type', {tag: '@smoke'}, async ( expect(mediaTypeData.properties[0].validation.mandatory).toBeTruthy(); }); -test('can set up validation for a property in a media type', async ({umbracoApi, umbracoUi}) => { +test('can set up validation for a property in a media type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const regex = '^[a-zA-Z0-9]*$'; @@ -226,7 +226,7 @@ test('can create a media type with multiple groups', {tag: '@smoke'}, async ({um expect(await umbracoApi.mediaType.doesGroupContainCorrectPropertyEditor(mediaTypeName, secondDataTypeName, secondDataType.id, secondGroupName)).toBeTruthy(); }); -test('can create a media type with multiple tabs', async ({umbracoApi, umbracoUi}) => { +test('can create a media type with multiple tabs', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); const secondDataTypeName = 'Image Media Picker'; @@ -251,7 +251,7 @@ test('can create a media type with multiple tabs', async ({umbracoApi, umbracoUi expect(await umbracoApi.mediaType.doesTabContainCorrectPropertyEditorInGroup(mediaTypeName, secondDataTypeName, secondDataType.id, secondTabName, secondGroupName)).toBeTruthy(); }); -test('can delete a tab from a media type', async ({umbracoApi, umbracoUi}) => { +test('can delete a tab from a media type', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const dataTypeData = await umbracoApi.dataType.getByName(dataTypeName); await umbracoApi.mediaType.createMediaTypeWithPropertyEditorInTab(mediaTypeName, dataTypeName, dataTypeData.id, tabName, groupName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialView.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialView.spec.ts index 8c77f463f4..a4e933b59e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialView.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialView.spec.ts @@ -280,7 +280,7 @@ test('can show returned items in query builder ', async ({umbracoApi, umbracoUi} await umbracoApi.document.ensureNameNotExists(childContentName); }); -test('cannot create a partial view with an empty name', async ({umbracoApi, umbracoUi}) => { +test('cannot create a partial view with an empty name', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.partialView.clickActionsMenuAtRoot(); await umbracoUi.partialView.clickCreateOptionsActionMenuOption(); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialViewFolder.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialViewFolder.spec.ts index 21bb81e47b..3cd2806f9b 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialViewFolder.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/PartialView/PartialViewFolder.spec.ts @@ -145,7 +145,7 @@ test('can create a folder in a folder in a folder', {tag: '@smoke'}, async ({umb await umbracoUi.partialView.isPartialViewRootTreeItemVisible(childOfChildFolderName, true, false); }); -test('cannot delete non-empty folder', async ({umbracoApi, umbracoUi}) => { +test('cannot delete non-empty folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const childFolderName = 'ChildFolderName'; await umbracoApi.partialView.createFolder(folderName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/Script.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/Script.spec.ts index c9bf110c17..70630dc981 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/Script.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/Script.spec.ts @@ -101,7 +101,7 @@ test('can rename a script', async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.script.doesNameExist(wrongScriptName)).toBeFalsy(); }); -test('cannot create a script with an empty name', async ({umbracoApi, umbracoUi}) => { +test('cannot create a script with an empty name', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.script.goToSection(ConstantHelper.sections.settings); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/ScriptFolder.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/ScriptFolder.spec.ts index 4d28c618f6..9698acb51f 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/ScriptFolder.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Script/ScriptFolder.spec.ts @@ -137,7 +137,7 @@ test('can create a script in a folder in a folder', async ({umbracoApi, umbracoU await umbracoUi.script.isScriptRootTreeItemVisible(scriptName, true, false); }); -test('cannot delete non-empty folder', async ({umbracoApi, umbracoUi}) => { +test('cannot delete non-empty folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const childFolderName = 'ChildFolderName'; await umbracoApi.script.createFolder(scriptFolderName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/Stylesheet.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/Stylesheet.spec.ts index 0667fdce87..687faafb83 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/Stylesheet.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/Stylesheet.spec.ts @@ -102,7 +102,7 @@ test('can rename a stylesheet', {tag: '@smoke'}, async ({umbracoApi, umbracoUi}) expect(await umbracoApi.stylesheet.doesNameExist(wrongStylesheetName)).toBeFalsy(); }); -test('cannot create a stylesheet with an empty name', async ({umbracoApi, umbracoUi}) => { +test('cannot create a stylesheet with an empty name', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoUi.stylesheet.goToSection(ConstantHelper.sections.settings); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/StylesheetFolder.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/StylesheetFolder.spec.ts index 8304a1de2e..3c270b6d37 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/StylesheetFolder.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Stylesheet/StylesheetFolder.spec.ts @@ -141,7 +141,7 @@ test('can create a stylesheet in a folder in a folder', async ({umbracoApi, umbr await umbracoUi.stylesheet.isStylesheetRootTreeItemVisible(stylesheetName, true, false); }); -test('cannot delete non-empty folder', async ({umbracoApi, umbracoUi}) => { +test('cannot delete non-empty folder', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const childFolderName = 'ChildFolderName'; await umbracoApi.stylesheet.createFolder(stylesheetFolderName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Template/Templates.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Template/Templates.spec.ts index 17d89c475a..2b86a54d0e 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Template/Templates.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/Template/Templates.spec.ts @@ -85,7 +85,7 @@ test('can delete a template', async ({umbracoApi, umbracoUi}) => { await umbracoUi.template.isTemplateRootTreeItemVisible(templateName, false, false); }); -test('can set a template as master template', async ({umbracoApi, umbracoUi}) => { +test('can set a template as master template', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const childTemplateName = 'ChildTemplate'; await umbracoApi.template.ensureNameNotExists(childTemplateName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/ContentWithTinyMCERichTextEditor.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/ContentWithTinyMCERichTextEditor.spec.ts index 37bfc1c97f..bdcd2d7ca4 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/ContentWithTinyMCERichTextEditor.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/ContentWithTinyMCERichTextEditor.spec.ts @@ -29,7 +29,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentType.ensureNameNotExists(documentTypeName); }); -test('can create content with a rich text editor that has a stylesheet', async ({umbracoApi, umbracoUi}) => { +test('can create content with a rich text editor that has a stylesheet', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); testUserCookieAndToken = await umbracoApi.user.loginToUser(testUser.name, testUser.email, testUser.password); 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 11aad82ae3..2960ad27fa 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 @@ -1,26 +1,33 @@ import {ConstantHelper, NotificationConstantHelper, test} from "@umbraco/playwright-testhelpers"; import {expect} from "@playwright/test"; +// Document Type const rootDocumentTypeName = 'RootDocumentType'; const childDocumentTypeOneName = 'ChildDocumentTypeOne'; const childDocumentTypeTwoName = 'ChildDocumentTypeTwo'; let childDocumentTypeId = null; let rootDocumentTypeId = null; + +// Document const rootDocumentName = 'RootDocument'; const childDocumentOneName = 'ChildDocumentOne'; const childDocumentTwoName = 'SecondChildDocument'; let rootDocumentId = null; +// Data Type const dataTypeName = 'Textstring'; let dataTypeId = null; const documentText = 'This is test document text'; +// Document Blueprint const testDocumentName = 'TestDocument'; const documentBlueprintName = 'TestBlueprintName'; +// User const testUser = ConstantHelper.testUserCredentials; let testUserCookieAndToken = {cookie: "", accessToken: "", refreshToken: ""}; +// User Group const userGroupName = 'TestUserGroup'; let userGroupId = null; @@ -49,7 +56,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.documentBlueprint.ensureNameNotExists(documentBlueprintName); }); -test('can browse content node with permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can read content node with permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -64,7 +71,7 @@ test('can browse content node with permission enabled', async ({umbracoApi, umbr await umbracoUi.content.doesDocumentHaveName(rootDocumentName); }); -test('can not browse content node with permission disabled', async ({umbracoApi, umbracoUi}) => { +test('can not read content node with permission disabled', async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermission(userGroupName, false); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -79,7 +86,7 @@ test('can not browse content node with permission disabled', async ({umbracoApi, await umbracoUi.content.doesDocumentWorkspaceHaveText('Not found'); }); -test('can create document blueprint with permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can create document blueprint with permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithCreateDocumentBlueprintPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -111,7 +118,7 @@ test('can not create document blueprint with permission disabled', async ({umbra await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can delete content with delete permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can delete content with delete permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithDeleteDocumentPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -143,7 +150,7 @@ test('can not delete content with delete permission disabled', async ({umbracoAp await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can empty recycle bin with delete permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can empty recycle bin with delete permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.moveToRecycleBin(rootDocumentId); userGroupId = await umbracoApi.userGroup.createUserGroupWithDeleteDocumentPermission(userGroupName); @@ -177,7 +184,7 @@ test('can not empty recycle bin with delete permission disabled', async ({umbrac await umbracoUi.content.isActionsMenuForRecycleBinVisible(false); }); -test('can create content with create permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can create content with create permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithCreateDocumentPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -238,7 +245,7 @@ test('can not create notifications with notification permission disabled', async await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can publish content with publish permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can publish content with publish permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithPublishPermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -302,7 +309,7 @@ test('can not set permissions with set permissions permission disabled', async ( await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can unpublish content with unpublish permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can unpublish content with unpublish permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.publish(rootDocumentId); expect(await umbracoApi.document.isDocumentPublished(rootDocumentId)).toBeTruthy(); @@ -338,7 +345,7 @@ test('can not unpublish content with unpublish permission disabled', async ({umb await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can update content with update permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can update content with update permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithUpdatePermission(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -375,7 +382,7 @@ test('can not update content with update permission disabled', async ({umbracoAp }); // Needs create permission to be enabled to duplicate content -test.fixme('can duplicate content with duplicate permission enabled', async ({umbracoApi, umbracoUi}) => { +test.fixme('can duplicate content with duplicate permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const duplicatedContentName = rootDocumentName + ' (1)'; userGroupId = await umbracoApi.userGroup.createUserGroupWithDuplicatePermission(userGroupName); @@ -417,7 +424,7 @@ test('can not duplicate content with duplicate permission disabled', async ({umb }); // Needs create permission to be enabled to move content -test.fixme('can move content with move to permission enabled', async ({umbracoApi, umbracoUi}) => { +test.fixme('can move content with move to permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const moveToDocumentName = 'SecondRootDocument'; const moveToDocumentId = await umbracoApi.document.createDocumentWithTextContent(moveToDocumentName, rootDocumentTypeId, documentText, dataTypeName); @@ -461,7 +468,7 @@ test('can not move content with move to permission disabled', async ({umbracoApi }); // Needs a better way to assert -test.fixme('can sort children with sort children permission enabled', async ({umbracoApi, umbracoUi}) => { +test.fixme('can sort children with sort children permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.createDefaultDocumentWithParent(childDocumentTwoName, childDocumentTypeId, rootDocumentId); userGroupId = await umbracoApi.userGroup.createUserGroupWithSortChildrenPermission(userGroupName); @@ -502,7 +509,7 @@ test('can not sort children with sort children permission disabled', async ({umb await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can set culture and hostnames with culture and hostnames permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can set culture and hostnames with culture and hostnames permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const domainName = '/domain'; userGroupId = await umbracoApi.userGroup.createUserGroupWithCultureAndHostnamesPermission(userGroupName); @@ -574,7 +581,7 @@ test('can not set public access with public access permission disabled', async ( await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can rollback content with rollback permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can rollback content with rollback permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithRollbackPermission(userGroupName); await umbracoApi.document.publish(rootDocumentId); @@ -616,7 +623,7 @@ test('can not rollback content with rollback permission disabled', async ({umbra await umbracoUi.content.isActionsMenuForNameVisible(rootDocumentName, false); }); -test('can not see delete button in content for userGroup with delete permission disabled and create permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can not see delete button in content for userGroup with delete permission disabled and create permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithDeletePermissionAndCreatePermission(userGroupName, false, true); 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 dd7ef6ebdc..c479594750 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 @@ -1,4 +1,4 @@ -import { expect } from '@playwright/test'; +import {expect} from '@playwright/test'; import {AliasHelper, ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; const testUser = ConstantHelper.testUserCredentials; @@ -35,7 +35,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.userGroup.ensureNameNotExists(userGroupName); }); -test('can only see property values for specific document with read UI enabled', async ({umbracoApi, umbracoUi}) => { +test('can only see property values for specific document with read UI enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(userGroupName, firstDocumentId, documentTypeId, firstPropertyName[0], true, false, secondPropertyName[0], true, false); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -50,7 +50,7 @@ test('can only see property values for specific document with read UI enabled', await umbracoUi.content.isPropertyEditorUiWithNameReadOnly(firstPropertyName[1]); await umbracoUi.content.isPropertyEditorUiWithNameReadOnly(secondPropertyName[1]); await umbracoUi.content.goToContentWithName(secondDocumentName); - await umbracoUi.content.doesDocumentWorkspaceHaveText('Access denied'); + await umbracoUi.content.doesDocumentWorkspaceHaveText('Not found'); }); test('cannot see specific property value without UI read permission enabled', async ({umbracoApi, umbracoUi}) => { @@ -69,7 +69,7 @@ test('cannot see specific property value without UI read permission enabled', as await umbracoUi.content.isPropertyEditorUiWithNameVisible(secondPropertyName[1], false); }); -test('can see specific property values with UI read permission enabled', async ({umbracoApi, umbracoUi}) => { +test('can see specific property values with UI read permission enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(userGroupName, firstDocumentId, documentTypeId, firstPropertyName[0], true, false, secondPropertyName[0], true, false); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -85,7 +85,7 @@ test('can see specific property values with UI read permission enabled', async ( await umbracoUi.content.isPropertyEditorUiWithNameReadOnly(secondPropertyName[1]); }); -test('can see property with UI read enabled but not another property with UI read disabled in the same document', async ({umbracoApi, umbracoUi}) => { +test('can see property with UI read enabled but not another property with UI read disabled in the same document', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(userGroupName, firstDocumentId, documentTypeId, firstPropertyName[0], true, false, secondPropertyName[0], false, false); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -103,7 +103,7 @@ test('can see property with UI read enabled but not another property with UI rea // 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', async ({umbracoApi, umbracoUi}) => { +test.skip('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); @@ -126,7 +126,7 @@ test.skip('can edit specific property values with UI read and write permission e expect(firstDocumentData.values[1].value).toEqual(true); }); -test('cannot see specific property values with UI write permission enabled and UI read permission disabled', async ({umbracoApi, umbracoUi}) => { +test('cannot see specific property values with UI write permission enabled and UI read permission disabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(userGroupName, firstDocumentId, documentTypeId, firstPropertyName[0], false, true, secondPropertyName[0], false, true); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermission.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermission.spec.ts index 47a1703c9c..2e84a852d2 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermission.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermission.spec.ts @@ -1,5 +1,5 @@ -import { expect } from '@playwright/test'; -import {AliasHelper, ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {expect} from '@playwright/test'; +import {AliasHelper, ConstantHelper, test} from '@umbraco/playwright-testhelpers'; const testUser = ConstantHelper.testUserCredentials; let testUserCookieAndToken = {cookie: "", accessToken: "", refreshToken: ""}; @@ -43,7 +43,7 @@ test('cannot see property values without UI read permission', async ({umbracoApi await umbracoUi.content.isPropertyEditorUiWithNameVisible('text-box', false); }); -test('can see property values with UI read but not UI write permission', async ({umbracoApi, umbracoUi}) => { +test('can see property values with UI read but not UI write permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermissionAndReadPropertyValuePermission(userGroupName, true, true); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -58,7 +58,7 @@ test('can see property values with UI read but not UI write permission', async ( await umbracoUi.content.isPropertyEditorUiWithNameReadOnly('text-box'); }); -test('cannot open content without document read permission even with UI read permission', async ({umbracoApi, umbracoUi}) => { +test('cannot open content without document read permission even with UI read permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermissionAndReadPropertyValuePermission(userGroupName, false, true); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); @@ -70,7 +70,7 @@ test('cannot open content without document read permission even with UI read per await umbracoUi.content.goToContentWithName(documentName); // Assert - await umbracoUi.content.doesDocumentWorkspaceHaveText('Access denied'); + await umbracoUi.content.doesDocumentWorkspaceHaveText('Not found'); }); test('cannot edit property values without UI write permission', async ({umbracoApi, umbracoUi}) => { diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermissionInBlock.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermissionInBlock.spec.ts index d04a992c21..df8fbe5140 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermissionInBlock.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/DocumentPropertyValuePermissionInBlock.spec.ts @@ -31,7 +31,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.dataType.ensureNameNotExists(customDataTypeName); }); -test('can see property values in block list with UI read but not UI write permission', async ({umbracoApi, umbracoUi}) => { +test('can see property values in block list with UI read but not UI write permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.createDefaultDocumentWithABlockListEditor(documentName, elementTypeId, documentTypeName, customDataTypeName); userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermissionAndReadPropertyValuePermission(userGroupName, true, true); @@ -51,7 +51,7 @@ test('can see property values in block list with UI read but not UI write permis // Remove .skip when the front-end is ready. // Issue link: https://github.com/umbraco/Umbraco-CMS/issues/19395 -test.skip('can edit property values in block list with UI write permission', async ({umbracoApi, umbracoUi}) => { +test.skip('can edit property values in block list with UI write permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const updatedText = 'Updated test text'; await umbracoApi.document.createDefaultDocumentWithABlockListEditor(documentName, elementTypeId, documentTypeName, customDataTypeName); @@ -90,7 +90,7 @@ test('cannot see property values in block list with only UI write but no UI read await umbracoUi.content.isPropertyEditorUiWithNameVisible('block-list', false); }); -test('can see property values in block grid with UI read but not UI write permission', async ({umbracoApi, umbracoUi}) => { +test('can see property values in block grid with UI read but not UI write permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.createDefaultDocumentWithABlockGridEditor(documentName, elementTypeId, documentTypeName, customDataTypeName); userGroupId = await umbracoApi.userGroup.createUserGroupWithReadPermissionAndReadPropertyValuePermission(userGroupName, true, true); @@ -110,7 +110,7 @@ test('can see property values in block grid with UI read but not UI write permis // Remove .skip when the front-end is ready. // Issue link: https://github.com/umbraco/Umbraco-CMS/issues/19395 -test.skip('can edit property values in block grid with UI write permission', async ({umbracoApi, umbracoUi}) => { +test.skip('can edit property values in block grid with UI write permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const updatedText = 'Updated test text'; await umbracoApi.document.createDefaultDocumentWithABlockGridEditor(documentName, elementTypeId, documentTypeName, customDataTypeName); @@ -133,7 +133,7 @@ test.skip('can edit property values in block grid with UI write permission', asy expect(documentData.values[0].value.contentData[0].values[0].value).toEqual(updatedText); }); -test('cannot see property values in block grid with only UI write but no UI read permission', async ({umbracoApi, umbracoUi}) => { +test('cannot see property values in block grid with only UI write but no UI read permission', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.document.createDefaultDocumentWithABlockGridEditor(documentName, elementTypeId, documentTypeName, customDataTypeName); userGroupId = await umbracoApi.userGroup.createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(userGroupName, true, true, false); 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 29dd874a10..c9b868a13d 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 @@ -1,4 +1,4 @@ -import {AliasHelper, ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {AliasHelper, ConstantHelper, test} from '@umbraco/playwright-testhelpers'; const testUser = ConstantHelper.testUserCredentials; let testUserCookieAndToken = {cookie: "", accessToken: "", refreshToken: ""}; @@ -102,7 +102,7 @@ test('can not rename content with language not set in userGroup', async ({umbrac await umbracoUi.content.isDocumentNameInputEditable(false); }); -test('can update content property with language set in userGroup', async ({umbracoApi, umbracoUi}) => { +test('can update content property with language set in userGroup', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithLanguageAndContentSection(userGroupName, englishIsoCode); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MediaStartNodes.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MediaStartNodes.spec.ts index ac284c12ba..7c71bb01fc 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MediaStartNodes.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MediaStartNodes.spec.ts @@ -33,7 +33,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.media.ensureNameNotExists(childFolderTwoName); }); -test('can see root media start node and children', async ({umbracoApi, umbracoUi}) => { +test('can see root media start node and children', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithMediaStartNode(userGroupName, rootFolderId); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MemberSection.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MemberSection.spec.ts index f0233c05bc..7e627ba73c 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MemberSection.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/MemberSection.spec.ts @@ -31,7 +31,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.userGroup.ensureNameNotExists(userGroupName); }); -test('can access members section with section enabled', async ({umbracoApi, umbracoUi}) => { +test('can access members section with section enabled', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createUserGroupWithMemberSection(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId, [], true, [], false, 'en-us'); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Sections.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Sections.spec.ts index 0932ab7f62..d3a11847ad 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Sections.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/Permissions/UserGroup/Sections.spec.ts @@ -31,7 +31,7 @@ test('can go to section defined in userGroup', async ({umbracoApi, umbracoUi}) = await umbracoUi.content.goToSection(ConstantHelper.sections.content, false); }); -test('can not see section that is not defined in userGroup', async ({umbracoApi, umbracoUi}) => { +test('can not see section that is not defined in userGroup', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange userGroupId = await umbracoApi.userGroup.createSimpleUserGroupWithContentSection(userGroupName); await umbracoApi.user.setUserPermissions(testUser.name, testUser.email, testUser.password, userGroupId); 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 6feac90525..8ed4f3b7b8 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/User.spec.ts @@ -111,7 +111,7 @@ test('can remove a user group from a user', {tag: '@smoke'}, async ({umbracoApi, expect(userData.userGroupIds).toEqual([]); }); -test('can update culture for a user', async ({umbracoApi, umbracoUi}) => { +test('can update culture for a user', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const danishIsoCode = 'da'; const userGroup = await umbracoApi.userGroup.getByName(defaultUserGroupName); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts index c1aba1e0a4..331350aaaf 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroups.spec.ts @@ -1,4 +1,4 @@ -import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers'; +import {ConstantHelper, test} from '@umbraco/playwright-testhelpers'; import {expect} from "@playwright/test"; const allPermissions = { @@ -51,7 +51,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.userGroup.ensureNameNotExists(userGroupName); }); -test('can create an empty user group', async ({umbracoApi, umbracoUi}) => { +test('can create an empty user group', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Act await umbracoUi.userGroup.clickUserGroupsButton(); await umbracoUi.userGroup.clickCreateLink(); @@ -87,7 +87,7 @@ test('can rename a user group', async ({umbracoApi, umbracoUi}) => { await umbracoUi.userGroup.isUserGroupWithNameVisible(oldUserGroupName, false); }); -test('can update a user group', async ({umbracoApi, umbracoUi}) => { +test('can update a user group', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.userGroup.createEmptyUserGroup(userGroupName); await umbracoUi.userGroup.clickUserGroupsButton(); @@ -105,7 +105,7 @@ test('can update a user group', async ({umbracoApi, umbracoUi}) => { expect(userGroupData.fallbackPermissions).toContain(allPermissions.verbPermission[0]); }); -test('can delete a user group', async ({umbracoApi, umbracoUi}) => { +test('can delete a user group', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange await umbracoApi.userGroup.createSimpleUserGroupWithContentSection(userGroupName); await umbracoUi.userGroup.clickUserGroupsButton(); @@ -395,7 +395,7 @@ test('can enable all permissions for a user group', async ({umbracoApi, umbracoU expect(userGroupData.fallbackPermissions).toEqual(allPermissions.verbPermission); }); -test('can add granular permission to a specific document for a user group', async ({umbracoApi, umbracoUi}) => { +test('can add granular permission to a specific document for a user group', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const documentTypeName = 'TestDocumentType'; const documentName = 'TestDocument'; @@ -421,7 +421,7 @@ test('can add granular permission to a specific document for a user group', asyn await umbracoApi.document.ensureNameNotExists(documentTypeName); }); -test('can add all granular permissions to a specific document for a user group', async ({umbracoApi, umbracoUi}) => { +test('can add all granular permissions to a specific document for a user group', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const documentTypeName = 'TestDocumentType'; const documentName = 'TestDocument'; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts index 1e34bc65eb..6cf0289507 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Users/UserGroupsDefaultConfiguration.spec.ts @@ -7,7 +7,7 @@ test.beforeEach(async ({umbracoUi}) => { await umbracoUi.userGroup.clickUserGroupsButton(); }); -test('the default configuration of Administrators is correct', async ({umbracoApi, umbracoUi}) => { +test('the default configuration of Administrators is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Administrators'; const sections = [ @@ -67,7 +67,7 @@ test('the default configuration of Administrators is correct', async ({umbracoAp expect(userGroupData.permissions).toEqual(granularPermissions); }); -test('the default configuration of Editors is correct', async ({umbracoApi, umbracoUi}) => { +test('the default configuration of Editors is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Editors'; const sections = [ @@ -120,7 +120,7 @@ test('the default configuration of Editors is correct', async ({umbracoApi, umbr expect(userGroupData.permissions).toEqual(granularPermissions); }); -test('the default configuration of Sensitive data is correct', async ({umbracoApi, umbracoUi}) => { +test('the default configuration of Sensitive data is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Sensitive data'; const sections = []; @@ -154,7 +154,7 @@ test('the default configuration of Sensitive data is correct', async ({umbracoAp expect(userGroupData.permissions).toEqual(granularPermissions); }); -test('the default configuration of Translators data is correct', async ({umbracoApi, umbracoUi}) => { +test('the default configuration of Translators data is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Translators'; const sections = ["Umb.Section.Translation"]; @@ -191,7 +191,7 @@ test('the default configuration of Translators data is correct', async ({umbraco expect(userGroupData.permissions).toEqual(granularPermissions); }); -test('the default configuration of Writers data is correct', async ({umbracoApi, umbracoUi}) => { +test('the default configuration of Writers data is correct', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const userGroupName = 'Writers'; const sections = ["Umb.Section.Content"]; diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/Webhook.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/Webhook.spec.ts index 7a42842d4b..650c7d09d6 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/Webhook.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/Webhook.spec.ts @@ -14,7 +14,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.webhook.ensureNameNotExists(webhookName); }); -test('can create a webhook', async ({umbracoApi, umbracoUi}) => { +test('can create a webhook', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const event = 'Content Deleted'; const webhookSiteUrl = umbracoApi.webhook.webhookSiteUrl + webhookSiteToken; @@ -122,7 +122,7 @@ test('can disable a webhook', async ({umbracoApi, umbracoUi}) => { await umbracoApi.webhook.isWebhookEnabled(webhookName, false); }); -test('cannot remove all events from a webhook', async ({umbracoApi, umbracoUi}) => { +test('cannot remove all events from a webhook', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const event = 'Content Deleted'; await umbracoApi.webhook.createDefaultWebhook(webhookName, webhookSiteToken, event); @@ -173,7 +173,7 @@ test('can remove a header from a webhook', async ({umbracoApi, umbracoUi}) => { expect(await umbracoApi.webhook.doesWebhookHaveHeader(webhookName, headerName, headerValue)).toBeFalsy(); }); -test('cannot add both content event and media event for a webhook', async ({umbracoApi, umbracoUi}) => { +test('cannot add both content event and media event for a webhook', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { // Arrange const event = 'Content Published'; await umbracoApi.webhook.createDefaultWebhook(webhookName, webhookSiteToken, event); diff --git a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/WebhookTrigger.spec.ts b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/WebhookTrigger.spec.ts index 9d4f1c68a2..51dc9ede2d 100644 --- a/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/WebhookTrigger.spec.ts +++ b/tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Webhook/WebhookTrigger.spec.ts @@ -27,7 +27,7 @@ test.afterEach(async ({umbracoApi}) => { await umbracoApi.media.ensureNameNotExists(mediaName); }); -test('can trigger when content is published', async ({umbracoApi, umbracoUi}) => { +test('can trigger when content is published', {tag: '@release'}, async ({umbracoApi, umbracoUi}) => { test.slow(); // Arrange