diff --git a/tests/sanity-ws/000005/activity-1703183593552-0.snp.gz b/tests/sanity-ws/000005/activity-1703183593552-0.snp.gz new file mode 100644 index 00000000000..952106d8e68 Binary files /dev/null and b/tests/sanity-ws/000005/activity-1703183593552-0.snp.gz differ diff --git a/tests/sanity-ws/000005/activity-data-1703183593552-1.tar.gz b/tests/sanity-ws/000005/activity-data-1703183593552-1.tar.gz new file mode 100644 index 00000000000..19875f685b8 Binary files /dev/null and b/tests/sanity-ws/000005/activity-data-1703183593552-1.tar.gz differ diff --git a/tests/sanity-ws/000005/doc-index-state-1703183593552-0.snp.gz b/tests/sanity-ws/000005/doc-index-state-1703183593552-0.snp.gz new file mode 100644 index 00000000000..8201beb470d Binary files /dev/null and b/tests/sanity-ws/000005/doc-index-state-1703183593552-0.snp.gz differ diff --git a/tests/sanity-ws/000005/doc-index-state-data-1703183593552-1.tar.gz b/tests/sanity-ws/000005/doc-index-state-data-1703183593552-1.tar.gz new file mode 100644 index 00000000000..38024af4aba Binary files /dev/null and b/tests/sanity-ws/000005/doc-index-state-data-1703183593552-1.tar.gz differ diff --git a/tests/sanity-ws/000005/fulltext-blob-1703183593552-0.snp.gz b/tests/sanity-ws/000005/fulltext-blob-1703183593552-0.snp.gz new file mode 100644 index 00000000000..b1b68015e68 Binary files /dev/null and b/tests/sanity-ws/000005/fulltext-blob-1703183593552-0.snp.gz differ diff --git a/tests/sanity-ws/000005/fulltext-blob-data-1703183593552-1.tar.gz b/tests/sanity-ws/000005/fulltext-blob-data-1703183593552-1.tar.gz new file mode 100644 index 00000000000..57ce9ff6088 Binary files /dev/null and b/tests/sanity-ws/000005/fulltext-blob-data-1703183593552-1.tar.gz differ diff --git a/tests/sanity-ws/000005/tracker-1703183593552-0.snp.gz b/tests/sanity-ws/000005/tracker-1703183593552-0.snp.gz new file mode 100644 index 00000000000..937d607dbfc Binary files /dev/null and b/tests/sanity-ws/000005/tracker-1703183593552-0.snp.gz differ diff --git a/tests/sanity-ws/000005/tracker-data-1703183593552-1.tar.gz b/tests/sanity-ws/000005/tracker-data-1703183593552-1.tar.gz new file mode 100644 index 00000000000..77f69de5290 Binary files /dev/null and b/tests/sanity-ws/000005/tracker-data-1703183593552-1.tar.gz differ diff --git a/tests/sanity-ws/000005/tx-1703183593552-0.snp.gz b/tests/sanity-ws/000005/tx-1703183593552-0.snp.gz new file mode 100644 index 00000000000..ac1e36c16d4 Binary files /dev/null and b/tests/sanity-ws/000005/tx-1703183593552-0.snp.gz differ diff --git a/tests/sanity-ws/000005/tx-data-1703183593552-1.tar.gz b/tests/sanity-ws/000005/tx-data-1703183593552-1.tar.gz new file mode 100644 index 00000000000..b0977f6b2cb Binary files /dev/null and b/tests/sanity-ws/000005/tx-data-1703183593552-1.tar.gz differ diff --git a/tests/sanity-ws/backup.json.gz b/tests/sanity-ws/backup.json.gz index 06727e7cd88..405c138d996 100644 Binary files a/tests/sanity-ws/backup.json.gz and b/tests/sanity-ws/backup.json.gz differ diff --git a/tests/sanity/tests/model/tracker/common-tracker-page.ts b/tests/sanity/tests/model/tracker/common-tracker-page.ts index 85e814b3d92..d0262c3c027 100644 --- a/tests/sanity/tests/model/tracker/common-tracker-page.ts +++ b/tests/sanity/tests/model/tracker/common-tracker-page.ts @@ -12,6 +12,7 @@ export class CommonTrackerPage extends CalendarPage { readonly buttonMoveIssuesModal: Locator readonly buttonKeepOriginalMoveIssuesModal: Locator readonly inputKeepOriginalMoveIssuesModal: Locator + readonly buttonMoreActions: Locator constructor (page: Page) { super(page) @@ -27,6 +28,7 @@ export class CommonTrackerPage extends CalendarPage { this.buttonMoveIssuesModal = page.locator('form[id="tracker:string:MoveIssues"] button[type="submit"]') this.buttonKeepOriginalMoveIssuesModal = page.locator('form[id="tracker:string:MoveIssues"] span.toggle-switch') this.inputKeepOriginalMoveIssuesModal = page.locator('form[id="tracker:string:MoveIssues"] input[type="checkbox"]') + this.buttonMoreActions = page.locator('div.popupPanel-title div.flex-row-center > button:first-child') } async selectFilter (filter: string, filterSecondLevel?: string): Promise { diff --git a/tests/sanity/tests/model/tracker/component-details-page.ts b/tests/sanity/tests/model/tracker/component-details-page.ts index 28c9b5cef75..160b69006ed 100644 --- a/tests/sanity/tests/model/tracker/component-details-page.ts +++ b/tests/sanity/tests/model/tracker/component-details-page.ts @@ -38,4 +38,10 @@ export class ComponentsDetailsPage extends CommonTrackerPage { await expect(this.buttonLead).toHaveText(data.lead) } } + + async deleteComponent (): Promise { + await this.buttonMoreActions.click() + await this.selectFromDropdown(this.page, 'Delete') + await this.pressYesDeletePopup(this.page) + } } diff --git a/tests/sanity/tests/model/tracker/components-page.ts b/tests/sanity/tests/model/tracker/components-page.ts index c6698686a43..57ece8ff5da 100644 --- a/tests/sanity/tests/model/tracker/components-page.ts +++ b/tests/sanity/tests/model/tracker/components-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test' +import { expect, type Locator, type Page } from '@playwright/test' import { NewComponent } from './types' import { CommonTrackerPage } from './common-tracker-page' @@ -40,4 +40,8 @@ export class ComponentsPage extends CommonTrackerPage { async openComponentByName (componentName: string): Promise { await this.page.locator('div.row a', { hasText: componentName }).click() } + + async checkComponentNotExist (componentName: string): Promise { + await expect(this.page.locator('div.row a', { hasText: componentName })).toHaveCount(0) + } } diff --git a/tests/sanity/tests/model/tracker/issues-details-page.ts b/tests/sanity/tests/model/tracker/issues-details-page.ts index 41c56504bf3..cba99b59120 100644 --- a/tests/sanity/tests/model/tracker/issues-details-page.ts +++ b/tests/sanity/tests/model/tracker/issues-details-page.ts @@ -17,7 +17,6 @@ export class IssuesDetailsPage extends CommonTrackerPage { readonly buttonEstimation: Locator readonly buttonCreatedBy: Locator readonly buttonCloseIssue: Locator - readonly buttonMoreActions: Locator readonly textParentTitle: Locator readonly buttonAddSubIssue: Locator readonly textRelated: Locator @@ -38,7 +37,6 @@ export class IssuesDetailsPage extends CommonTrackerPage { this.buttonEstimation = page.locator('(//span[text()="Estimation"]/../div/button)[3]') this.buttonCreatedBy = page.locator('(//span[text()="Assignee"]/../div/button)[1]') this.buttonCloseIssue = page.locator('div.popupPanel-title > button') - this.buttonMoreActions = page.locator('div.popupPanel-title div.flex-row-center > button:first-child') this.textParentTitle = page.locator('span.issue-title') this.buttonAddSubIssue = page.locator('#add-sub-issue') this.textRelated = page.locator('//span[text()="Related"]/following-sibling::div[1]/div//span') diff --git a/tests/sanity/tests/model/tracker/milestones-details-page.ts b/tests/sanity/tests/model/tracker/milestones-details-page.ts index 604f9daf72e..3be254e989e 100644 --- a/tests/sanity/tests/model/tracker/milestones-details-page.ts +++ b/tests/sanity/tests/model/tracker/milestones-details-page.ts @@ -9,7 +9,6 @@ export class MilestonesDetailsPage extends CommonTrackerPage { readonly buttonTargetDate: Locator readonly inputMilestoneName: Locator readonly inputDescription: Locator - readonly buttonMoreActions: Locator readonly buttonYesMoveAndDeleteMilestonePopup: Locator readonly buttonModalOk: Locator @@ -21,7 +20,6 @@ export class MilestonesDetailsPage extends CommonTrackerPage { this.buttonTargetDate = page.locator('//span[text()="Target date"]/following-sibling::div[1]/button') this.inputMilestoneName = page.locator('input[placeholder="Milestone name"]') this.inputDescription = page.locator('div.inputMsg div.tiptap') - this.buttonMoreActions = page.locator('div.popupPanel-title > div:last-child > button:first-child') this.buttonYesMoveAndDeleteMilestonePopup = page.locator( 'form[id="tracker:string:MoveAndDeleteMilestone"] button.primary' ) diff --git a/tests/sanity/tests/tracker/component.spec.ts b/tests/sanity/tests/tracker/component.spec.ts index fbbd7979ec9..921c84c9c13 100644 --- a/tests/sanity/tests/tracker/component.spec.ts +++ b/tests/sanity/tests/tracker/component.spec.ts @@ -75,4 +75,26 @@ test.describe('Tracker component tests', () => { await componentsPage.openComponentByName(editComponent.name) await componentsDetailsPage.checkComponent(editComponent) }) + + test('Delete a component', async ({ page }) => { + const newComponent: NewComponent = { + name: 'Delete component test', + description: 'Delete component test description' + } + + const leftSideMenuPage = new LeftSideMenuPage(page) + await leftSideMenuPage.buttonTracker.click() + + const trackerNavigationMenuPage = new TrackerNavigationMenuPage(page) + await trackerNavigationMenuPage.openComponentsForProject('Default') + + const componentsPage = new ComponentsPage(page) + await componentsPage.openComponentByName(newComponent.name) + + const componentsDetailsPage = new ComponentsDetailsPage(page) + await componentsDetailsPage.checkComponent(newComponent) + await componentsDetailsPage.deleteComponent() + + await componentsPage.checkComponentNotExist(newComponent.name) + }) })