Estoy intentando crear un servidor miragejs con una solicitud posterior, pero recibo un tiempo de espera cada vez que hago una llamada. Extrañamente, los puntos finales de obtener/eliminar devuelven bien, pero los puntos finales de publicación/colocación se cuelgan indefinidamente, lo que resulta en un error de tiempo de espera de broma:
Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Error
Mi archivo de servidor miragejs:
import { createServer } from "miragejs"; export function startTestAPIServer() { return createServer({ namespace: "/testing", routes() { this.get("/test", (schema) => { console.log("recieved request!") return {"foo": "get testing"} }); this.post("/test", (schema, request) => { return {"foo": "post testing"} }) } }); }
Mi archivo de prueba:
import { startTestAPIServer } from "../../content/mockAPI/testAPI" import axios from "axios" // initiate test server let server; beforeEach(() => { server = startTestAPIServer(); }) afterEach(() => { server.shutdown(); }) describe("testAPI", () => { it("returns get request", async () => { var data; await axios .get("/testing/test") .then((res) => data = res.data) .catch((err) => console.log(err)); expect(data).toEqual({"foo": "get testing"}); }) it("returns post request", async () => { var data; await axios .post("/testing/test", {}) .then((res) => data = res.data) .catch((err) => console.log(err)); expect(data).toEqual({"foo": "post testing"}); }) })
El primer caso pasa mientras que el segundo falla. No estoy seguro de lo que estoy haciendo mal que podría causar algo como esto. Estoy bastante seguro de que no es axios lo que causa el problema, ya que registré su solicitud y devoluciones, y solo se registra la solicitud. También estoy seguro de que, de hecho, se está alcanzando el punto final, ya que los registros de la consola se imprimirán desde el bloque de código del punto final, simplemente no volverá por algún motivo. No estoy seguro de si es relevante, pero también estoy ejecutando React Native.