You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are cases when tests transitively rely on the WebSocket class that is specification-compliant but is not distributed globally (e.g. the ws package). It would be nice to handle this situation in MSW somehow so it's either supported or made apparent that it won't be.
I believe we should be able to do something like this:
It's sensitive to import order. If your tested code gets imported first, it will grab the unpatched version of the client and there's nothing MSW can do about it. Since WebSocket links are created in test suites, perhaps they aren't the best area to support custom WebSocket clients.
This feature would also imply some sort of input validation so users wouldn't provide arbitrary classes hoping that mocking would just work. The WebSocket client must be WHATWG compliant.
The text was updated successfully, but these errors were encountered:
Scope
Improves an existing behavior
Compatibility
Feature description
More context: #2414
Summary
There are cases when tests transitively rely on the WebSocket class that is specification-compliant but is not distributed globally (e.g. the
ws
package). It would be nice to handle this situation in MSW somehow so it's either supported or made apparent that it won't be.I believe we should be able to do something like this:
This approach does however have a few gotchas.
Gotchas
It's sensitive to import order. If your tested code gets imported first, it will grab the unpatched version of the client and there's nothing MSW can do about it. Since WebSocket links are created in test suites, perhaps they aren't the best area to support custom WebSocket clients.
This feature would also imply some sort of input validation so users wouldn't provide arbitrary classes hoping that mocking would just work. The WebSocket client must be WHATWG compliant.
The text was updated successfully, but these errors were encountered: