1+ package br .com .helpdev .output .repository .mapper ;
2+
3+ import static org .assertj .core .api .Assertions .assertThat ;
4+
5+ import br .com .helpdev .domain .CommunicationChannel ;
6+ import br .com .helpdev .domain .Message ;
7+ import br .com .helpdev .domain .Recipient ;
8+ import br .com .helpdev .domain .vo .MessageBody ;
9+ import br .com .helpdev .domain .vo .MessageId ;
10+ import br .com .helpdev .domain .vo .Phone ;
11+ import br .com .helpdev .output .repository .entity .CommunicationChannelEntity ;
12+ import br .com .helpdev .output .repository .entity .MessageEntity ;
13+ import br .com .helpdev .output .repository .entity .RecipientEntity ;
14+ import org .junit .jupiter .api .Test ;
15+
16+ class MessageMapperTest {
17+
18+ private final MessageMapper messageMapper = new MessageMapper ();
19+
20+ @ Test
21+ void whenDomainHasIdThenMap () {
22+ var message = messageMapper .toDomain (entityBuilder ().id (1L ).build ());
23+ assertThat (message .getId ()).get ().isEqualTo (MessageId .from (1L ));
24+ }
25+
26+ @ Test
27+ void whenEntityHasIdThenMap () {
28+ var message = messageMapper .toEntity (domainBuilder ().id (MessageId .from (1L )).build ());
29+ assertThat (message .getId ()).isEqualTo (1L );
30+ }
31+
32+ private MessageEntity .MessageEntityBuilder entityBuilder () {
33+ return MessageEntity .builder ()
34+ .channel (CommunicationChannelEntity .EMAIL )
35+ .recipient (RecipientEntity .builder ()
36+ .phoneNumber ("78924" )
37+ .build ())
38+ .body ("Test" );
39+ }
40+
41+ private Message .MessageBuilder domainBuilder () {
42+ return Message .builder ()
43+ .channel (CommunicationChannel .WHATSAPP )
44+ .recipient (Recipient .builder ()
45+ .phone (Phone .from ("78924" , "1243243" ))
46+ .build ())
47+ .body (MessageBody .from ("Hello!" ));
48+ }
49+
50+ }
0 commit comments