Skip to content

Commit

Permalink
fix: chromatic stories, add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DavideMininni-Fincons committed Mar 22, 2024
1 parent 3e5be5a commit 15d25eb
Show file tree
Hide file tree
Showing 3 changed files with 253 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* @web/test-runner snapshot v1 */
export const snapshots = {};

snapshots["sbb-autocomplete-grid-button Dom"] =
snapshots["sbb-autocomplete-grid-button renders Dom"] =
`<sbb-autocomplete-grid-button
aria-disabled="false"
data-action=""
Expand All @@ -13,9 +13,9 @@ snapshots["sbb-autocomplete-grid-button Dom"] =
>
</sbb-autocomplete-grid-button>
`;
/* end snapshot sbb-autocomplete-grid-button Dom */
/* end snapshot sbb-autocomplete-grid-button renders Dom */

snapshots["sbb-autocomplete-grid-button ShadowDom"] =
snapshots["sbb-autocomplete-grid-button renders ShadowDom"] =
`<span class="sbb-action-base sbb-autocomplete-grid-button">
<slot name="icon">
<sbb-icon
Expand All @@ -28,5 +28,156 @@ snapshots["sbb-autocomplete-grid-button ShadowDom"] =
</slot>
</span>
`;
/* end snapshot sbb-autocomplete-grid-button ShadowDom */
/* end snapshot sbb-autocomplete-grid-button renders ShadowDom */

snapshots["sbb-autocomplete-grid-button renders A11y tree Chrome"] =
`<p>
{
"role": "WebArea",
"name": "",
"children": [
{
"role": "button",
"name": ""
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders A11y tree Chrome */

snapshots["sbb-autocomplete-grid-button renders disabled Dom"] =
`<sbb-autocomplete-grid-button
aria-disabled="true"
data-action=""
data-button=""
dir="ltr"
disabled=""
icon-name="pie-small"
id="sbb-autocomplete-grid-item-4x1x0"
role="button"
>
</sbb-autocomplete-grid-button>
`;
/* end snapshot sbb-autocomplete-grid-button renders disabled Dom */

snapshots["sbb-autocomplete-grid-button renders A11y tree Firefox"] =
`<p>
{
"role": "document",
"name": "",
"children": [
{
"role": "button",
"name": ""
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders A11y tree Firefox */

snapshots["sbb-autocomplete-grid-button renders disabled ShadowDom"] =
`<span class="sbb-action-base sbb-autocomplete-grid-button">
<slot name="icon">
<sbb-icon
aria-hidden="true"
data-namespace="default"
name="pie-small"
role="img"
>
</sbb-icon>
</slot>
</span>
`;
/* end snapshot sbb-autocomplete-grid-button renders disabled ShadowDom */

snapshots["sbb-autocomplete-grid-button renders disabled A11y tree Chrome"] =
`<p>
{
"role": "WebArea",
"name": "",
"children": [
{
"role": "button",
"name": "",
"disabled": true
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders disabled A11y tree Chrome */

snapshots["sbb-autocomplete-grid-button renders disabled A11y tree Firefox"] =
`<p>
{
"role": "document",
"name": "",
"children": [
{
"role": "button",
"name": "",
"disabled": true
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders disabled A11y tree Firefox */

snapshots["sbb-autocomplete-grid-button renders negative without icon Dom"] =
`<sbb-autocomplete-grid-button
aria-disabled="false"
data-action=""
data-button=""
dir="ltr"
id="sbb-autocomplete-grid-item-7x1x0"
negative=""
role="button"
>
</sbb-autocomplete-grid-button>
`;
/* end snapshot sbb-autocomplete-grid-button renders negative without icon Dom */

snapshots["sbb-autocomplete-grid-button renders negative without icon ShadowDom"] =
`<span class="sbb-action-base sbb-autocomplete-grid-button">
<slot name="icon">
</slot>
</span>
`;
/* end snapshot sbb-autocomplete-grid-button renders negative without icon ShadowDom */

snapshots["sbb-autocomplete-grid-button renders A11y tree Safari"] =
`<p>
{
"role": "WebArea",
"name": "",
"children": [
{
"role": "button",
"name": ""
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders A11y tree Safari */

snapshots["sbb-autocomplete-grid-button renders disabled A11y tree Safari"] =
`<p>
{
"role": "WebArea",
"name": "",
"children": [
{
"role": "button",
"name": "",
"disabled": true
}
]
}
</p>
`;
/* end snapshot sbb-autocomplete-grid-button renders disabled A11y tree Safari */

Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { expect, fixture } from '@open-wc/testing';
import { html } from 'lit/static-html.js';

import { waitForLitRender } from '../../core/testing';
import { testA11yTreeSnapshot } from '../../core/testing/a11y-tree-snapshot';

import type { SbbAutocompleteGridButtonElement } from './autocomplete-grid-button';
import '../autocomplete-grid';
import '../autocomplete-grid-row';
Expand All @@ -9,28 +12,103 @@ import '../autocomplete-grid-actions';
import './autocomplete-grid-button';

describe('sbb-autocomplete-grid-button', () => {
let root: SbbAutocompleteGridButtonElement;
beforeEach(async () => {
root = (
await fixture(html`
<sbb-autocomplete-grid origin="anchor">
<sbb-autocomplete-grid-row>
<sbb-autocomplete-grid-option value="1">Option 1</sbb-autocomplete-grid-option>
<sbb-autocomplete-grid-actions>
<sbb-autocomplete-grid-button icon-name="pie-small"></sbb-autocomplete-grid-button>
</sbb-autocomplete-grid-actions>
</sbb-autocomplete-grid-row>
</sbb-autocomplete-grid>
<div id="anchor"></div>
`)
).querySelector('sbb-autocomplete-grid-button')!;
describe('renders', () => {
let root: SbbAutocompleteGridButtonElement;
beforeEach(async () => {
root = (
await fixture(html`
<sbb-autocomplete-grid origin="anchor">
<sbb-autocomplete-grid-row>
<sbb-autocomplete-grid-option value="1">Option 1</sbb-autocomplete-grid-option>
<sbb-autocomplete-grid-actions>
<sbb-autocomplete-grid-button icon-name="pie-small"></sbb-autocomplete-grid-button>
</sbb-autocomplete-grid-actions>
</sbb-autocomplete-grid-row>
</sbb-autocomplete-grid>
<div id="anchor"></div>
`)
).querySelector('sbb-autocomplete-grid-button')!;
await waitForLitRender(root);
});

it('Dom', async () => {
await expect(root).dom.to.be.equalSnapshot();
});

it('ShadowDom', async () => {
await expect(root).shadowDom.to.be.equalSnapshot();
});

testA11yTreeSnapshot(
html`<sbb-autocomplete-grid-button icon-name="pie-small"></sbb-autocomplete-grid-button>`,
);
});

it('Dom', async () => {
await expect(root).dom.to.be.equalSnapshot();
describe('renders disabled', () => {
let root: SbbAutocompleteGridButtonElement;
beforeEach(async () => {
root = (
await fixture(html`
<sbb-autocomplete-grid origin="anchor">
<sbb-autocomplete-grid-row>
<sbb-autocomplete-grid-option value="1">Option 1</sbb-autocomplete-grid-option>
<sbb-autocomplete-grid-actions>
<sbb-autocomplete-grid-button
disabled
icon-name="pie-small"
></sbb-autocomplete-grid-button>
</sbb-autocomplete-grid-actions>
</sbb-autocomplete-grid-row>
</sbb-autocomplete-grid>
<div id="anchor"></div>
`)
).querySelector('sbb-autocomplete-grid-button')!;
await waitForLitRender(root);
});

it('Dom', async () => {
await expect(root).dom.to.be.equalSnapshot();
});

it('ShadowDom', async () => {
await expect(root).shadowDom.to.be.equalSnapshot();
});

testA11yTreeSnapshot(
html`<sbb-autocomplete-grid-button
disabled
icon-name="pie-small"
></sbb-autocomplete-grid-button>`,
);
});

it('ShadowDom', async () => {
await expect(root).shadowDom.to.be.equalSnapshot();
describe('renders negative without icon', () => {
let root: SbbAutocompleteGridButtonElement;
beforeEach(async () => {
root = (
await fixture(html`
<sbb-form-field negative>
<input />
<sbb-autocomplete-grid>
<sbb-autocomplete-grid-row>
<sbb-autocomplete-grid-option value="1">Option 1</sbb-autocomplete-grid-option>
<sbb-autocomplete-grid-actions>
<sbb-autocomplete-grid-button></sbb-autocomplete-grid-button>
</sbb-autocomplete-grid-actions>
</sbb-autocomplete-grid-row>
</sbb-autocomplete-grid>
</sbb-form-field>
`)
).querySelector('sbb-autocomplete-grid-button')!;
await waitForLitRender(root);
});

it('Dom', async () => {
await expect(root).dom.to.be.equalSnapshot();
});

it('ShadowDom', async () => {
await expect(root).shadowDom.to.be.equalSnapshot();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@ const Template = (args: Args): TemplateResult => html`
?negative=${args.negative}
?borderless=${args.borderless}
?floating-label=${args.floatingLabel}
data-testid="form-field"
>
<input
placeholder="Placeholder"
Expand Down

0 comments on commit 15d25eb

Please sign in to comment.