playwright-msw icon indicating copy to clipboard operation
playwright-msw copied to clipboard

`passthrough` does not work

Open kristojorg opened this issue 1 year ago • 1 comments

I have been trying to set up playwright-msw with

  • MSW 2.x
  • playwright-msw 3.0.1
  • @playwright/test 1.42.0

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

kristojorg avatar Feb 28 '24 17:02 kristojorg

Thanks for the advice with using fetch as a replacement! It worked for me as well. I would still like to see passthrough get official support if possible.

LeonGeldsch avatar Jan 27 '25 16:01 LeonGeldsch