Comments (4)
You are looking at v1 docs. The v2 docs for the life-cycle events are here: mswjs.io/docs/api/life-cycle-events
I noticed that the section "Asserting requests payload" is present in the v1 documentation but has been removed from the v2 documentation.
This removal was likely intentional, as it's recommended to avoid request assertions. However, I've heavily utilized the waitForRequest
function in my codebase.
The solution I proposed for porting waitForRequest
to v2, outlined in this comment, isn't functioning correctly.
from examples.
I found the solution here: https://github.com/zextras/carbonio-shell-ui/blob/devel/src/mocks/server.ts
import { LifeCycleEventsMap, matchRequestUrl } from 'msw';
import { setupServer } from 'msw/node';
import handlers from './handlers';
const server = setupServer(...handlers);
export default server;
export function waitForRequest(method: string, url: string): Promise<Request> {
let requestId = '';
return new Promise((resolve, reject) => {
server.events.on('request:start', (info) => {
const matchesMethod = info.request.method.toLowerCase() === method.toLowerCase();
const { matches: matchesUrl } = matchRequestUrl(new URL(info.request.url), url);
if (matchesMethod && matchesUrl) {
requestId = info.requestId;
}
});
server.events.on('request:match', (info) => {
if (info.requestId === requestId) {
resolve(info.request);
}
});
server.events.on('request:unhandled', (info) => {
if (info.requestId === requestId) {
reject(new Error(`The ${info.request.method} ${info.request.url} request was unhandled.`));
}
});
});
}
UPDATE: it seems that is not working the same as the implementation from v1. For a while, I'll stay on v1, as this function is really necessary for my workflow.
from examples.
Hi!
You are looking at v1 docs. The v2 docs for the life-cycle events are here: https://mswjs.io/docs/api/life-cycle-events/
from examples.
This removal was likely intentional, as it's recommended to avoid request assertions.
While we still discourage request assertions, I think the removal of that example was accidental. It took a lot of time to (re)write the docs for v2 so some things got lost along the way.
I think we should re-add the example. I propose to add it to the Exceptions section of the "Avoid request assertions" best practice. Does that make sense to you?
it seems that is not working the same as the implementation from v1.
Can you please share more details about what exactly is not working?
from examples.
Related Issues (20)
- Remix + MSW + Playwright HOT 1
- Add relative request URL examples to "jest-jsdom"
- Set multiple "msw.workerDirectory" in root-level package.json
- React Native example app is missing
- thrown: "API not configured" error HOT 2
- Vite + React but not Create-React-App + React HOT 2
- use msw-storybook-addon in storybook example
- There is no condition inclusion in main.ts HOT 2
- NetworkError at XMLHttpRequest.send HOT 2
- Jest tests all return ' No element indexed' error HOT 1
- MSW with GrapqhQl fragments
- mockup msw doesn't work HOT 3
- Not intercepting Apollo GQL requests at all HOT 6
- msw can't work in localhost or 127.0.0.1 HOT 1
- Run tests in supported version of Node.js
- Add example which uses Web Test Runner (@web/test-runner)
- Broken link from docs HOT 1
- Question: Is it possible to intercept ALL requests? HOT 3
- Separate with-jest and with-jest-and-jsdom examples HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from examples.