* [BAEL-3077] Add examples for mapstruct with multiple source objects * [BAEL-3077] Add unit tests for mappers added by examples
65 lines
2.3 KiB
Java
65 lines
2.3 KiB
Java
package com.baeldung.mapper;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertSame;
|
|
|
|
import org.junit.Test;
|
|
import org.mapstruct.factory.Mappers;
|
|
|
|
import com.baeldung.entity.Address;
|
|
import com.baeldung.entity.Customer;
|
|
import com.baeldung.entity.DeliveryAddress;
|
|
|
|
public class DeliveryAddressMapperUnitTest {
|
|
|
|
private DeliveryAddressMapper deliveryAddressMapper = Mappers.getMapper(DeliveryAddressMapper.class);
|
|
|
|
@Test
|
|
public void testGivenCustomerAndAddress_mapsToDeliveryAddress() {
|
|
|
|
// given
|
|
Customer customer = new Customer().setFirstName("Max")
|
|
.setLastName("Powers");
|
|
|
|
Address homeAddress = new Address().setStreet("123 Some Street")
|
|
.setCounty("Nevada")
|
|
.setPostalcode("89123");
|
|
|
|
// when
|
|
DeliveryAddress deliveryAddress = deliveryAddressMapper.from(customer, homeAddress);
|
|
|
|
// then
|
|
assertEquals(deliveryAddress.getForename(), customer.getFirstName());
|
|
assertEquals(deliveryAddress.getSurname(), customer.getLastName());
|
|
assertEquals(deliveryAddress.getStreet(), homeAddress.getStreet());
|
|
assertEquals(deliveryAddress.getCounty(), homeAddress.getCounty());
|
|
assertEquals(deliveryAddress.getPostalcode(), homeAddress.getPostalcode());
|
|
}
|
|
|
|
@Test
|
|
public void testGivenDeliveryAddressAndSomeOtherAddress_updatesDeliveryAddress() {
|
|
|
|
// given
|
|
Customer customer = new Customer().setFirstName("Max")
|
|
.setLastName("Powers");
|
|
|
|
DeliveryAddress deliveryAddress = new DeliveryAddress().setStreet("123 Some Street")
|
|
.setCounty("Nevada")
|
|
.setPostalcode("89123");
|
|
|
|
Address otherAddress = new Address().setStreet("456 Some other street")
|
|
.setCounty("Arizona")
|
|
.setPostalcode("12345");
|
|
|
|
// when
|
|
DeliveryAddress updatedDeliveryAddress = deliveryAddressMapper.updateAddress(deliveryAddress, otherAddress);
|
|
|
|
// then
|
|
assertSame(deliveryAddress, updatedDeliveryAddress);
|
|
|
|
assertEquals(deliveryAddress.getStreet(), otherAddress.getStreet());
|
|
assertEquals(deliveryAddress.getCounty(), otherAddress.getCounty());
|
|
assertEquals(deliveryAddress.getPostalcode(), otherAddress.getPostalcode());
|
|
}
|
|
}
|