test(back-button): migrate to Playwright (#25976)

This commit is contained in:
Brandy Carney
2022-09-27 17:44:40 -04:00
committed by GitHub
parent 649d3cf688
commit 3a80d9986a
30 changed files with 24 additions and 167 deletions

View File

@ -0,0 +1,12 @@
import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
test.describe('back-button: basic', () => {
test('should not have visual regressions', async ({ page }) => {
await page.goto(`/src/components/back-button/test/basic`);
await page.setIonViewport();
expect(await page.screenshot()).toMatchSnapshot(`back-button-basic-${page.getSnapshotSettings()}.png`);
});
});

View File

@ -1,19 +0,0 @@
import { newE2EPage } from '@stencil/core/testing';
test('back-button: basic', async () => {
const page = await newE2EPage({
url: '/src/components/back-button/test/basic?ionic:_testing=true',
});
const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});
test('back-button: basic-rtl', async () => {
const page = await newE2EPage({
url: '/src/components/back-button/test/basic?ionic:_testing=true&rtl=true',
});
const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});

View File

@ -1,10 +0,0 @@
import { newE2EPage } from '@stencil/core/testing';
test('back-button: standalone', async () => {
const page = await newE2EPage({
url: '/src/components/back-button/test/standalone?ionic:_testing=true',
});
const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8" />
<title>Back Button - Standalone</title>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<link href="../../../../../css/core.css" rel="stylesheet" />
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
<script src="../../../../../scripts/testing/scripts.js"></script>
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
</head>
<body>
<h3>Default</h3>
<p>
<ion-back-button></ion-back-button>
<ion-back-button text="Back"></ion-back-button>
<ion-back-button icon="add"></ion-back-button>
<ion-back-button text="Text Only" icon=""></ion-back-button>
<ion-back-button icon="heart" text="Love" color="danger"></ion-back-button>
</p>
<h3>Colors</h3>
<p>
<ion-back-button color="primary"></ion-back-button>
<ion-back-button color="secondary"></ion-back-button>
<ion-back-button color="tertiary"></ion-back-button>
<ion-back-button color="success"></ion-back-button>
<ion-back-button color="warning"></ion-back-button>
<ion-back-button color="danger"></ion-back-button>
<ion-back-button color="light"></ion-back-button>
<ion-back-button color="medium"></ion-back-button>
<ion-back-button color="dark"></ion-back-button>
</p>
<p>
<ion-back-button color="primary" class="ion-activated"></ion-back-button>
<ion-back-button color="secondary" class="ion-activated"></ion-back-button>
<ion-back-button color="tertiary" class="ion-activated"></ion-back-button>
<ion-back-button color="success" class="ion-activated"></ion-back-button>
<ion-back-button color="warning" class="ion-activated"></ion-back-button>
<ion-back-button color="danger" class="ion-activated"></ion-back-button>
<ion-back-button color="light" class="ion-activated"></ion-back-button>
<ion-back-button color="medium" class="ion-activated"></ion-back-button>
<ion-back-button color="dark" class="ion-activated"></ion-back-button>
</p>
<h3>Custom</h3>
<!-- Custom Font -->
<ion-back-button class="wide" text="wide"></ion-back-button>
<ion-back-button class="large" text="large"></ion-back-button>
<ion-back-button class="round" text="round"></ion-back-button>
<!-- Custom Colors -->
<ion-back-button class="custom"></ion-back-button>
<ion-back-button class="custom ion-activated"></ion-back-button>
<ion-back-button color="secondary" class="custom"></ion-back-button>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
<ion-back-button class="ion-activated"></ion-back-button>
</ion-buttons>
<ion-title>Default</ion-title>
</ion-toolbar>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button class="custom"></ion-back-button>
<ion-back-button class="custom ion-activated"></ion-back-button>
</ion-buttons>
<ion-title>Custom</ion-title>
</ion-toolbar>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button color="secondary"></ion-back-button>
<ion-back-button color="secondary" class="ion-activated"></ion-back-button>
</ion-buttons>
<ion-title>Secondary</ion-title>
</ion-toolbar>
<ion-toolbar color="danger">
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
<ion-back-button class="ion-activated"></ion-back-button>
</ion-buttons>
<ion-title>Danger</ion-title>
</ion-toolbar>
<ion-toolbar color="dark">
<ion-buttons slot="start">
<ion-back-button text="Back" icon=""></ion-back-button>
<ion-back-button text="Back" icon="" class="ion-activated"></ion-back-button>
</ion-buttons>
<ion-title>Dark</ion-title>
</ion-toolbar>
<style>
ion-back-button {
display: inline-block !important;
}
.wide {
--background: lightblue;
width: 200px;
}
.large {
font-size: 32px;
text-transform: capitalize;
}
.custom {
--background: lightpink;
--color: rgb(214, 60, 235);
--border-radius: 10px;
--padding-start: 10px;
--padding-end: 10px;
}
</style>
</body>
</html>

View File

@ -0,0 +1,12 @@
import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
test.describe('back-button: toolbar', () => {
test('should not have visual regressions', async ({ page }) => {
await page.goto(`/src/components/back-button/test/toolbar`);
await page.setIonViewport();
expect(await page.screenshot()).toMatchSnapshot(`back-button-toolbar-${page.getSnapshotSettings()}.png`);
});
});

View File

@ -1,10 +0,0 @@
import { newE2EPage } from '@stencil/core/testing';
test('back-button: basic', async () => {
const page = await newE2EPage({
url: '/src/components/back-button/test/basic?ionic:_testing=true',
});
const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});