Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.capgemini.mappers;
- import com.capgemini.entities.*;
- import com.capgemini.to.*;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.TestPropertySource;
- import org.springframework.test.context.junit4.SpringRunner;
- import org.springframework.transaction.annotation.Transactional;
- import javax.persistence.EntityManager;
- import javax.persistence.PersistenceContext;
- import static org.junit.Assert.*;
- @TestPropertySource(properties = {
- "spring.profiles.active=mysql",
- "spring.datasource.username=admin",
- "spring.datasource.password=password"})
- @RunWith(SpringRunner.class)
- @SpringBootTest
- @Transactional
- public class MasterMapperTest {
- @PersistenceContext
- private EntityManager entityManager;
- @Test
- public void shouldMapApartmentEntityToApartmentToWithAllRelatedMapped() {
- // given
- long apartmentId = 1L;
- ApartmentEntity apartmentEntity = entityManager.find(ApartmentEntity.class, apartmentId);
- // when
- ApartmentTo result = (ApartmentTo) MasterMapper.entity2To(apartmentEntity);
- // then
- // check if entities mapped correctly
- assertApartmentIntegrity(apartmentEntity, result);
- assertAddressIntegrity(apartmentEntity.getAddress(), result.getAddress());
- assertBuildingIntegrity(apartmentEntity.getBuilding(), result.getBuilding());
- // checking if instances are not doubled
- assertEquals(result, result.getBuilding().getApartments().get(0));
- assertEquals(result.getBuilding(), result.getBuilding().getApartments().get(0).getBuilding());
- assertEquals(result.getPurchasedBy().get(0),
- result.getBuilding().getApartments().get(0).getPurchasedBy().get(0));
- }
- // PRIVATE
- private void assertAbstractIntegrity(AbstractEntity entity, AbstractTo tObject) {
- assertEquals(entity.getId(), tObject.getId());
- assertEquals(entity.getCreatedOn(), tObject.getCreatedOn());
- assertEquals(entity.getModifiedOn(), tObject.getModifiedOn());
- assertEquals(entity.getVersion(), tObject.getVersion().longValue());
- }
- private void assertApartmentIntegrity(ApartmentEntity entity, ApartmentTo tObject) {
- assertAbstractIntegrity(entity, tObject);
- assertEquals(entity.getArea(), tObject.getArea());
- assertEquals(entity.getRoomsCount(), tObject.getRoomsCount());
- assertEquals(entity.getBalconiesCount(), tObject.getBalconiesCount());
- assertEquals(entity.getFloor(), tObject.getFloor());
- assertEquals(entity.getApartmentStatus(), tObject.getApartmentStatus());
- }
- private void assertAddressIntegrity(AddressEntity entity, AddressTo tObject) {
- assertAbstractIntegrity(entity, tObject);
- assertEquals(entity.getStreet(), tObject.getStreet());
- assertEquals(entity.getCity(), tObject.getCity());
- assertEquals(entity.getCountry(), tObject.getCountry());
- assertEquals(entity.getPostalCode(), tObject.getPostalCode());
- }
- private void assertBuildingIntegrity(BuildingEntity entity, BuildingTo tObject) {
- assertAbstractIntegrity(entity, tObject);
- assertEquals(entity.getApartmentsCount(), tObject.getApartmentsCount());
- assertEquals(entity.getFloorCount(), tObject.getFloorCount());
- assertEquals(entity.getHasLift(), tObject.getHasLift());
- }
- private void assertCustomerIntegrity(CustomerEntity entity, CustomerTo tObject) {
- assertAbstractIntegrity(entity, tObject);
- assertEquals(entity.getFirstName(), tObject.getFirstName());
- assertEquals(entity.getSurname(), tObject.getSurname());
- assertEquals(entity.getIdNumber(), tObject.getIdNumber());
- assertEquals(entity.getEmailAddress(), tObject.getEmailAddress());
- assertEquals(entity.getPhoneNumber(), tObject.getPhoneNumber());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement