1+ package com .cf .cfteam .utils .codeforces .mappers ;
2+
3+ import com .cf .cfteam .models .entities .codeforces .Player ;
4+ import com .cf .cfteam .transfer .payloads .codeforces .PlayerPayload ;
5+ import com .cf .cfteam .transfer .responses .codeforces .PlayerResponse ;
6+ import com .github .benmanes .caffeine .cache .LoadingCache ;
7+ import org .junit .jupiter .api .Test ;
8+ import org .junit .jupiter .api .extension .ExtendWith ;
9+ import org .mockito .InjectMocks ;
10+ import org .mockito .Mock ;
11+ import org .mockito .junit .jupiter .MockitoExtension ;
12+ import org .springframework .test .context .ActiveProfiles ;
13+
14+ import static org .assertj .core .api .Assertions .assertThat ;
15+ import static org .junit .jupiter .api .Assertions .*;
16+ import static org .mockito .Mockito .when ;
17+
18+ @ ActiveProfiles ("test" )
19+ @ ExtendWith (MockitoExtension .class )
20+ class PlayerMapperTest {
21+
22+ @ InjectMocks
23+ private PlayerMapper playerMapper ;
24+
25+ @ Mock
26+ private LoadingCache <String , Double > ratingCache ;
27+
28+ @ Test
29+ void shouldMapFromEntityToResponse () {
30+ Player player = Player .builder ()
31+ .login ("login" )
32+ .id (1L )
33+ .build ();
34+
35+ when (ratingCache .get (player .getLogin ())).thenReturn (0. );
36+
37+ PlayerResponse response = playerMapper .fromEntityToResponse (player );
38+
39+ assertAll (
40+ () -> assertThat (response ).isNotNull (),
41+ () -> assertThat (response .id ()).isEqualTo (player .getId ()),
42+ () -> assertThat (response .rating ()).isEqualTo (0. ),
43+ () -> assertThat (response .login ()).isEqualTo (player .getLogin ())
44+ );
45+ }
46+
47+ @ Test
48+ void shouldMapFromPayloadToEntity () {
49+ PlayerPayload payload = PlayerPayload .builder ()
50+ .login ("player login" )
51+ .build ();
52+
53+ Player player = playerMapper .fromPayloadToEntity (payload );
54+
55+ assertAll (
56+ () -> assertThat (player ).isNotNull (),
57+ () -> assertThat (player .getLogin ()).isEqualTo (payload .login ())
58+ );
59+ }
60+ }
0 commit comments