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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for aXe / Puppeteer / storyshot / CI / Jest flow? #7511

Closed
interactivellama opened this issue Jul 20, 2019 · 8 comments
Closed

Support for aXe / Puppeteer / storyshot / CI / Jest flow? #7511

interactivellama opened this issue Jul 20, 2019 · 8 comments

Comments

@interactivellama
Copy link

interactivellama commented Jul 20, 2019

Is your feature request related to a problem? Please describe.
No. Other than, trying to make the world a little more accessible! 馃槈

Describe the solution you'd like
I've got code working with Storyshots, but the addon-a11y mentions CI integration in its roadmap and add-ons seem more focused on the Storybook UI and not on test suites. Storyshots seems to be focused on DOM and image snapshots--that is it has artifacts that are stored in git and diff'ed.

The workflow working today is Storybook build CLI -> Jest -> Storyshots -> Puppeteer -> Jest expect() -> AxePuppeteer -> aXe. Performance is more than twice (3 min vs 8 min) that of StoryShots + jest-axe which uses jsDOM on the 448 stories I'm testing in Salesforce Lightning Design System for React.

Describe alternatives you've considered
I've implemented jest-axe with Storybook, but it's too slow for the large scope of our project of implementing https://www.lightningdesignsystem.com/ .

Are you able to assist bring the feature to reality?
Yes, I'd love to contribute after corporate approval. That's primarily why I'm asking for some direction. Where would this feature live? I'm guessing it would be it's own add-on like addon-storyshots-puppeteer or be added into that add-on and linked to from the addon-a11y. addon-storyshots-puppeteer is a vague name. It describes the how and not the what it does. On a related note, is storyshots really story-ci in its purpose? My running code structure is very similar to addon-storyshots-puppeteer, it's almost like it got copied and pasted or something. 馃槃

Additional context
Screenshot: Unfortunately, the color contrast in the terminal isn't very high in this screenshot.
Screen Shot 2019-07-20 at 2 19 30 PM

Related links

@shilman
Copy link
Member

shilman commented Jul 21, 2019

@interactivellama This sounds awesome. 馃挴馃挴馃挴

I think it would be its own package like addon-storyshots-puppeteer, as you suggest. addon-a11y-ci to start? It would be good if this new package and addon-a11y could share configuration, etc.

And maybe we can refactor & rename the way CI services work as part of a 6.0 breaking change.

@stale stale bot added the inactive label Aug 11, 2019
@storybookjs storybookjs deleted a comment from stale bot Aug 12, 2019
@stale stale bot removed the inactive label Aug 12, 2019
@shilman
Copy link
Member

shilman commented Aug 12, 2019

Hey @interactivellama anything I can do to help move this forward?

@interactivellama
Copy link
Author

No, I was out-of-the-office right after I posted two weeks, and now I'm working it into my release planning. It's been on the roadmap on the add-on's readme for a while (2016). Are you targeting any certain release?

Do you all have any contributing license agreement (CLA)? I see that it's all MIT, so probably not.

@shilman
Copy link
Member

shilman commented Aug 16, 2019

@interactivellama Once there's a PR we'll figure out which release to slot it into. We're finishing up 5.2 right now. 5.3 will probably go out late Sept / early Oct, and so forth. Happy to coordinate with you once you have a better sense of your schedule. We don't have a CLA AFAIK!

@Hypnosphi
Copy link
Member

Hypnosphi commented Aug 27, 2019

I think it can be actually a part of addon-storyshots-puppeteer, and use expect(page).toPassAxeTests() from jest-puppeteer-axe in test body instead of screenshot

@stale
Copy link

stale bot commented Sep 17, 2019

Hi everyone! Seems like there hasn't been much going on in this issue lately. If there are still questions, comments, or bugs, please feel free to continue the discussion. Unfortunately, we don't have time to get to every issue. We are always open to contributions so please send us a pull request if you would like to help. Inactive issues will be closed after 30 days. Thanks!

@stale stale bot added the inactive label Sep 17, 2019
@stale
Copy link

stale bot commented Oct 17, 2019

Hey there, it's me again! I am going close this issue to help our maintainers focus on the current development roadmap instead. If the issue mentioned is still a concern, please open a new ticket and mention this old one. Cheers and thanks for using Storybook!

@stale stale bot closed this as completed Oct 17, 2019
@Hypnosphi Hypnosphi reopened this Nov 24, 2019
@stale stale bot removed the inactive label Nov 24, 2019
@Hypnosphi Hypnosphi self-assigned this Nov 24, 2019
@Hypnosphi Hypnosphi added the todo label Nov 24, 2019
@Hypnosphi
Copy link
Member

Implemented in #8934

@IanVS IanVS closed this as completed Dec 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants