0% encontró este documento útil (0 votos)
17 vistas42 páginas

Pruebas Unitarias

El documento detalla las pruebas unitarias realizadas para varios componentes de un proyecto de cine, incluyendo confiterías, carteleras, personas, funciones y reservaciones. Cada componente tiene rutas específicas para operaciones CRUD y se realizaron pruebas para verificar el correcto funcionamiento de estas rutas. Las pruebas fueron exitosas en todos los componentes, asegurando que los endpoints respondan adecuadamente a las solicitudes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • eliminación,
  • pruebas de integración,
  • obtener sillas,
  • obtener productos,
  • código de estado,
  • nueva confitería,
  • validación,
  • obtener funciones,
  • actualización,
  • nueva persona
0% encontró este documento útil (0 votos)
17 vistas42 páginas

Pruebas Unitarias

El documento detalla las pruebas unitarias realizadas para varios componentes de un proyecto de cine, incluyendo confiterías, carteleras, personas, funciones y reservaciones. Cada componente tiene rutas específicas para operaciones CRUD y se realizaron pruebas para verificar el correcto funcionamiento de estas rutas. Las pruebas fueron exitosas en todos los componentes, asegurando que los endpoints respondan adecuadamente a las solicitudes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • eliminación,
  • pruebas de integración,
  • obtener sillas,
  • obtener productos,
  • código de estado,
  • nueva confitería,
  • validación,
  • obtener funciones,
  • actualización,
  • nueva persona

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);
});

});

También podría gustarte