0% found this document useful (0 votes)
11 views3 pages

User Service Integration Test

srvicio test integracion
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views3 pages

User Service Integration Test

srvicio test integracion
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

package com.adrian.reservapp.

model;

import java.sql.Date;
import java.util.List;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mapstruct.factory.Mappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.junit.jupiter.SpringExtension;

import com.adrian.ReservAppPrueba;
import com.adrian.reservapp.model.dto.UserDTO;
import com.adrian.reservapp.model.mapper.Mapeador;
import com.adrian.reservapp.model.mapper.MapeadorConfig;
import com.adrian.reservapp.model.repositories.ReservationsTimeRepository;
import com.adrian.reservapp.model.repositories.UsersRepository;
import com.adrian.reservapp.model.serviceImpl.UsersServiceImpl;
import com.adrian.reservapp.model.test.utils.CommonLibTestUtils;
import com.adrian.reservapp.model.utils.CommonLibUtils;

@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = {ReservAppPrueba.class, UsersServiceImpl.class,
Mapeador.class, MapeadorConfig.class, UsersRepository.class})
@ComponentScan(basePackages = "com.adrian.reservapp")
@TestInstance(TestInstance.Lifecycle.PER_CLASS) //Hace que @BeforeAll pueda
acceder a metodos no estáticos
@TestMethodOrder(OrderAnnotation.class)
public class UserServiceIntegrationTest {

@Autowired
private UsersServiceImpl usersService;

@Autowired
private ReservationsTimeRepository reservationTimeRepository;

@Autowired
private UsersRepository repo;
private Long numeroElementosBD;
Mapeador mapper = Mappers.getMapper(Mapeador.class);

@BeforeAll
public void contarElementosExistentesBBDD() {
numeroElementosBD = numeroActualUsuarios();
}

private long numeroActualUsuarios(){


return repo.count();
}
@Test
@Order(1)
public void runAppAndListAllTest() {
List<UserDTO> users = usersService.listAll();
Assertions.assertEquals(numeroElementosBD, users.size());
}

@Test
@Order(2)
public void altaUsuarioTest() throws Exception {
UserDTO datosNuevoUsuario = CommonLibUtils.crearUsuarioBD();
usersService.altaUsuario(datosNuevoUsuario);
Assertions.assertEquals(numeroElementosBD +1 , numeroActualUsuarios());
}

@Test
@Order(3)
public void obtenerUsuarioTest() {
UserDTO datosBD = CommonLibUtils.crearUsuarioBD();
UserDTO usuario = usersService.buscarUsuario("ruben");
CommonLibTestUtils.comprobarUserDTOs(datosBD, usuario);
}

@Test
@Order(4)
public void modificarUsuarioTest() throws Exception {
UserDTO datosNuevoUsuario = new UserDTO();
datosNuevoUsuario.setUsername("ruben");
datosNuevoUsuario.setPassword("perro20"); //modificamos la pass
datosNuevoUsuario.setFechaAlta(Date.valueOf("2024-08-02")); // y la
fecha
datosNuevoUsuario.setNombre("raul");
datosNuevoUsuario.setPrimerApellido("gimenez");
datosNuevoUsuario.setSegundoApellido("fernandez");
datosNuevoUsuario.setEmail("[email protected]");
datosNuevoUsuario.setTelefono("12321312321");

usersService.modificarUsuario(datosNuevoUsuario);
UserDTO obtenerUsuario = usersService.buscarUsuario("ruben");

CommonLibTestUtils.comprobarUserDTOs(datosNuevoUsuario,obtenerUsuario);
Assertions.assertEquals(numeroElementosBD +1 , numeroActualUsuarios());
}

@Test
@Order(5)
public void eliminarUsuarioTest() throws Exception{
usersService.eliminarUsuario("ruben");
Assertions.assertEquals(numeroElementosBD , numeroActualUsuarios());
}
@Test
@Order(6)
public void comprobarBDIgualTest() {
List<UserDTO> users = usersService.listAll();
Assertions.assertEquals(numeroElementosBD, users.size());
}

You might also like