Skip to content

Commit 5cdee07

Browse files
authored
test(button): added dark theme screenshot (#803)
Co-authored-by: artembelik <24925224+artembelik@users.noreply.github.com>
1 parent fec14b4 commit 5cdee07

12 files changed

Lines changed: 35 additions & 14 deletions
28.6 KB
Loading
87 KB
Loading
106 KB
Loading
113 KB
Loading
Binary file not shown.

e2e/components/button.playwright-spec.ts

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import { expect, Locator, Page, test } from '@playwright/test';
22

3-
const component = {
4-
stateAndStyle: 'dev-button-state-and-style'
5-
};
3+
const getThemeToggle = (page: Page) => page.getByTestId('e2eThemeToggle');
64

75
test.describe('KbqButtonModule', () => {
8-
test.describe(component.stateAndStyle, () => {
9-
const goToPage = (page: Page) => page.goto('');
10-
const getComponent = (page: Page) => page.locator(component.stateAndStyle);
11-
const togglePrefix = (locator: Locator) => locator.getByText('show prefix icon').click();
12-
const toggleTitle = (locator: Locator) => locator.getByText('show title').click();
13-
const toggleSuffix = (locator: Locator) => locator.getByText('show suffix icon').click();
6+
test.describe('DevButtonStateAndStyle', () => {
7+
const goToPage = (page: Page) => page.goto('/');
8+
const getComponent = (page: Page) => page.getByTestId('e2eButtonStateAndStyle');
9+
const togglePrefix = (locator: Locator) => locator.getByTestId('e2eShowPrefixIcon').click();
10+
const toggleTitle = (locator: Locator) => locator.getByTestId('e2eShowTitle').click();
11+
const toggleSuffix = (locator: Locator) => locator.getByTestId('e2eShowSuffixIcon').click();
1412
const getScreenshotTarget = (locator: Locator) => locator.locator('table');
1513

1614
test('button with title', async ({ page }) => {
@@ -39,5 +37,17 @@ test.describe('KbqButtonModule', () => {
3937

4038
await expect(getScreenshotTarget(locator)).toHaveScreenshot();
4139
});
40+
41+
test('button with title, prefix and suffix (dark theme)', async ({ page }) => {
42+
await goToPage(page);
43+
await getThemeToggle(page).click();
44+
45+
const locator = getComponent(page);
46+
47+
await togglePrefix(locator);
48+
await toggleSuffix(locator);
49+
50+
await expect(getScreenshotTarget(locator)).toHaveScreenshot();
51+
});
4252
});
4353
});

packages/components-dev/button/module.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,20 @@ type DevButton = DevButtonState & DevButtonStyle;
4040
standalone: true,
4141
imports: [KbqButtonModule, KbqIconModule, FormsModule, KbqCheckboxModule],
4242
selector: 'dev-button-state-and-style',
43+
host: {
44+
'data-testid': 'e2eButtonStateAndStyle'
45+
},
4346
template: `
4447
<div class="dev-options">
45-
<kbq-checkbox [(ngModel)]="showPrefixIcon">show prefix icon</kbq-checkbox>
46-
<kbq-checkbox [(ngModel)]="showTitle" [disabled]="!showPrefixIcon() && !showSuffixIcon()">
48+
<kbq-checkbox [(ngModel)]="showPrefixIcon" data-testid="e2eShowPrefixIcon">show prefix icon</kbq-checkbox>
49+
<kbq-checkbox
50+
[(ngModel)]="showTitle"
51+
[disabled]="!showPrefixIcon() && !showSuffixIcon()"
52+
data-testid="e2eShowTitle"
53+
>
4754
show title
4855
</kbq-checkbox>
49-
<kbq-checkbox [(ngModel)]="showSuffixIcon">show suffix icon</kbq-checkbox>
56+
<kbq-checkbox [(ngModel)]="showSuffixIcon" data-testid="e2eShowSuffixIcon">show suffix icon</kbq-checkbox>
5057
</div>
5158
5259
<table>

packages/components-dev/e2e/module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { ChangeDetectionStrategy, Component } from '@angular/core';
22
import { DevButtonStateAndStyle } from 'packages/components-dev/button/module';
3+
import { DevThemeToggle } from '../theme-toggle';
34

45
@Component({
56
standalone: true,
6-
imports: [DevButtonStateAndStyle],
7+
imports: [DevButtonStateAndStyle, DevThemeToggle],
78
selector: 'dev-app',
89
templateUrl: 'template.html',
910
styleUrl: 'styles.scss',

0 commit comments

Comments
 (0)