From 81340c5e9775ba6a8e1d06396ffd3876fbe94aeb Mon Sep 17 00:00:00 2001 From: ThatGuySam Date: Sat, 12 Aug 2023 16:01:50 -0500 Subject: [PATCH] Add msw file server --- test/msw/handlers.js | 15 +++++++++++++++ test/msw/native.js | 7 +++++++ test/msw/server.js | 5 +++++ 3 files changed, 27 insertions(+) create mode 100644 test/msw/handlers.js create mode 100644 test/msw/native.js create mode 100644 test/msw/server.js diff --git a/test/msw/handlers.js b/test/msw/handlers.js new file mode 100644 index 0000000..cf194c6 --- /dev/null +++ b/test/msw/handlers.js @@ -0,0 +1,15 @@ +import path from 'node:path' +import fs from 'node:fs/promises' + +import { rest } from 'msw' + +export const handlers = [ + rest.get('https://mock.msw/*', async (req, res, ctx) => { + const { endpoint } = req.params; + const urlPath = req.url.pathname + + const fileContent = await fs.readFile( `./static/${urlPath}`, 'utf8') + + return res(ctx.json(JSON.parse(fileContent))) + }), +]; \ No newline at end of file diff --git a/test/msw/native.js b/test/msw/native.js new file mode 100644 index 0000000..a217bfd --- /dev/null +++ b/test/msw/native.js @@ -0,0 +1,7 @@ +// This module enables requests interception in React Native +// using the same request handlers as in tests. +import { setupServer } from 'msw/native' + +import { handlers } from './handlers' + +export const native = setupServer( ...handlers ) \ No newline at end of file diff --git a/test/msw/server.js b/test/msw/server.js new file mode 100644 index 0000000..99ff169 --- /dev/null +++ b/test/msw/server.js @@ -0,0 +1,5 @@ +import { setupServer } from 'msw/node' + +import { handlers } from './handlers' + +export const mswServer = setupServer( ...handlers ) \ No newline at end of file