Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addon A11y: Create a11y test provider and revamp a11y addon #29643

Merged
merged 129 commits into from
Dec 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
1f93e44
[addon-a11y] Simplify global highlight styles to avoid issues when fe…
JohannesFischer Nov 5, 2024
a913610
Implement afterEach
kasperpeulen Nov 11, 2024
af4c3d2
Merge branch 'next' into 24450-addon-a11y-highlight-visual-bug
JohannesFischer Nov 12, 2024
3065626
Test afterEach
kasperpeulen Nov 12, 2024
83af2a6
Add afterEach normalizers
kasperpeulen Nov 12, 2024
8029b37
Fix test
kasperpeulen Nov 12, 2024
b918869
Bump @storybook/csf
kasperpeulen Nov 12, 2024
312b25d
Make dedicated order-of-hooks test
kasperpeulen Nov 12, 2024
88a1ad2
Merge branch 'next' into 24450-addon-a11y-highlight-visual-bug
JohannesFischer Nov 14, 2024
e038e8b
Fix tests
kasperpeulen Nov 14, 2024
dd242dc
Merge remote-tracking branch 'origin/kasper/after-each' into valentin…
valentinpalkovic Nov 14, 2024
57a8cea
Core: Implement Story Completed
valentinpalkovic Nov 14, 2024
6d30bb9
Remove unhandledException from STORY_COMPLETED event
valentinpalkovic Nov 14, 2024
e49bc0f
Rename storyCompleted to storyFinished
valentinpalkovic Nov 14, 2024
b7c1d02
Update @storybook/csf
valentinpalkovic Nov 14, 2024
aa95d2a
Rename storyCompleted to storyFinished
valentinpalkovic Nov 14, 2024
08477ec
Refactor status of the story finished payload
valentinpalkovic Nov 14, 2024
c9c7249
Move afterEach after storyCompleted
valentinpalkovic Nov 15, 2024
d907091
Add StoryFinished payload test
valentinpalkovic Nov 15, 2024
96dad8c
Enhance Report interface to support generic result type
valentinpalkovic Nov 15, 2024
7668055
Remove redundant comments in Preview component for clarity
valentinpalkovic Nov 15, 2024
b80ee26
Refactor a11y addon to use afterEach and reporting API
valentinpalkovic Nov 15, 2024
c8647d4
Add tests
valentinpalkovic Nov 18, 2024
bc3da7a
Fix tests
valentinpalkovic Nov 18, 2024
a93ea7d
Fix E2E tests
valentinpalkovic Nov 19, 2024
d3923d2
Add stories for A11yPanel
valentinpalkovic Nov 19, 2024
2eebee1
Add discrepancy handling to A11yPanel
valentinpalkovic Nov 19, 2024
79ad98c
Fix tests
valentinpalkovic Nov 20, 2024
6dfea64
Merge pull request #29661 from storybookjs/valentin/add-a11y-discrepa…
valentinpalkovic Nov 20, 2024
667d403
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 20, 2024
003e808
Fix potential undefined issue
valentinpalkovic Nov 20, 2024
141de06
Fix tests
valentinpalkovic Nov 20, 2024
66931ce
Fix tests
valentinpalkovic Nov 20, 2024
9622763
Support new parameters and globals for a11y
valentinpalkovic Nov 21, 2024
cfae158
Use vitest-axe for formatting purposes instead
valentinpalkovic Nov 22, 2024
3f1ae4e
Fix environment usage in preview file
valentinpalkovic Nov 22, 2024
9ed6077
Fix environment usage in preview file
valentinpalkovic Nov 22, 2024
4f485f3
Fix tests
valentinpalkovic Nov 22, 2024
c4039e1
Merge pull request #29682 from storybookjs/valentin/support-new-param…
valentinpalkovic Nov 22, 2024
e4604d8
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 22, 2024
5d084d4
Merge branch 'next' into valentin/unified-a11y-testing
valentinpalkovic Nov 23, 2024
aae1bac
Merge pull request #29552 from JohannesFischer/24450-addon-a11y-highl…
valentinpalkovic Nov 25, 2024
02d020b
Merge branch 'next' into valentin/unified-a11y-testing
valentinpalkovic Nov 25, 2024
0791b02
Add docs and migration guide for addon-a11y
valentinpalkovic Nov 25, 2024
9fbe2cc
Update code/addons/a11y/README.md
valentinpalkovic Nov 25, 2024
3d18bd4
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Nov 25, 2024
80119bd
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Nov 25, 2024
1379771
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Nov 25, 2024
e19095d
Update code/addons/a11y/README.md
valentinpalkovic Nov 25, 2024
bd2ec3b
Update code/addons/a11y/README.md
valentinpalkovic Nov 25, 2024
1abb89d
Add automigration for addon-a11y in combination with addon-test
valentinpalkovic Nov 25, 2024
e8db191
Fix import
valentinpalkovic Nov 25, 2024
a083021
Implement backend for addon-a11y addon-test integration
valentinpalkovic Nov 25, 2024
4f96924
Fake frontend for addon-a11y in addon-test integration
valentinpalkovic Nov 25, 2024
32a95d9
Fix typing issues
valentinpalkovic Nov 25, 2024
95eb08b
Update @storybook/csf
valentinpalkovic Nov 25, 2024
9a3ec6d
Update type for reporting api
valentinpalkovic Nov 25, 2024
0661d68
Refactor condition for Vitest standalone run check in preview.tsx
valentinpalkovic Nov 25, 2024
91c07f1
Refactor Vitest standalone run check to use a function for improved e…
valentinpalkovic Nov 25, 2024
4a19887
Add error handling to transformSetupFile for missing setProjectAnnota…
valentinpalkovic Nov 25, 2024
033c26e
Update documentation link in addon-a11y-addon-test for addon test gui…
valentinpalkovic Nov 25, 2024
00e5104
Update MIGRATION.md
valentinpalkovic Nov 25, 2024
361932a
Update MIGRATION.md
valentinpalkovic Nov 25, 2024
337cda0
Move STORYBOOK environment variable to configOverride in VitestManager
valentinpalkovic Nov 26, 2024
ec7f512
Update afterEach tests to expect errors to be thrown
valentinpalkovic Nov 26, 2024
f7709a1
Refactor postInstall function to streamline addon detection and impro…
valentinpalkovic Nov 26, 2024
8289960
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 26, 2024
1915e36
Fix postinstall script in addon-test
valentinpalkovic Nov 26, 2024
7f596df
Enhance a11y documentation and update a11yRunner to disable 'region' …
valentinpalkovic Nov 26, 2024
7950a5b
Fix esm only import from vitest
valentinpalkovic Nov 26, 2024
ffcf9e3
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 27, 2024
7ec1e7e
Provide fix for Vitest 2.1.4 and above
valentinpalkovic Nov 27, 2024
3de56e9
Improve automigration message
valentinpalkovic Nov 27, 2024
8fb31f7
Add check for Vitest standalone run in global setup
valentinpalkovic Nov 27, 2024
2292b6e
Add a11y addon in automigration to the beginning of the project annot…
valentinpalkovic Nov 27, 2024
de6b1f2
Add tags support for addon-a11y
valentinpalkovic Nov 27, 2024
29bc6b0
Update documentation
valentinpalkovic Nov 27, 2024
5ab29c6
Refactor a11yRunner and utils for improved configuration handling and…
valentinpalkovic Nov 27, 2024
0437d77
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 27, 2024
0b796a4
Reorder import statements for project annotations in postInstall func…
valentinpalkovic Nov 27, 2024
45c9a76
Update environment variable handling for Vitest integration in Storybook
valentinpalkovic Nov 27, 2024
d2d4b78
Fix story interaction
valentinpalkovic Nov 28, 2024
dda7f13
Fix types
valentinpalkovic Nov 28, 2024
9fd3cd4
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 28, 2024
7798a49
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Nov 29, 2024
27424e6
Merge remote-tracking branch 'origin/jeppe/vitest-coverage-backend' i…
valentinpalkovic Nov 29, 2024
e52d1e6
refactor: update reporter API to use 'type' instead of 'id' and renam…
valentinpalkovic Nov 29, 2024
74a2bdc
feat: Add accessibility support in TestProviderRender and related com…
valentinpalkovic Nov 29, 2024
e6358ba
Merge remote-tracking branch 'origin/jeppe/vitest-coverage-backend' i…
valentinpalkovic Nov 29, 2024
ed794c8
Re-add ts-expect-error
valentinpalkovic Nov 29, 2024
39ac2bd
fix: Update message to clarify manual update instructions for vitest.…
valentinpalkovic Nov 29, 2024
9cd7e77
fix: Update accessibility configuration to use environment variable f…
valentinpalkovic Nov 29, 2024
c0d50cc
feat: Add initialGlobals for accessibility manual setting in preview.tsx
valentinpalkovic Nov 29, 2024
22987ff
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Dec 2, 2024
ceb454b
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Dec 2, 2024
6ebfab7
Update MIGRATION.md
valentinpalkovic Dec 2, 2024
490506d
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Dec 2, 2024
74b1af6
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Dec 2, 2024
e142500
Update docs/writing-tests/accessibility-testing.mdx
valentinpalkovic Dec 2, 2024
ccf53ef
Simplify @storybook/addon-a11y docs and reference Storybook docs
valentinpalkovic Dec 2, 2024
3d938ba
Fix documentation link
valentinpalkovic Dec 2, 2024
51915d7
Add accessibility addon test setup snippets and update documentation
valentinpalkovic Dec 2, 2024
941ba1b
Add Storybook snippets for disabling accessibility tests in stories
valentinpalkovic Dec 2, 2024
7a8ccfd
Add snippets for overriding accessibility test warning levels and upd…
valentinpalkovic Dec 2, 2024
d0cc243
Fix a11y addon in Vitest 2.1.4 and above
valentinpalkovic Dec 2, 2024
a0c12ae
Starting to address snippets and other minor items
jonniebigodes Dec 2, 2024
763f5ee
Removes extra spacing
jonniebigodes Dec 2, 2024
fdc8078
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
kasperpeulen Dec 6, 2024
45f9037
Update status API
kasperpeulen Dec 6, 2024
8ee5ed6
Merge branch 'next' into valentin/unified-a11y-testing
kasperpeulen Dec 6, 2024
96fbd29
move internal a11y stories to the right directory
yannbf Dec 2, 2024
320e605
add a11y addon to vitest sandboxes
yannbf Dec 2, 2024
f20dcb2
fix a11y annotations
yannbf Dec 2, 2024
fd475c5
CLI: Make colors on starter components more accessible
yannbf Dec 6, 2024
739c40d
Hide sidebarContext menu
kasperpeulen Dec 6, 2024
aa40afa
Fix CSF issues
kasperpeulen Dec 6, 2024
b86c24b
Merge branch 'valentin/unified-a11y-testing' into yann/add-a11y-addon…
kasperpeulen Dec 6, 2024
dd3f1df
Filter errors
kasperpeulen Dec 6, 2024
1294596
Merge branch 'valentin/unified-a11y-testing' into yann/add-a11y-addon…
kasperpeulen Dec 6, 2024
19468e4
Merge pull request #29764 from storybookjs/yann/add-a11y-addon-to-san…
kasperpeulen Dec 6, 2024
c5504d5
fix controls e2e test
yannbf Dec 7, 2024
ff35403
Merge remote-tracking branch 'origin/next' into valentin/unified-a11y…
valentinpalkovic Dec 9, 2024
b66f925
Update pretty-format dependency to use caret versioning
valentinpalkovic Dec 9, 2024
b9af42f
Add accessibility addon to Kitchen Sink React and update component te…
valentinpalkovic Dec 9, 2024
8237f9e
Refactor test status updates to use async/await for improved readabil…
valentinpalkovic Dec 9, 2024
1f93edf
Update a11y configuration logic in vitest-plugin to depend on VITEST_…
valentinpalkovic Dec 9, 2024
aef5c10
Fix optional chaining for ancestors and path properties in Interactio…
valentinpalkovic Dec 9, 2024
f409f1d
Fix label casing for 'Start Component Tests' and update expand button…
valentinpalkovic Dec 9, 2024
b20b03b
Remove accessibility addon from Storybook configuration in react kitc…
valentinpalkovic Dec 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<h1>Migration</h1>

- [From version 8.4.x to 8.5.x](#from-version-84x-to-85x)
- [Addon-a11y: Component test integration](#addon-a11y-component-test-integration)
- [Addon-a11y: Deprecated `parameters.a11y.manual`](#addon-a11y-deprecated-parametersa11ymanual)
- [Indexing behavior of @storybook/experimental-addon-test is changed](#indexing-behavior-of-storybookexperimental-addon-test-is-changed)
- [From version 8.2.x to 8.3.x](#from-version-82x-to-83x)
- [Removed `experimental_SIDEBAR_BOTTOM` and deprecated `experimental_SIDEBAR_TOP` addon types](#removed-experimental_sidebar_bottom-and-deprecated-experimental_sidebar_top-addon-types)
Expand Down Expand Up @@ -423,6 +425,30 @@

## From version 8.4.x to 8.5.x

### Addon-a11y: Component test integration

In Storybook 8.4, we introduced a new addon called [addon test](https://storybook.js.org/docs/writing-tests/test-addon). Powered by Vitest under the hood, this addon lets you watch, run, and debug your component tests directly in Storybook.

In Storybook 8.5, we revamped the Accessibility addon (`@storybook/addon-a11y`) to integrate it with the component tests feature. This means you can now extend your component tests to include accessibility tests. If you upgrade to Storybook 8.5 via `npx storybook@latest upgrade`, the Accessibility addon will be automatically configured to work with the component tests. However, if you're upgrading manually and you have the [addon test](https://storybook.js.org/docs/writing-tests/test-addon) installed, adjust your configuration as follows:

```diff
// .storybook/vitest.config.ts
...
+import * as a11yAddonAnnotations from '@storybook/addon-a11y/preview';

const annotations = setProjectAnnotations([
previewAnnotations,
+ a11yAddonAnnotations,
]);

// Run Storybook's beforeAll hook
beforeAll(annotations.beforeAll);
```

### Addon-a11y: Deprecated `parameters.a11y.manual`

We have deprecated `parameters.a11y.manual` in 8.5. Please use `globals.a11y.manual` instead.

### Indexing behavior of @storybook/experimental-addon-test is changed

The Storybook test addon used to index stories based on the `test.include` field in the Vitest config file. This caused indexing issues with Storybook, because stories could have been indexed by Storybook and not Vitest, and vice versa. Starting in Storybook 8.5.0-alpha.18, we changed the indexing behavior so that it always uses the globs defined in the `stories` field in `.storybook/main.js` for a more consistent experience. It is now discouraged to use `test.include`, please remove it.
Expand Down
3 changes: 3 additions & 0 deletions code/.storybook/preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,9 @@ export const parameters = {
opacity: 0.4,
},
},
a11y: {
warnings: ['minor', 'moderate', 'serious', 'critical'],
},
};

export const tags = ['test', 'vitest'];
5 changes: 3 additions & 2 deletions code/.storybook/storybook.setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { userEvent as storybookEvent, expect as storybookExpect } from '@storybo
// eslint-disable-next-line import/namespace
import * as testAnnotations from '@storybook/experimental-addon-test/preview';

import * as a11yAddonAnnotations from '@storybook/addon-a11y/preview';

import * as coreAnnotations from '../addons/toolbars/template/stories/preview';
import * as componentAnnotations from '../core/template/stories/preview';
// register global components used in many stories
Expand All @@ -15,9 +17,8 @@ import * as projectAnnotations from './preview';
vi.spyOn(console, 'warn').mockImplementation((...args) => console.log(...args));

const annotations = setProjectAnnotations([
// @ts-expect-error check type errors later
a11yAddonAnnotations,
projectAnnotations,
// @ts-expect-error check type errors later
componentAnnotations,
coreAnnotations,
testAnnotations,
Expand Down
207 changes: 7 additions & 200 deletions code/addons/a11y/README.md
Original file line number Diff line number Diff line change
@@ -1,206 +1,13 @@
# storybook-addon-a11y
# Storybook Accessibility Addon

This Storybook addon can be helpful to make your UI components more accessible.
The @storybook/addon-a11y package provides accessibility testing for Storybook stories. It uses axe-core to run the tests.

[Framework Support](https://storybook.js.org/docs/configure/integration/frameworks-feature-support)
## Getting Started

![Screenshot](https://raw.githubusercontent.com/storybookjs/storybook/next/code/addons/a11y/docs/screenshot.png)
### Add the addon to an existing Storybook

## Getting started

First, install the addon.

```sh
$ yarn add @storybook/addon-a11y --dev
```

Add this line to your `main.js` file (create this file inside your Storybook config directory if needed).

```js
export default {
addons: ['@storybook/addon-a11y'],
};
```

And here's a sample story file to test the addon:

```js
import React from 'react';

export default {
title: 'button',
};

export const Accessible = () => <button>Accessible button</button>;

export const Inaccessible = () => (
<button style={{ backgroundColor: 'red', color: 'darkRed' }}>Inaccessible button</button>
);
```

## Handling failing rules

When Axe reports accessibility violations in stories, there are multiple ways to handle these failures depending on your needs.

### Story-level overrides

At the Story level, override rules using `parameters.a11y.config.rules`.

```js
export const InputWithoutAutofill = () => <input type="text" autocomplete="nope" />;

InputWithoutAutofill.parameters = {
a11y: {
// Avoid doing this, as it will fully disable all accessibility checks for this story.
disable: true,

// Instead, override rules 👇
// axe-core configurationOptions (https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#parameters-1)
config: {
rules: [
{
// You can exclude some elements from failing a specific rule:
id: 'autocomplete-valid',
selector: '*:not([autocomplete="nope"])',
},
{
// You can also signify that a violation will need to be fixed in the future
// by overriding the result of a rule to return "Needs Review"
// rather than "Violation" if the rule fails:
id: 'landmark-complementary-is-top-level',
reviewOnFail: true,
},
],
},
},
};
```

Alternatively, you can disable specific rules in a Story:

```js
export const Inaccessible = () => (
<button style={{ backgroundColor: 'red', color: 'darkRed' }}>Inaccessible button</button>
);
Inaccessible.parameters = {
a11y: {
config: {
rules: [{ id: 'color-contrast', enabled: false }],
},
},
};
```bash
npx storybook add @storybook/addon-a11y
```

Tip: clearly explain in a comment why a rule was overridden, it’ll help you and your team trace back why certain violations aren’t being reported or need to be addressed. For example:

```js
MyStory.parameters = {
a11y: {
config: {
rules: [
{
// Allow `autocomplete="nope"` on form elements,
// a workaround to disable autofill in Chrome.
// @link https://bugs.chromium.org/p/chromium/issues/detail?id=468153
id: 'autocomplete-valid',
selector: '*:not([autocomplete="nope"])',
},
{
// @fixme Color contrast of subdued text fails, as raised in issue #123.
id: 'color-contrast',
reviewOnFail: true,
},
],
},
},
};
```

### Global overrides

When you want to ignore an accessibility rule or change its settings across all stories, set `parameters.a11y.config.rules` in your Storybook’s `preview.ts` file. This can be particularly useful for ignoring false positives commonly reported by Axe.

```ts
// .storybook/preview.ts

export const parameters = {
a11y: {
config: {
rules: [
{
// This tells Axe to run the 'autocomplete-valid' rule on selectors
// that match '*:not([autocomplete="nope"])' (all elements except [autocomplete="nope"]).
// This is the safest way of ignoring a violation across all stories,
// as Axe will only ignore very specific elements and keep reporting
// violations on other elements of this rule.
id: 'autocomplete-valid',
selector: '*:not([autocomplete="nope"])',
},
{
// To disable a rule across all stories, set `enabled` to `false`.
// Use with caution: all violations of this rule will be ignored!
id: 'autocomplete-valid',
enabled: false,
},
],
},
},
};
```

### Disabling checks

If you wish to entirely disable `a11y` checks for a subset of stories, you can control this with story parameters:

```js
export const MyNonCheckedStory = () => <SomeComponent />;
MyNonCheckedStory.parameters = {
// Avoid doing this, as it fully disables all accessibility checks for this story,
// and consider the techniques described above.
a11y: { disable: true },
};
```

## Parameters

For more customizability use parameters to configure [aXe options](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#api-name-axeconfigure).
You can override these options [at story level too](https://storybook.js.org/docs/react/configure/features-and-behavior#per-story-options).

```js
import React from 'react';
import { addDecorator, addParameters, storiesOf } from '@storybook/react';

export default {
title: 'button',
parameters: {
a11y: {
// optional selector which element to inspect
element: '#storybook-root',
// axe-core configurationOptions (https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#parameters-1)
config: {},
// axe-core optionsParameter (https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter)
options: {},
// optional flag to prevent the automatic check
manual: true,
},
},
};

export const accessible = () => <button>Accessible button</button>;

export const inaccessible = () => (
<button style={{ backgroundColor: 'red', color: 'darkRed' }}>Inaccessible button</button>
);
```

## Automate accessibility tests with test runner

The test runner does not apply any rules that you have set on your stories by default. You can configure the runner to correctly apply the rules by [following the guide on the Storybook docs](https://storybook.js.org/docs/writing-tests/accessibility-testing#automate-accessibility-tests-with-test-runner).

## Roadmap

- Make UI accessible
- Show in story where violations are.
- Add more example tests
- Add tests
- Make CI integration possible
[More on getting started with the accessibility addon](https://storybook.js.org/docs/writing-tests/accessibility-testing#accessibility-checks-with-a11y-addon)
6 changes: 5 additions & 1 deletion code/addons/a11y/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,16 @@
},
"dependencies": {
"@storybook/addon-highlight": "workspace:*",
"axe-core": "^4.2.0"
"@storybook/test": "workspace:*",
"axe-core": "^4.2.0",
"vitest-axe": "^0.1.0"
},
"devDependencies": {
"@storybook/global": "^5.0.0",
"@storybook/icons": "^1.2.12",
"@testing-library/react": "^14.0.0",
"picocolors": "^1.1.0",
"pretty-format": "^29.7.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-resize-detector": "^7.1.2",
Expand Down
1 change: 0 additions & 1 deletion code/addons/a11y/src/a11yRunner.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ describe('a11yRunner', () => {
await import('./a11yRunner');

expect(mockedAddons.getChannel).toHaveBeenCalled();
expect(mockChannel.on).toHaveBeenCalledWith(EVENTS.REQUEST, expect.any(Function));
expect(mockChannel.on).toHaveBeenCalledWith(EVENTS.MANUAL, expect.any(Function));
});
});
Loading
Loading