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

Testing #7

Open
Nickersoft opened this issue Sep 23, 2022 · 0 comments
Open

Testing #7

Nickersoft opened this issue Sep 23, 2022 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@Nickersoft
Copy link
Owner

Something that is noticeably lacking from this repository at the moment is testing, which naturally concerns me a little bit. Back in the days of PushJS, Karma & Jasmine were used to test the web push API inside a browser via BrowserStack. Nowadays, these projects aren't as actively maintained and have been replaced with newer, more modern tech such as Jest, Playwright, and Cypress.

It's proved a tad difficult getting features such as ESM and TypeScript working in Karma, and even if it was achieved it seems rather difficult to test something as interactive and robust as the web audio API. Even the popular project Howler.js doesn't have an automated test suite. The options I currently see are:

  1. Attempt to mock everything out using Jest + JSDOM, even though JSDOM doesn't support the Web Audio API and we'd effectively be building it from scratch
  2. Write a dummy web project that uses BoothJS, spin up a web server, and run integration tests against it via Playwright

Both of these are pretty high lift, and won't be implemented immediately, so I'm leaving this issue open as an ongoing brainstorm around how this library can best be tested in case anyone else has further ideas or wants to help out :)

@Nickersoft Nickersoft added enhancement New feature or request help wanted Extra attention is needed labels Sep 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant