-
-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Description
In my common use cases, I don't have the ability to add a search param to do a conditional response.
Consider this silly scenario:
test('something', () => {
const user = getUser()
expect(user).toBe(someCondition)
})
The function getUser
contains a fetch request that retrieves users.
In the case of a happy path (200), the handlers created using fromOpenApi
are fine. Now, let's repeat the same test using another type of response, for instance a 400 one.
According to the documentation, I should add a search parameter response to retrieve the response coupled with the status code, but as shown in the scenario, I can't just add the parameter because it's a detail I don't have control over (it could be something from a package, or a prebuild sdk with all the http calls inside).
Alternatives
Maybe it could be easier to consider some utility to control the status code of the msw handlers, I do not have a good idea to propose but conceptually is something like:
import { sourceryFnThatEditResponseCode } from '@msw/source'
test('something', () => {
// intercept '/the-endpoint-to-sent-in-400' and reply with 400 so retrieve the response based on 400 schema
sourceryFnThatEditResponseCode(...)
const user = getUser()
expect(user).toBe(someCondition)
}
wdyt?