valendres / playwright-msw

A Mock Service Worker API for Playwright
MIT License
168 stars 24 forks source link

`passthrough` does not work #92

Open kristojorg opened 9 months ago

kristojorg commented 9 months ago

I have been trying to set up playwright-msw with

I have noticed that the passthrough function from MSW does not work, and these routes are never completed. I can create my own passthrough function that does work: http.get("*", ({request}) => fetch(request)));, but I would expect the playwright version to work as well.

I've created a reproduction repo here: https://github.com/kristojorg/vite-playwright-msw.git

Steps to reproduce

  1. Clone the repo https://github.com/kristojorg/vite-playwright-msw.git
  2. pnpm install
  3. pnpm dev - this will run the app without MSW running in the browser. The expectation being that when we run playwright against this local server, playwright will intercept requests.
  4. Notice that It shows 100 posts. This is the live value from the API we are fetching data from.
  5. Run pnpm run test. The test will fail because the browser never loaded. It was not able to fetch the requests at http://localhost:5173/* despite the passthrough configured.
  6. Comment out the default MSW passthrough and use the custom passthrough defined below.
  7. Rerun tests. They should now pass