Skip to content

Instantly share code, notes, and snippets.

View marta-pinkowska's full-sized avatar

marta-pinkowska

View GitHub Profile
// src/FancyHomepageFeature/msw/mswHandlers.js
import { rest } from 'msw';
import { server } from '../tools/jest/server';
//...
export const setupFaultyHomeHandlers = () => {
server.use(
rest.get('https://fancy-app.com/homepage-data', (_req, res, ctx) => {
// src/FancyHomepageFeature/__tests__/FancyHomePage.test.js
import { FancyHomePage } from "../FancyHomePage";
import {
setupHomeHandlers,
setupFaultyHomeHandlers,
setupFailedHomeHandlers,
} from "./msw/mswHandlers";
describe("<FancyHomePage />", () => {
beforeEach(() => setupHomeHandlers());
export const setupSmartMswHelper = (override = {}) => {
server.use(
rest.get("https://fancy-app.com/return-some-data", (req, res, ctx) => {
return res(
ctx.status(200),
ctx.json({
fancyData: "Im so fancy!",
moreData: "You already know",
...override,
})
// src/FancyHomepageFeature/__tests__/FancyHomePage.test.js
//...
test("handles updated data", async () => {
setupSmartMswHelper({
moreData: "Cant you taste this gold?",
});
//...
});
// tools/jest/setupTests.js
const error = console.error;
console.error = (...args) =>
// Suppress error messages regarding network error in tests
/Error: Request failed with status code 500/m.test(
args[0]
)
? void 0
: error(...args);
theme: {
/* ... */
version: 3 | 2
}