11package com .objectcomputing .checkins .services .memberprofile .currentuser ;
22
33import com .objectcomputing .checkins .services .TestContainersSuite ;
4+ import com .objectcomputing .checkins .services .fixture .RoleFixture ;
5+ import com .objectcomputing .checkins .services .fixture .MemberProfileFixture ;
46import com .objectcomputing .checkins .services .memberprofile .MemberProfile ;
57import com .objectcomputing .checkins .services .memberprofile .MemberProfileRepository ;
68import com .objectcomputing .checkins .services .role .Role ;
79import com .objectcomputing .checkins .services .role .RoleServices ;
810import com .objectcomputing .checkins .services .role .RoleType ;
911import com .objectcomputing .checkins .services .role .member_roles .MemberRoleServices ;
10- import org .junit .jupiter .api .AfterAll ;
11- import org .junit .jupiter .api .BeforeAll ;
12+ import org .junit .jupiter .api .BeforeEach ;
1213import org .junit .jupiter .api .Test ;
13- import org .junit .jupiter .api .condition .DisabledInNativeImage ;
14- import org .mockito .InjectMocks ;
15- import org .mockito .Mock ;
16- import org .mockito .MockitoAnnotations ;
14+
15+ import jakarta .inject .Inject ;
1716
1817import java .util .UUID ;
1918
20- import static com .objectcomputing .checkins .services .memberprofile .MemberProfileTestUtil .mkMemberProfile ;
2119import static org .junit .jupiter .api .Assertions .assertEquals ;
22- import static org .mockito .Mockito .any ;
23- import static org .mockito .Mockito .times ;
24- import static org .mockito .Mockito .verify ;
25- import static org .mockito .Mockito .when ;
26-
27- // Disabled in nativeTest, as we get an exception from Mockito
28- // => java.lang.NoClassDefFoundError: Could not initialize class org.mockito.internal.configuration.plugins.Plugins
29- @ DisabledInNativeImage
30- class CurrentUserServicesImplTest extends TestContainersSuite {
31-
32- @ Mock
33- MemberProfileRepository memberProfileRepo ;
3420
35- @ Mock
36- RoleServices roleServices ;
21+ class CurrentUserServicesImplTest extends TestContainersSuite
22+ implements MemberProfileFixture , RoleFixture {
3723
38- @ Mock
39- MemberRoleServices memberRoleServices ;
40-
41- @ InjectMocks
24+ @ Inject
4225 CurrentUserServicesImpl testObject ;
4326
44- private AutoCloseable mockFinalizer ;
45-
46- @ BeforeAll
47- public void before () {
48- mockFinalizer = MockitoAnnotations .openMocks (this );
49- }
50-
51- @ AfterAll
52- public void after () throws Exception {
53- mockFinalizer .close ();
27+ @ BeforeEach
28+ void createRolesAndPermissions () {
29+ createAndAssignRoles ();
5430 }
5531
5632 @ Test
5733 void testFindOrSaveUserForNewUser () {
58- MemberProfile expected = mkMemberProfile ();
59- expected .setWorkEmail ("test.email" );
60-
61- when (memberProfileRepo .findByWorkEmail (expected .getWorkEmail ())).thenReturn (java .util .Optional .of (expected ));
34+ MemberProfile expected = createADefaultMemberProfile ();
6235
6336 MemberProfile actual = testObject .findOrSaveUser (expected .getFirstName (), expected .getLastName (), expected .getWorkEmail ());
6437
@@ -67,18 +40,11 @@ void testFindOrSaveUserForNewUser() {
6740
6841 @ Test
6942 void testFindOrSaveUserForExistingUser () {
70- MemberProfile expected = mkMemberProfile ();
71- expected .setId (UUID .randomUUID ());
72- expected .setWorkEmail ("test.email" );
73- Role mockRole = new Role (RoleType .MEMBER .name (), "role description" );
74-
75- when (memberProfileRepo .findByWorkEmail (expected .getWorkEmail ())).thenReturn (java .util .Optional .empty ());
76- when (memberProfileRepo .save (any ())).thenReturn (expected );
77- when (roleServices .save (mockRole )).thenReturn (mockRole );
43+ MemberProfile expected = createADefaultMemberProfile ();
44+ assignMemberRole (expected );
7845
7946 MemberProfile actual = testObject .findOrSaveUser (expected .getFirstName (), expected .getLastName (), expected .getWorkEmail ());
8047
8148 assertEquals (expected , actual );
82- verify (roleServices , times (1 )).save (any (Role .class ));
8349 }
8450}
0 commit comments