Skip to content

Commit a481fac

Browse files
committed
test(datetime): add more screenshot tests for custom slotted buttons
1 parent dc37f07 commit a481fac

File tree

1 file changed

+58
-5
lines changed

1 file changed

+58
-5
lines changed

core/src/components/datetime/test/basic/datetime.e2e.ts

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ configs({ modes: ['ios', 'md', 'ionic-md'] }).forEach(({ title, screenshot, conf
265265
const datetime = page.locator('ion-datetime');
266266
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-default-buttons`));
267267
});
268+
268269
test('should render clear button', async ({ page }) => {
269270
await page.setContent('<ion-datetime value="2022-05-03" show-clear-button="true"></ion-datetime>', config);
270271

@@ -274,6 +275,7 @@ configs({ modes: ['ios', 'md', 'ionic-md'] }).forEach(({ title, screenshot, conf
274275
const datetime = page.locator('ion-datetime');
275276
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-clear-button`));
276277
});
278+
277279
test('should render default and clear buttons', async ({ page }) => {
278280
await page.setContent(
279281
'<ion-datetime value="2022-05-03" show-default-buttons="true" show-clear-button="true"></ion-datetime>',
@@ -292,23 +294,74 @@ configs({ modes: ['ios', 'md', 'ionic-md'] }).forEach(({ title, screenshot, conf
292294
const datetime = page.locator('ion-datetime');
293295
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-default-clear-buttons`));
294296
});
295-
test('should render custom buttons', async ({ page }) => {
297+
298+
test('should render custom default buttons', async ({ page }) => {
299+
await page.setContent(
300+
`
301+
<ion-datetime value="2022-05-03">
302+
<div slot="buttons">
303+
<ion-button id="custom-cancel-button">Cancel</ion-button>
304+
<ion-button id="custom-confirm-button">Done</ion-button>
305+
</div>
306+
</ion-datetime>
307+
`,
308+
config
309+
);
310+
311+
const cancelButton = page.locator('ion-datetime #custom-cancel-button');
312+
await expect(cancelButton).toBeVisible();
313+
314+
const confirmButton = page.locator('ion-datetime #custom-confirm-button');
315+
await expect(confirmButton).toBeVisible();
316+
317+
const datetime = page.locator('ion-datetime');
318+
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-custom-default-buttons`));
319+
});
320+
321+
test('should render custom clear button', async ({ page }) => {
296322
await page.setContent(
297323
`
298324
<ion-datetime value="2022-05-03">
299325
<div slot="buttons">
300-
<ion-button id="custom-button" fill="clear" color="primary">Hello!</ion-button>
326+
<ion-button color="danger" id="custom-clear-button">Clear</ion-button>
301327
</div>
302328
</ion-datetime>
303329
`,
304330
config
305331
);
306332

307-
const customButton = page.locator('ion-datetime #custom-button');
308-
await expect(customButton).toBeVisible();
333+
const clearButton = page.locator('ion-datetime #custom-clear-button');
334+
await expect(clearButton).toBeVisible();
335+
336+
const datetime = page.locator('ion-datetime');
337+
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-custom-clear-button`));
338+
});
339+
340+
test('should render custom default and clear buttons', async ({ page }) => {
341+
await page.setContent(
342+
`
343+
<ion-datetime value="2022-05-03">
344+
<div slot="buttons">
345+
<ion-button id="custom-cancel-button">Cancel</ion-button>
346+
<ion-button color="danger" id="custom-clear-button">Clear</ion-button>
347+
<ion-button id="custom-confirm-button">Done</ion-button>
348+
</div>
349+
</ion-datetime>
350+
`,
351+
config
352+
);
353+
354+
const cancelButton = page.locator('ion-datetime #custom-cancel-button');
355+
await expect(cancelButton).toBeVisible();
356+
357+
const clearButton = page.locator('ion-datetime #custom-clear-button');
358+
await expect(clearButton).toBeVisible();
359+
360+
const confirmButton = page.locator('ion-datetime #custom-confirm-button');
361+
await expect(confirmButton).toBeVisible();
309362

310363
const datetime = page.locator('ion-datetime');
311-
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-custom-buttons`));
364+
await expect(datetime).toHaveScreenshot(screenshot(`datetime-footer-custom-default-clear-buttons`));
312365
});
313366
});
314367
});

0 commit comments

Comments
 (0)