1
resposta

Dúvida sobre os testes

Olá, como feito na aula, fiz meu código assim:

import app from "../../app.js";
import request from "supertest";

let server;
beforeEach(() => {
  const port = 3000;
  server = app.listen(port);
});

afterEach(() => {
  server.close();
});

describe("GET em /editoras", () => {
  it("Deve retornar uma lista de editoras", async () => {
    const res = await request(app)
      .get("/editoras")
      .set("Accept", "application/json")
      .expect("content-type", /json/)
      .expect(200);

    expect(res.body[0].email).toEqual("e@e.com");
  });
});

let idResposta;
describe("POST em /editoras", () => {
  it("Deve adicionar uma nova editora", async () => {
    const res = await request(app)
      .post("/editoras")
      .send({
        nome: "CDC",
        cidade: "São Paulo",
        email: "c@c.com",
      })
      .expect(201);

    idResposta = res.body.content.id;
  });
});

describe("DELETE em /editoras/id", () => {
  it("Deve deletar o recurso adicionado", async () => {
    await request(app).delete(`/editoras/${idResposta}`).expect(200);
  });
});

describe("GET em /editoras/id", () => {
  it("Deve retornar o recurso adicionado", async () => {
    await request(app).get(`/editoras/${idResposta}`).expect(200);
  });
});

Minha dúvida é: como o ultimo teste faz o get, sendo que o penúltimo faz o delete do mesmo?

1 resposta

Olá Enzo, tudo bem?

O último teste faz o GET após o DELETE para verificar se o recurso foi realmente deletado. Ou seja, o teste anterior deleta o recurso e o último teste verifica se realmente foi deletado.

Espero ter ajudado e bons estudos!