Skip to content

Commit bab221a

Browse files
authored
[Playwright] DSM Tissue-Request test is not working on CircleCI (#2240)
* fix dsm tissue request test
1 parent d9202d9 commit bab221a

File tree

4 files changed

+15
-24
lines changed

4 files changed

+15
-24
lines changed

playwright-e2e/dsm/component/modal.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default class Modal {
88
private readonly rootSelector: Locator;
99

1010
constructor(private readonly page: Page) {
11-
this.rootSelector = this.page.locator('app-modal, .modal-dialog');
11+
this.rootSelector = this.page.locator('.modal-dialog').locator('visible=true');
1212
}
1313

1414
public toLocator(): Locator {
@@ -23,8 +23,9 @@ export default class Modal {
2323
return this.toLocator().locator('.modal-footer');
2424
}
2525

26-
public bodyLocator(): Locator {
27-
return this.toLocator().locator('.modal-body');
26+
public bodyLocator(opts: { nth?: number } = {}): Locator {
27+
const { nth = 0 } = opts;
28+
return this.toLocator().locator('.modal-body').nth(nth);
2829
}
2930

3031
async getHeader(): Promise<string> {

playwright-e2e/dsm/pages/tissue/tissue-information-page.ts

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import Tissue from 'dsm/component/tissue';
99
import Checkbox from 'dss/component/checkbox';
1010
import Button from 'dss/component/button';
1111
import Input from 'dss/component/input';
12+
import Modal from 'dsm/component/modal';
1213

1314

1415
export default class TissueInformationPage {
@@ -186,22 +187,14 @@ export default class TissueInformationPage {
186187

187188
/* Helper Functions */
188189
private async applyToAll(root: Locator): Promise<void> {
189-
const applyToAllBtn = new Button(this.page,
190-
{ root, label: 'APPLY TO ALL', exactMatch: true }
191-
);
192-
const isApplyToAllBtnDisabled = await applyToAllBtn.isDisabled();
193-
if (!isApplyToAllBtnDisabled) {
194-
await applyToAllBtn.click();
195-
const yesBtn = new Button(this.page, { root: this.page.locator('app-modal'), label: 'Yes', exactMatch: true });
196-
await yesBtn.toLocator().waitFor({ state: 'attached'});
197-
const isModalBtnDisabled = await yesBtn.isDisabled();
198-
if (!isModalBtnDisabled) {
199-
await yesBtn.click();
200-
const successModalBtn = new Button(this.page, { root: this.page.locator('app-modal'), label: 'Ok', exactMatch: true });
201-
await waitForResponse(this.page, { uri: 'institutions' });
202-
await successModalBtn.click();
203-
}
204-
}
190+
const applyToAllBtn = new Button(this.page, { root, label: 'APPLY TO ALL', exactMatch: true });
191+
await applyToAllBtn.click();
192+
193+
const modal = new Modal(this.page);
194+
await expect(modal.bodyLocator()).toHaveText(/Are you sure you want to change the destruction policy for all of the tissues from this facility/);
195+
const yesBtn = modal.getButton({ label: 'Yes' }).toLocator();
196+
await yesBtn.click();
197+
// after click Yes button, dialog window is automatically handled by Playwright
205198
}
206199

207200
private async fillFaxSentDate(dateIndex: number, date: FillDate): Promise<void> {

playwright-e2e/playwright.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ const testConfig: PlaywrightTestConfig = {
7171
// Account for minor difference in text rendering and resolution between headless and headed mode
7272
ignoreDefaultArgs: ['--hide-scrollbars']
7373
},
74-
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36',
74+
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
7575
viewport: { width: 1280, height: 960 },
7676
ignoreHTTPSErrors: true,
7777

playwright-e2e/tests/dsm/tissue-request/cmi-tissue-request.spec.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ import { AdditionalFilter } from 'dsm/component/filters/sections/search/search-e
55
import ParticipantPage from 'dsm/pages/participant-page/participant-page';
66
import { TabEnum } from 'dsm/component/tabs/enums/tab-enum';
77
import OncHistoryTab from 'dsm/component/tabs/onc-history-tab';
8-
import {
9-
OncHistoryInputColumnsEnum,
10-
OncHistorySelectRequestEnum
11-
} from 'dsm/component/tabs/enums/onc-history-input-columns-enum';
8+
import { OncHistoryInputColumnsEnum, OncHistorySelectRequestEnum } from 'dsm/component/tabs/enums/onc-history-input-columns-enum';
129
import { expect } from '@playwright/test';
1310
import { getDate } from 'utils/date-utils';
1411
import { TissueDynamicFieldsEnum } from 'dsm/pages/tissue/enums/tissue-information-enum';

0 commit comments

Comments
 (0)