Pruebas unitarias
Proyecto Cine Power
Componente confiterias (ruta: http://localhost:3123/confectionery)
GET: obtener todas las confiterías (/getall)
Confiterías paginadas
GET: obtener confiterías paginadas (/getpaginated?limite=10&offset=0etFuncionesPaginadas?
page=1&size=10)
POST: Añadir una confitería(/addcito)
PUT: actualiza una confitería con idproducto e idcine específicos (/update)
Actualizar
Update masivo
PUT: actualiza los precios de todas las confiterías específicos (//updateallprices/${porcentaje})
DELETE: Borra una función por ID (/delete/${idProducto}/${idCine})
Las pruebas unitarias del componente confitería fueron exitosas
Código ApiExterna.test.ts
import request from "supertest";
import { describe, test, expect } from "@jest/globals";
const miUrl = "http://localhost:3123/confectionery";
describe('Test del backend', () => {
test("Probando status code - getall confiterias", async () => {
const response = await request(miUrl).get("/getall");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
// Test para obtener todas las confiterías paginadas
test("Probando status code - getall confiterias paginadas", async () => {
const response = await request(miUrl).get("/getpaginated?limite=10&offset=0");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
// Test para añadir una confitería (POST)
test("Probando status code - post confiteria (Añade una confitería)", async () => {
const newConfiteria = {
idProducto: 16,
idCine: 5,
precioProductoCine: 500
};
const response = await request(miUrl).post("/addcito").send(newConfiteria);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
// Test para actualizar una confitería (PUT)
test("Probando status code - put confiteria (Actualiza una confitería)", async () => {
const updateConfiteria = {
idProducto: 12,
idCine: 5,
precioProductoCine: 60
};
const response = await request(miUrl).put("/update").send(updateConfiteria);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
// Test para actualizar precios masivamente (PUT)
test("Probando status code - put confiteria (Actualiza precios masivos)", async () => {
const porcentaje = 15;
const response = await request(miUrl).put(/updateallprices/${porcentaje});
expect(response.statusCode).toBe(200);
console.log(response.body);
});
// Test para eliminar una confitería (DELETE)
test("Probando status code - delete confiteria (Elimina una confitería)", async () => {
const idProducto = 17; // ID del producto
const idCine = 5; // ID del cine
const response = await request(miUrl).delete(/delete/${idProducto}/${idCine});
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
Componente carteleras (ruta: http://localhost:3123/billboard )
GET: obtener todas las carteleras ( /getall )
GET: obtener carteleras páginadas ( /getpaginated?limite=10&offset=0 )
POST: Agregar una nueva cartelera ( /add )
DELETE: Eliminar una cartelera ( /delete )
PUT: Actualizar una cartelera (/update )
Código ApiExterna.test.ts
import request from "supertest";
import { describe, test, expect } from "@jest/globals";
const miUrl = "http://localhost:3123/billboard";
describe("Test del backend - Carteleras", () => {
// Obtener carteleras
describe("GET carteleras", () => {
test("Probando status code - obtener todas las carteleras", async () => {
const response = await request(miUrl).get("/getall");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("Probando status code - obtener carteleras paginadas", async () => {
const response = await request(miUrl).get("/getpaginated");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
describe("POST carteleras", () => {
test("Probando status code - agregar una cartelera", async () => {
const nuevaCartelera = {
idPelicula: 25,
idCine: 2,
fechaInicioCartelera: "2024-12-01",
fechaFinCartelera: "2029-12-31",
};
;
const response = await request(miUrl).post("/add").send(nuevaCartelera);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
// Eliminar carteleras
describe("DELETE carteleras", () => {
test("Borrar una cartelera por ID", async () => {
const response = await request(miUrl).delete("/delete/5/3");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
// Actualizar carteleras
describe("PUT carteleras", () => {
test("Actualizar una cartelera específica", async () => {
const carteleraActualizada = {
idPelicula: 1,
idCine: 2,
fechaInicioCartelera: "2024-12-05",
fechaFinCartelera: "2024-12-20",
};
const response = await
request(miUrl).put("/update").send(carteleraActualizada);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
});
Componente Personas ruta ( http://localhost:3123/people )
Código ApiExterna.test.ts:
import request from "supertest";
import { describe, test, expect } from "@jest/globals";
describe("API Personas", () => {
const miUrl = "http://localhost:3123";
// Prueba para GET /getallPersona
test("Probando status code GET /people/getallPersona", async () => {
const respuesta = await request(miUrl).get("/people/getallPersona");
expect(respuesta.statusCode).toBe(200);
// Mostrar los primeros 10 elementos de la respuesta
console.log("Primeros 10 resultados de GET /getallPersona:");
console.log(respuesta.body.slice(0, 10)); // Solo los primeros 10
// También puedes mostrar la respuesta completa si es necesario
// console.log(respuesta.body);
});
// Prueba para POST /addPersona
test("Debería agregar una persona correctamente POST /people/addPersona", async () => {
const nuevaPersona = {
numeroDocumento: 12345,
nombresPersona: "Juan",
apellidosPersona: "Pérez",
fechaNacimientoPersona: "1990-01-01",
idCargo: 1,
idUbicacion: 2,
idPlan: 3,
celular: "555123456",
emailPersona: "[email protected]",
contraseniaPersona: "password123"
};
const respuesta = await request(miUrl)
.post("/people/addPersona")
.send(nuevaPersona); // Enviar los datos del cuerpo de la solicitud
// Verifica el código de estado de la respuesta
expect(respuesta.statusCode).toBe(200);
// Mostrar la respuesta completa de la adición de persona
console.log("Respuesta de POST /addPersona:");
console.log(respuesta.body);
// Verifica que la respuesta contenga el campo "idPersona"
expect(respuesta.body).toHaveProperty("idPersona");
// Opcionalmente, también puedes verificar si el idPersona es un número
expect(typeof respuesta.body.idPersona).toBe("number");
});
// Prueba para DELETE /deletePersona/:numeroDocumento
test("Debería eliminar una persona correctamente DELETE /people/deletePersona/:numeroDocumento", async () => {
const numeroDocumento = 12345; // Este debe ser un número de documento válido
const respuesta = await request(miUrl)
.delete(`/people/deletePersona/${numeroDocumento}`);
// Verifica que el código de estado sea 200
expect(respuesta.statusCode).toBe(200);
// Mostrar la respuesta completa del borrado de persona
console.log("Respuesta de DELETE /deletePersona:");
console.log(respuesta.body);
// Verifica que la respuesta tenga la propiedad esperada
expect(respuesta.body).toHaveProperty("respuesta", "Lo borré sin miedo");
});
// Prueba para PUT /updatePersona
test("Debería actualizar una persona correctamente PUT /people/updatePersona", async () => {
const personaActualizada = {
numeroDocumento: "100005",
nombresPersona: "mateo",
apellidosPersona: "ramos",
fechaNacimientoPersona: "1990-01-01T05:00:00.000Z",
idCargo: 1,
idUbicacion: 1,
idPlan: 1,
celular: "555-00555001",
emailPersona: "[email protected]",
contraseniaPersona: "passwoooiiiord1"
};
const respuesta = await request(miUrl)
.put("/people/updatePersona")
.send(personaActualizada); // Enviar los datos del cuerpo de la solicitud
// Verifica que el código de estado sea 200
expect(respuesta.statusCode).toBe(200);
// Mostrar la respuesta completa de la actualización de persona
console.log("Respuesta de PUT /updatePersona:");
console.log(respuesta.body);
// Verifica que la respuesta tenga la propiedad "actualizado"
expect(respuesta.body).toHaveProperty("actualizado", "ok");
});
});
Componente funciones (ruta: http://localhost:3123/funciones )
GET: obtener todas las funciones (/getFunciones)
Para cuestiones prácticas, se muestra el final del getAll
GET: obtener funciones paginadas(/getFuncionesPaginadas?page=1&size=10)
POST: Añadir una función(/addFuncion)
DELETE: Borra una función por ID (/deleteFuncionporId/:idFuncion)
DELETE: Borra todas las funciones que no tengan relación con otras tablas (/deleteFuncion)
PUT: Actualiza una función (/updateFuncion/:idFuncion)
PUT: Actualiza funciones por sala (/updatetipoFuncionesPorSala)
PUT: Actualiza fechas de funciones (/updateFechaFunciones)
PUT: actualiza todas las funciones con una pelicula específica (/updateFuncionesPeliculas/:idPelicula)
PUT: actualiza todas las funciones con una sala específica (/updateFuncionesSalas/:idSala)
Las pruebas unitarias del componente función fueron exitosas
Código ApiExterna.test.ts:
import request from "supertest";
import { describe, test, expect } from "@jest/globals";
const miUrl = "http://localhost:3123/funciones";
describe("Test del backend", () => {
// obtener funciones
describe("GET funciones", () => {
test("Probando status code- getall funciones", async () => {
const response = await request(miUrl).get("/getFunciones");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("Probando status code- getall funciones paginadas", async () => {
const response = await request(miUrl).get("/getFuncionesPaginadas?page=1&size=10");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
//prueba de agregar funcion
describe("POST funcion", () => {
test("Probando status code- post funciones(Añade una función)", async () => {
const newFuncion = {
idPelicula: 1,
tipoFuncion: "3D",
horaFuncion: "18:00",
fechaFuncion: "2024-12-01",
idSala: 2,
};
const response = await request(miUrl).post("/addFuncion").send(newFuncion);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
// DELETE
describe("DELETE funciones", () => {
test(" Borra una función por ID", async () => {
const response = await request(miUrl).delete("/deleteFuncionporId/335");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("Borra todas las funciones no relacionadas", async () => {
const response = await request(miUrl).delete("/deleteFuncion");
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
// Rutas PUT
describe("PUT funciones", () => {
test(" Actualiza una función", async () => {
const updatedFuncion = {
idPelicula:2,
tipoFuncion: "2D",
horaFuncion: "20:00",
fechaFuncion:"2024-12-01",
idSala:2,
};
const response = await request(miUrl).put("/updateFuncion/3").send(updatedFuncion);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("Actualiza funciones por sala", async () => {
const response = await request(miUrl).put("/updatetipoFuncionesPorSala").send({ idSala: 1, tipoFuncion: "VIP" });
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("Actualiza fechas de funciones", async () => {
const response = await request(miUrl).put("/updateFechaFunciones").send({idPelicula:2, fechaFuncion: "2024-12-
10", idSala: 1, });
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("actualiza todas las funciones con una pelicula especifica", async () => {
const funcionNueva = {
tipoFuncion: "2D",
horaFuncion: "20:00",
idSala:2,
};
const response = await request(miUrl).put("/updateFuncionesPeliculas/2").send(funcionNueva);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
test("actualiza todas las funciones con una sala especifica", async () => {
const funcionNueva = {
tipoFuncion: "2D",
horaFuncion: "20:00",
idSala:2,
};
const response = await request(miUrl).put("/updateFuncionesSalas/1").send(funcionNueva);
expect(response.statusCode).toBe(200);
console.log(response.body);
});
});
});
Componente Reservaciones miUrl = "http://localhost:3123";
Se repitieron varios test en diferentes momentos para demostrar que los endpoints funcionaban correctamente en
diferentes casos. Fueron 16 endpoints en total con 27 test en esta prueba.
1) "GET /reservation/getAll - Obtener todas las reservaciones
2) "POST /reservation/create - Crear una nueva reservación"
3) "GET /reservation/get/:idReservacion - Obtener una reservación por ID"
4) "PUT /reservation/update - Actualizar una reservación existente"
5) "GET /reservation/get/:idReservacion - Obtener una reservación por ID"
6) "GET /reservation/paginate - Paginar reservaciones"
7) "POST /reservation/products/add - Agregar producto a una reservación"
8) "POST /reservation/products/add - Agregar producto a una reservación",
9) "POST /reservation/products/add - Agregar producto a una reservación",
10) "GET /reservation/products/:idReservacion - Obtener productos por reservación"
11) "DELETE /reservation/products/:idReservacion/:idProducto - Eliminar producto de una
reservación"
12) "DELETE /reservation/products/:idReservacion/:idProducto - Eliminar producto de una
reservación"
13) "DELETE /reservation/products/:idReservacion/:idProducto - Eliminar producto de una
reservación"
14) "GET /reservation/products/:idReservacion - Obtener productos por reservación"
15) "POST /reservation/seats/add - Agregar silla a una reservación"
16) "POST /reservation/seats/add - Agregar silla a una reservación"
17) "GET /reservation/seats/:idReservacion - Obtener sillas por reservación"
18) "DELETE /reservation/seats/:idReservacion/:idSilla - Eliminar silla de una reservación"
19) "DELETE /reservation/seats/:idReservacion/:idSilla - Eliminar silla de una reservación”
20) "GET /reservation/seats/:idReservacion - Obtener sillas por reservación"
21) "GET /reservation/count/:idFuncion - Contar reservas por función"
22) "PUT /reservation/price/function - Actualizar precio por función"
23) "GET /reservation/get/:idReservacion - Obtener una reservación por ID"
24) “PUT /reservation/price/person - Actualizar precio por persona"
25) "GET /reservation/get/:idReservacion - Obtener una reservación por ID"
26) "DELETE /reservation/function/:idFuncion - Eliminar todas las reservas por función"
27) "DELETE /reservation/delete - Eliminar una reservación"
Código ApiExterna.test.ts:
import request from "supertest";
import { describe, test, expect } from "@jest/globals";
const miUrl = "http://localhost:3123";
let personaID: number = 3;
let funcionID: number = 1;
let reservacionID: number | null = null;
describe("Pruebas para los endpoints de /reservation", () => {
test("GET /reservation/getAll - Obtener todas las reservaciones",
async () => {
const respuesta = await
request(miUrl).get("/reservation/getAll");
expect(respuesta.statusCode).toBe(200);
console.log(respuesta.body);
});
test("POST /reservation/create - Crear una nueva reservación",
async () => {
const nuevaReservacion = {
precio: 850.0,
idPersona: personaID,
idFuncion: funcionID,
};
const respuesta = await request(miUrl)
.post("/reservation/create")
.send(nuevaReservacion);
expect(respuesta.statusCode).toBe(201);
expect(respuesta.body).toHaveProperty("data");
reservacionID = respuesta.body.data;
console.log("Respuesta POST:", respuesta.body);
});
test("GET /reservation/get/:idReservacion - Obtener una
reservación por ID", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/get/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log(respuesta.body);
});
test("PUT /reservation/update - Actualizar una reservación
existente", async () => {
const actualizacion = {
precio: 789.99,
idPersona: personaID,
idFuncion: funcionID,
};
const respuesta = await request(miUrl)
.put("/reservation/update")
.send(actualizacion);
console.log("Respuesta PUT:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
});
test("GET /reservation/get/:idReservacion - Obtener una
reservación por ID", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/get/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log(respuesta.body);
});
test("GET /reservation/paginate - Paginar reservaciones", async
() => {
const respuesta = await
request(miUrl).get("/reservation/paginate?limite=20&offset=0");
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /paginate:", respuesta.body);
});
test("POST /reservation/products/add - Agregar producto a una
reservación", async () => {
const nuevoProducto = {
idProducto: 2,
idReservacion: reservacionID,
precioPedido: 42.57,
cantidad: 3
};
const respuesta = await request(miUrl)
.post("/reservation/products/add")
.send(nuevoProducto);
console.log("Respuesta POST:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
agregado a la reservación con éxito");
});
test("POST /reservation/products/add - Agregar producto a una
reservación", async () => {
const nuevoProducto = {
idProducto: 3,
idReservacion: reservacionID,
precioPedido: 120.53,
cantidad: 2
};
const respuesta = await request(miUrl)
.post("/reservation/products/add")
.send(nuevoProducto);
console.log("Respuesta POST:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
agregado a la reservación con éxito");
});
test("POST /reservation/products/add - Agregar producto a una
reservación", async () => {
const nuevoProducto = {
idProducto: 4,
idReservacion: reservacionID,
precioPedido: 80.25,
cantidad: 6
};
const respuesta = await request(miUrl)
.post("/reservation/products/add")
.send(nuevoProducto);
console.log("Respuesta POST:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
agregado a la reservación con éxito");
});
test("GET /reservation/products/:idReservacion - Obtener
productos por reservación", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/products/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /products/:idReservacion:",
respuesta.body);
});
test("DELETE /reservation/products/:idReservacion/:idProducto -
Eliminar producto de una reservación", async () => {
const idReservacion = reservacionID;
const idProducto = 2;
const respuesta = await
request(miUrl).delete(`/reservation/products/${idReservacion}/$
{idProducto}`);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
eliminado de la reservación con éxito");
});
test("DELETE /reservation/products/:idReservacion/:idProducto -
Eliminar producto de una reservación", async () => {
const idReservacion = reservacionID;
const idProducto = 3;
const respuesta = await
request(miUrl).delete(`/reservation/products/${idReservacion}/$
{idProducto}`);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
eliminado de la reservación con éxito");
});
test("DELETE /reservation/products/:idReservacion/:idProducto -
Eliminar producto de una reservación", async () => {
const idReservacion = reservacionID;
const idProducto = 4;
const respuesta = await
request(miUrl).delete(`/reservation/products/${idReservacion}/$
{idProducto}`);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Producto
eliminado de la reservación con éxito");
});
test("GET /reservation/products/:idReservacion - Obtener
productos por reservación", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/products/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /products/:idReservacion:",
respuesta.body);
});
test("POST /reservation/seats/add - Agregar silla a una
reservación", async () => {
const nuevaSilla = {
idReservacion: reservacionID,
idSilla: 5,
estado: "ocupado"
};
const respuesta = await request(miUrl)
.post("/reservation/seats/add")
.send(nuevaSilla);
console.log("Respuesta POST:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Silla
agregada a la reservación con éxito");
});
test("POST /reservation/seats/add - Agregar silla a una
reservación", async () => {
const nuevaSilla = {
idReservacion: reservacionID,
idSilla: 8,
estado: "pendiente"
};
const respuesta = await request(miUrl)
.post("/reservation/seats/add")
.send(nuevaSilla);
console.log("Respuesta POST:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Silla
agregada a la reservación con éxito");
});
test("GET /reservation/seats/:idReservacion - Obtener sillas por
reservación", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/seats/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /seats/:idReservacion:",
respuesta.body);
});
test("DELETE /reservation/seats/:idReservacion/:idSilla -
Eliminar silla de una reservación", async () => {
const idReservacion = reservacionID;
const idSilla = 5;
const respuesta = await
request(miUrl).delete(`/reservation/seats/${idReservacion}/$
{idSilla}`);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Sillas
eliminadas de la reservación con éxito");
});
test("DELETE /reservation/seats/:idReservacion/:idSilla -
Eliminar silla de una reservación", async () => {
const idReservacion = reservacionID;
const idSilla = 8;
const respuesta = await
request(miUrl).delete(`/reservation/seats/${idReservacion}/$
{idSilla}`);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje", "Sillas
eliminadas de la reservación con éxito");
});
test("GET /reservation/seats/:idReservacion - Obtener sillas por
reservación", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/seats/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /seats/:idReservacion:",
respuesta.body);
});
test("GET /reservation/count/:idFuncion - Contar reservas por
función", async () => {
const idFuncion = funcionID;
const respuesta = await
request(miUrl).get(`/reservation/count/${idFuncion}`);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta GET /count/:idFuncion:",
respuesta.body);
});
test("PUT /reservation/price/function - Actualizar precio por
función", async () => {
const datos = {
precio: 999.89,
idFuncion: funcionID,
};
const respuesta = await request(miUrl)
.put("/reservation/price/function")
.send(datos);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta PUT /price/function:",
respuesta.body);
});
test("GET /reservation/get/:idReservacion - Obtener una
reservación por ID", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/get/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log(respuesta.body);
});
test("PUT /reservation/price/person - Actualizar precio por
persona", async () => {
const datos = {
precio: 300,
idPersona: personaID,
};
const respuesta = await request(miUrl)
.put("/reservation/price/person")
.send(datos);
expect(respuesta.statusCode).toBe(200);
console.log("Respuesta PUT /price/person:", respuesta.body);
});
test("GET /reservation/get/:idReservacion - Obtener una
reservación por ID", async () => {
const idReservacion = reservacionID;
const respuesta = await
request(miUrl).get(`/reservation/get/${idReservacion}`);
expect(respuesta.statusCode).toBe(200);
console.log(respuesta.body);
});
test("DELETE /reservation/function/:idFuncion - Eliminar todas
las reservas por función", async () => {
const idFuncion = funcionID;
const respuesta = await
request(miUrl).delete(`/reservation/function/${idFuncion}`);
console.log("Respuesta DELETE:", respuesta.body);
if (respuesta.statusCode === 207) {
expect(respuesta.body).toHaveProperty("mensaje", "Se
procesaron las reservas");
expect(respuesta.body).toHaveProperty("salidas");
} else {
expect(respuesta.statusCode).toBe(200);
expect(respuesta.body).toHaveProperty("mensaje",
"Reservas eliminadas correctamente");
}
});
test("DELETE /reservation/delete - Eliminar una reservación",
async () => {
const datosEliminacion = {
idPersona: personaID,
idFuncion: funcionID,
};
const respuesta = await request(miUrl)
.delete("/reservation/delete")
.send(datosEliminacion);
console.log("Respuesta DELETE:", respuesta.body);
expect(respuesta.statusCode).toBe(200);
});
});