| import { expect } from 'chai'; |
| import { |
| addEventListenersToPuppeteerPage, |
| loadCachedTestBed, |
| takeScreenshot, |
| TestBed |
| } from '../../../puppeteer-tests/util'; |
| import { Page } from 'puppeteer'; |
| import path from "path"; |
| |
| describe('ignores-page-sk', () => { |
| let testBed: TestBed; |
| before(async () => { |
| testBed = await loadCachedTestBed( |
| path.join(__dirname, '..', '..', 'webpack.config.ts') |
| ); |
| }); |
| |
| it('should render the demo page', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl, ''); |
| // Smoke test. |
| expect(await testBed.page.$$('ignores-page-sk')).to.have.length(1); |
| }); |
| |
| describe('screenshots', () => { |
| it('should show the default page', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl); |
| await testBed.page.setViewport({ width: 1300, height: 2100 }); |
| await takeScreenshot(testBed.page, 'gold', 'ignores-page-sk'); |
| }); |
| |
| it('should show the counts of all traces', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl, '?count_all=true'); |
| await testBed.page.setViewport({ width: 1300, height: 2100 }); |
| await takeScreenshot(testBed.page, 'gold', 'ignores-page-sk_all-traces'); |
| }); |
| |
| it('should show the delete confirmation dialog', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl); |
| // Focus in a little to see better. |
| await testBed.page.setViewport({ width: 1300, height: 1300 }); |
| await testBed.page.click( |
| 'ignores-page-sk tbody > tr:nth-child(1) > td.mutate-icons > delete-icon-sk', |
| ); |
| await takeScreenshot(testBed.page, 'gold', 'ignores-page-sk_delete-dialog'); |
| }); |
| |
| it('should show the edit ignore rule modal when update is clicked', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl); |
| // Focus in a little to see better. |
| await testBed.page.setViewport({ width: 1300, height: 1300 }); |
| await testBed.page.click( |
| 'ignores-page-sk tbody > tr:nth-child(5) > td.mutate-icons > mode-edit-icon-sk', |
| ); |
| await takeScreenshot(testBed.page, 'gold', 'ignores-page-sk_update-modal'); |
| }); |
| |
| it('should show the create ignore rule modal when create is clicked', async () => { |
| await navigateTo(testBed.page, testBed.baseUrl); |
| // Focus in a little to see better. |
| await testBed.page.setViewport({ width: 1300, height: 1300 }); |
| await testBed.page.click('ignores-page-sk .controls button.create'); |
| await takeScreenshot(testBed.page, 'gold', 'ignores-page-sk_create-modal'); |
| }); |
| }); |
| }); |
| |
| async function navigateTo(page: Page, base: string, queryParams = '') { |
| const eventPromise = await addEventListenersToPuppeteerPage(page, ['end-task']); |
| const loaded = eventPromise('end-task'); // Emitted when page is loaded. |
| await page.goto(`${base}/dist/ignores-page-sk.html${queryParams}`); |
| await loaded; |
| } |