Skip to content

Commit 1c90386

Browse files
committed
test(accordion-group): add test for disabled state
1 parent 8f4b179 commit 1c90386

File tree

5 files changed

+127
-0
lines changed

5 files changed

+127
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { expect } from '@playwright/test';
2+
import { configs, test } from '@utils/test/playwright';
3+
4+
configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ config, screenshot, title }) => {
5+
test.describe(title('accordion-group: states'), () => {
6+
test('should render disabled state', async ({ page }) => {
7+
await page.setContent(
8+
`
9+
<ion-accordion-group value="first" disabled="true">
10+
<ion-accordion value="first">
11+
<ion-item slot="header">
12+
<ion-label>Accordion title</ion-label>
13+
</ion-item>
14+
<div slot="content">This is the body of the accordion.</div>
15+
</ion-accordion>
16+
<ion-accordion value="second">
17+
<ion-item slot="header">
18+
<ion-label>Accordion title</ion-label>
19+
</ion-item>
20+
<div slot="content">This is the body of the accordion.</div>
21+
</ion-accordion>
22+
<ion-accordion value="third">
23+
<ion-item slot="header">
24+
<ion-label>Accordion title</ion-label>
25+
</ion-item>
26+
<div slot="content">This is the body of the accordion.</div>
27+
</ion-accordion>
28+
</ion-accordion-group>
29+
`,
30+
config
31+
);
32+
33+
const accordionGroup = page.locator('ion-accordion-group');
34+
35+
await expect(accordionGroup).toHaveScreenshot(screenshot('accordion-group-disabled'));
36+
});
37+
});
38+
});
Loading
Loading
Loading
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<!DOCTYPE html>
2+
<html lang="en" dir="ltr">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<title>Accordion Group - States</title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
7+
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
8+
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
9+
<script src="../../../../../scripts/testing/scripts.js"></script>
10+
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
11+
<style>
12+
.grid {
13+
display: grid;
14+
grid-template-columns: repeat(3, 1fr);
15+
grid-row-gap: 20px;
16+
grid-column-gap: 20px;
17+
}
18+
h2 {
19+
font-size: 12px;
20+
font-weight: normal;
21+
22+
color: #6f7378;
23+
24+
margin-top: 10px;
25+
margin-left: 5px;
26+
}
27+
</style>
28+
</head>
29+
30+
<body>
31+
<ion-app>
32+
<ion-header translucent="true">
33+
<ion-toolbar>
34+
<ion-title>Accordion Group - States</ion-title>
35+
</ion-toolbar>
36+
</ion-header>
37+
<ion-content fullscreen="true" color="light">
38+
<div class="grid ion-padding">
39+
<div class="grid-item">
40+
<h2>Default</h2>
41+
<ion-accordion-group value="first">
42+
<ion-accordion value="first">
43+
<ion-item slot="header">
44+
<ion-label>Accordion title</ion-label>
45+
</ion-item>
46+
<div slot="content">This is the body of the accordion.</div>
47+
</ion-accordion>
48+
<ion-accordion value="second">
49+
<ion-item slot="header">
50+
<ion-label>Accordion title</ion-label>
51+
</ion-item>
52+
<div slot="content">This is the body of the accordion.</div>
53+
</ion-accordion>
54+
<ion-accordion value="third">
55+
<ion-item slot="header">
56+
<ion-label>Accordion title</ion-label>
57+
</ion-item>
58+
<div slot="content">This is the body of the accordion.</div>
59+
</ion-accordion>
60+
</ion-accordion-group>
61+
</div>
62+
<div class="grid-item">
63+
<h2>Disabled</h2>
64+
<ion-accordion-group value="first" disabled="true">
65+
<ion-accordion value="first">
66+
<ion-item slot="header">
67+
<ion-label>Accordion title</ion-label>
68+
</ion-item>
69+
<div slot="content">This is the body of the accordion.</div>
70+
</ion-accordion>
71+
<ion-accordion value="second">
72+
<ion-item slot="header">
73+
<ion-label>Accordion title</ion-label>
74+
</ion-item>
75+
<div slot="content">This is the body of the accordion.</div>
76+
</ion-accordion>
77+
<ion-accordion value="third">
78+
<ion-item slot="header">
79+
<ion-label>Accordion title</ion-label>
80+
</ion-item>
81+
<div slot="content">This is the body of the accordion.</div>
82+
</ion-accordion>
83+
</ion-accordion-group>
84+
</div>
85+
</div>
86+
</ion-content>
87+
</ion-app>
88+
</body>
89+
</html>

0 commit comments

Comments
 (0)