diff --git a/opencti-platform/opencti-front/tests_e2e/filters/addFilter.spec.ts b/opencti-platform/opencti-front/tests_e2e/filters/addFilter.spec.ts new file mode 100644 index 0000000000000..f972fc21c3ba1 --- /dev/null +++ b/opencti-platform/opencti-front/tests_e2e/filters/addFilter.spec.ts @@ -0,0 +1,14 @@ +import { expect, test } from "../fixtures/baseFixtures"; +import { ObservablePage } from '../model/observable.pageModel'; + +test('Add a new filter in the observables list', async ({ page }) => { + const observablePage = new ObservablePage(page); + await page.getByLabel('Add filter').click(); + await page.getByRole('combobox', { name: 'Add filter' }); + await page.getByRole('option', { name: 'Entity type' }).click(); + await page.getByLabel('Entity type').click(); + await page.getByLabel('Artifact').getByRole('checkbox').check(); + await page.locator('.MuiPopover-root > .MuiBackdrop-root').click(); + await page.getByRole('button', { name: 'Entity type = Artifact' }).click(); + await expect(observablePage.getPage()).toBeVisible(); +}); \ No newline at end of file diff --git a/opencti-platform/opencti-front/tests_e2e/model/observable.pageModel.ts b/opencti-platform/opencti-front/tests_e2e/model/observable.pageModel.ts new file mode 100644 index 0000000000000..63340fdc940f9 --- /dev/null +++ b/opencti-platform/opencti-front/tests_e2e/model/observable.pageModel.ts @@ -0,0 +1,22 @@ + +import { Page } from "@playwright/test"; + +export class ObservablePage { + constructor(private page: Page) { + } + getPage() { + return this.page.getByTestId('observable-page'); + } + goToPage() { + return this.page.getByLabel('Observations').click(); + } + addNewObservable() { + return this.page.getByLabel('Add', { exact: true }).click() + } + getCreateObservableButton() { + return this.page.getByRole('button', { name: 'Create' }) + } + getItemFromList(name: string) { + return this.page.getByRole('link', { name }).first() + } +}