Skip to content

Prueba de asociaciones shared en la lógica

José Bocanegra edited this page Feb 12, 2020 · 1 revision

Para probar las asociaciones, vamos a modificar la clase CityLogicTest para agregar el método addCitizen.

@Test
public void addCitizen() throws BusinessLogicException {
    CityEntity newCity = factory.manufacturePojo(CityEntity.class);
    cityLogic.createCity(newCity);

    CityEntity city = cityLogic.addCitizen(citizen.getId(), newCity.getId());
    Assert.assertNotNull(city);
}

En este método se crea una nueva ciudad (newCity). Luego se llama al método addCitizen de la lógica que recibe como parámetros los IDs del ciudadano y de la ciudad.

Tenga en cuenta que el objeto citizen se creó previamente en el método insertData(), el cual se ejecuta antes de iniciar los tests.

public void insertData() {
    citizen = factory.manufacturePojo(CitizenEntity.class);
    em.persist(citizen);

    PodamFactory factory = new PodamFactoryImpl();
    for (int i = 0; i < 3; i++) {
        CityEntity entity = factory.manufacturePojo(CityEntity.class);

        em.persist(entity);
        data.add(entity);
    }
}

Mejorar la prueba

Luego de agregar el ciudadano a la ciudad, se puede probar si los atributos del ciudadano (id, nombre y dirección) que quedó asociado con la ciudad son los mismos del ciudadano que se creó previamente. Para eso incluya las siguientes líneas en el método addCitizen:

CitizenEntity newCitizen = cityLogic.getCity(newCity.getId()).getMayor();
Assert.assertEquals(citizen.getId(), newCitizen.getId());
Assert.assertEquals(citizen.getName(), newCitizen.getName());
Assert.assertEquals(citizen.getAddress(), newCitizen.getAddress());
Clone this wiki locally