Детокс с Mirage.js [вызов API-макета] React-Native
Я работаю над некоторыми тестами с использованием Detox для моего приложения React-Native, один из этих тестов - это поток, в котором мне нужно проверить, что сеанс пользователя защищен. Если нет, я отправляю проверочный код по SMS.
Тест: Успешно высмеять POST
Вызов API api/sessions/:sessionId, {code : 123456}
Проблема: Mirage не принимает вызов, поэтому, конечно, моя Saga возвращает ошибку для поддельного кода 123456
, где я хочу вместо Mirage.JS вернуть true
чтобы продолжить поток.
Вот файл (file.spec.js
):
import { Server } from "miragejs"
import { makeServer } from "./server";
let server;
beforeEach(() => {
server = makeServer({ environment: "development" });
})
afterEach(() => {
server.shutdown()
})
describe('SecureFlow', () => {
it("should do nav to a project and start Investment Flow", async () => {
server.get("https://random-api.eu/sessions/:sessionId", () => {
return new Response( 200, {}, { ok: true });
});
await basicNavigation(); //randomNavigation until the secure part (Screen)
await element(by.id('Accept-andLend')).tap();
await element(by.id('textInput-SMSCode')).typeText("123456");
})
})
server.js
import { Server, Model, Factory } from "miragejs";
export function makeServer({ environment = "development" } = {}) {
let server = new Server({
environment,
models: {
},
routes() {
this.post("https://random-api.eu/sessions/:sessionId", schema => {
return [{ok: true}];
});
}
});
return server;
}