27 lines
738 B
TypeScript
27 lines
738 B
TypeScript
import { http, HttpResponse } from "msw";
|
|
import type { AuthData } from "../../../model/types/service";
|
|
import { BASE_URL, MOCK_TOKEN } from "shared/api";
|
|
import { REGISTER_API_ROUTE } from "./register";
|
|
import { MOCK_EMAIL } from "../mocks";
|
|
|
|
const REGISTER_URL = `${BASE_URL}/${REGISTER_API_ROUTE}`;
|
|
|
|
/**
|
|
* Msw interceptor. Mocks the register endpoint response.
|
|
*/
|
|
export const registerMock = http.post(REGISTER_URL, async ({ request }) => {
|
|
const { email } = (await request.json()) as AuthData;
|
|
|
|
if (email === MOCK_EMAIL) {
|
|
return HttpResponse.json(
|
|
{ message: "User already exists" },
|
|
{ status: 409 },
|
|
);
|
|
}
|
|
|
|
return HttpResponse.json({
|
|
accessToken: MOCK_TOKEN,
|
|
user: { id: "2", email },
|
|
});
|
|
});
|