Skip to content

Commit de8885d

Browse files
committed
Removed mockito.
1 parent abee336 commit de8885d

File tree

1 file changed

+52
-139
lines changed

1 file changed

+52
-139
lines changed

server/src/test/java/com/objectcomputing/checkins/services/member_skill/skillsreport/SkillsReportServicesImplTest.java

Lines changed: 52 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import com.objectcomputing.checkins.exceptions.BadArgException;
44
import com.objectcomputing.checkins.services.TestContainersSuite;
5+
import com.objectcomputing.checkins.services.fixture.SkillFixture;
6+
import com.objectcomputing.checkins.services.fixture.MemberProfileFixture;
7+
import com.objectcomputing.checkins.services.fixture.MemberSkillFixture;
8+
import com.objectcomputing.checkins.services.skills.Skill;
9+
import com.objectcomputing.checkins.services.member_skill.skillsreport.SkillLevel;
510
import com.objectcomputing.checkins.services.member_skill.MemberSkill;
611
import com.objectcomputing.checkins.services.member_skill.MemberSkillRepository;
712
import com.objectcomputing.checkins.services.memberprofile.MemberProfile;
@@ -13,9 +18,7 @@
1318
import org.junit.jupiter.api.BeforeEach;
1419
import org.junit.jupiter.api.Test;
1520
import org.junit.jupiter.api.condition.DisabledInNativeImage;
16-
import org.mockito.InjectMocks;
17-
import org.mockito.Mock;
18-
import org.mockito.MockitoAnnotations;
21+
import jakarta.inject.Inject;
1922

2023
import java.time.LocalDate;
2124
import java.util.ArrayList;
@@ -29,50 +32,12 @@
2932
import static org.junit.jupiter.api.Assertions.assertNull;
3033
import static org.junit.jupiter.api.Assertions.assertThrows;
3134
import static org.junit.jupiter.api.Assertions.assertTrue;
32-
import static org.mockito.Mockito.any;
33-
import static org.mockito.Mockito.never;
34-
import static org.mockito.Mockito.reset;
35-
import static org.mockito.Mockito.times;
36-
import static org.mockito.Mockito.verify;
37-
import static org.mockito.Mockito.when;
3835

39-
// Disabled in nativeTest, as we get an exception from Mockito
40-
// => java.lang.NoClassDefFoundError: Could not initialize class org.mockito.internal.configuration.plugins.Plugins
41-
@DisabledInNativeImage
42-
class SkillsReportServicesImplTest extends TestContainersSuite {
43-
44-
@Mock
45-
private MemberSkillRepository memberSkillRepository;
46-
47-
@Mock
48-
private MemberProfileRepository memberProfileRepository;
49-
50-
@Mock
51-
private MemberProfileServices memberProfileServices;
52-
53-
@Mock
54-
private SkillRepository skillRepository;
55-
56-
@InjectMocks
36+
class SkillsReportServicesImplTest extends TestContainersSuite
37+
implements MemberProfileFixture, MemberSkillFixture, SkillFixture {
38+
@Inject
5739
private SkillsReportServicesImpl skillsReportServices;
5840

59-
private AutoCloseable mockFinalizer;
60-
61-
@BeforeAll
62-
void initMocks() {
63-
mockFinalizer = MockitoAnnotations.openMocks(this);
64-
}
65-
66-
@BeforeEach
67-
void resetMocks() {
68-
reset(memberSkillRepository, memberProfileRepository, skillRepository);
69-
}
70-
71-
@AfterAll
72-
void finalizeMocks() throws Exception {
73-
mockFinalizer.close();
74-
}
75-
7641
@Test
7742
void testReportSkillNotExist() {
7843
final SkillLevelDTO dto = new SkillLevelDTO();
@@ -89,13 +54,10 @@ void testReportSkillNotExist() {
8954

9055
@Test
9156
void testReportMemberProfileNotExist() {
92-
final SkillLevelDTO dto = new SkillLevelDTO();
93-
final UUID skillId = UUID.randomUUID();
94-
dto.setId(skillId);
95-
when(skillRepository.existsById(skillId)).thenReturn(true);
57+
final Skill skill = createADefaultSkill();
9658

9759
final List<SkillLevelDTO> skills = new ArrayList<>();
98-
skills.add(dto);
60+
skills.add(new SkillLevelDTO(skill.getId(), SkillLevel.NOVICE));
9961

10062
final SkillsReportRequestDTO request = new SkillsReportRequestDTO();
10163
request.setSkills(skills);
@@ -111,72 +73,39 @@ void testReportEmptyRequestedSkillsList() {
11173
request.setSkills(new ArrayList<>());
11274
final SkillsReportResponseDTO response = skillsReportServices.report(request);
11375
assertNotNull(response);
114-
115-
verify(memberSkillRepository, never()).findBySkillid(any(UUID.class));
116-
verify(memberProfileServices, never()).getById(any(UUID.class));
76+
assertEquals(0, response.getTeamMembers().size());
11777
}
11878

11979
@Test
12080
void testReport() {
121-
final UUID skillId1 = UUID.randomUUID();
122-
final UUID skillId2 = UUID.randomUUID();
123-
final UUID skillId3 = UUID.randomUUID();
124-
final UUID skillId4 = UUID.randomUUID();
125-
final UUID memberId1 = UUID.randomUUID();
126-
final UUID memberId2 = UUID.randomUUID();
127-
final UUID memberId3 = UUID.randomUUID();
128-
final UUID memberId4 = UUID.randomUUID();
129-
130-
final MemberSkill ms1 = new MemberSkill(memberId1, skillId1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
131-
final MemberSkill ms2 = new MemberSkill(memberId1, skillId2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
132-
final MemberSkill ms3 = new MemberSkill(memberId2, skillId3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
133-
final MemberSkill ms4 = new MemberSkill(memberId2, skillId4, SkillLevel.EXPERT_LEVEL, LocalDate.now());
134-
final MemberSkill ms5 = new MemberSkill(memberId3, skillId2, SkillLevel.INTERESTED_LEVEL, LocalDate.now());
135-
final MemberSkill ms6 = new MemberSkill(memberId3, skillId3, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
136-
final MemberSkill ms7 = new MemberSkill(memberId4, skillId1, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
137-
final MemberSkill ms8 = new MemberSkill(memberId4, skillId2, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
138-
final MemberSkill ms9 = new MemberSkill(memberId4, skillId4, SkillLevel.EXPERT_LEVEL, LocalDate.now());
139-
140-
final List<MemberSkill> skillList1 = new ArrayList<>();
141-
skillList1.add(ms1);
142-
skillList1.add(ms7);
143-
final List<MemberSkill> skillList2 = new ArrayList<>();
144-
skillList2.add(ms2);
145-
skillList2.add(ms5);
146-
skillList2.add(ms8);
147-
final List<MemberSkill> skillList3 = new ArrayList<>();
148-
skillList3.add(ms3);
149-
skillList3.add(ms6);
150-
final List<MemberSkill> skillList4 = new ArrayList<>();
151-
skillList4.add(ms4);
152-
skillList4.add(ms9);
153-
154-
when(memberSkillRepository.findBySkillid(skillId1)).thenReturn(skillList1);
155-
when(memberSkillRepository.findBySkillid(skillId2)).thenReturn(skillList2);
156-
when(memberSkillRepository.findBySkillid(skillId3)).thenReturn(skillList3);
157-
when(memberSkillRepository.findBySkillid(skillId4)).thenReturn(skillList4);
158-
MemberProfile joey = new MemberProfile("Joey", null, "Tribbiani", null,
159-
null, null, null, null, null, null, null,
160-
null, null, null, null, null, null);
161-
MemberProfile chandler = new MemberProfile("Chandler", null, "Bing", null,
162-
null, null, null, null, null, null, null,
163-
null, null,null, null, null, null);
164-
MemberProfile ross = new MemberProfile("Ross", null, "Geller", null,
165-
null, null, null, null, null, null, null,
166-
null, null,null, null, null, null);
167-
when(memberProfileServices.getById(memberId1)).thenReturn(joey);
168-
when(memberProfileServices.getById(memberId2)).thenReturn(chandler);
169-
when(memberProfileServices.getById(memberId3)).thenReturn(null);
170-
when(memberProfileServices.getById(memberId4)).thenReturn(ross);
171-
172-
when(skillRepository.existsById(skillId1)).thenReturn(true);
173-
when(skillRepository.existsById(skillId2)).thenReturn(true);
174-
when(skillRepository.existsById(skillId3)).thenReturn(true);
175-
when(skillRepository.existsById(skillId4)).thenReturn(true);
176-
when(memberProfileRepository.existsById(memberId1)).thenReturn(true);
177-
when(memberProfileRepository.existsById(memberId2)).thenReturn(true);
178-
when(memberProfileRepository.existsById(memberId3)).thenReturn(true);
179-
when(memberProfileRepository.existsById(memberId4)).thenReturn(true);
81+
Skill skill1 = createSkill("Skill1", false, "First", false);
82+
Skill skill2 = createSkill("Skill2", false, "Second", false);
83+
Skill skill3 = createSkill("Skill3", false, "Third", false);
84+
Skill skill4 = createSkill("Skill4", false, "Fourth", false);
85+
86+
MemberProfile member1 = createADefaultMemberProfile();
87+
MemberProfile member2 = createASecondDefaultMemberProfile();
88+
MemberProfile member3 = createAThirdDefaultMemberProfile();
89+
MemberProfile member4 = createADefaultMemberProfileForPdl(member1);
90+
91+
final UUID skillId1 = skill1.getId();
92+
final UUID skillId2 = skill2.getId();
93+
final UUID skillId3 = skill3.getId();
94+
final UUID skillId4 = skill4.getId();
95+
final UUID memberId1 = member1.getId();
96+
final UUID memberId2 = member2.getId();
97+
final UUID memberId3 = member3.getId();
98+
final UUID memberId4 = member4.getId();
99+
100+
final MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
101+
final MemberSkill ms2 = createMemberSkill(member1, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
102+
final MemberSkill ms3 = createMemberSkill(member2, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
103+
final MemberSkill ms4 = createMemberSkill(member2, skill4, SkillLevel.EXPERT_LEVEL, LocalDate.now());
104+
final MemberSkill ms5 = createMemberSkill(member3, skill2, SkillLevel.INTERESTED_LEVEL, LocalDate.now());
105+
final MemberSkill ms6 = createMemberSkill(member3, skill3, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
106+
final MemberSkill ms7 = createMemberSkill(member4, skill1, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
107+
final MemberSkill ms8 = createMemberSkill(member4, skill2, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
108+
final MemberSkill ms9 = createMemberSkill(member4, skill4, SkillLevel.EXPERT_LEVEL, LocalDate.now());
180109

181110
// List of skills required in first request
182111
final SkillLevelDTO dto1 = new SkillLevelDTO();
@@ -203,17 +132,13 @@ void testReport() {
203132
assertTrue(elem.getId().equals(memberId1) ||
204133
elem.getId().equals(memberId3) || elem.getId().equals(memberId4));
205134
if (elem.getId().equals(memberId1)) {
206-
assertReturnedMember1(elem, skillId1, skillId2);
135+
assertReturnedMember1(elem, skillId1, skillId2, member1.getFirstName() + " " + member1.getLastName());
207136
} else if (elem.getId().equals(memberId3)) {
208-
assertReturnedMember3(elem, skillId2, skillId3);
137+
assertReturnedMember3(elem, skillId2, skillId3, member3.getFirstName() + " " + member3.getLastName());
209138
} else {
210-
assertReturnedMember4(elem, skillId1, skillId2);
139+
assertReturnedMember4(elem, skillId1, skillId2, member4.getFirstName() + " " + member4.getLastName());
211140
}
212141
}
213-
verify(memberSkillRepository, times(3)).findBySkillid(any(UUID.class));
214-
verify(memberProfileServices, times(3)).getById(any(UUID.class));
215-
verify(skillRepository, times(3)).existsById(any(UUID.class));
216-
verify(memberProfileRepository, never()).existsById(any(UUID.class));
217142

218143
// Specify a list of members
219144
final Set<UUID> members = new HashSet<>();
@@ -227,24 +152,16 @@ void testReport() {
227152
for (TeamMemberSkillDTO elem : response2.getTeamMembers()) {
228153
assertTrue(elem.getId().equals(memberId3) || elem.getId().equals(memberId4));
229154
if (elem.getId().equals(memberId3)) {
230-
assertReturnedMember3(elem, skillId2, skillId3);
155+
assertReturnedMember3(elem, skillId2, skillId3, member3.getFirstName() + " " + member3.getLastName());
231156
} else {
232-
assertReturnedMember4(elem, skillId1, skillId2);
157+
assertReturnedMember4(elem, skillId1, skillId2, member4.getFirstName() + " " + member4.getLastName());
233158
}
234159
}
235-
verify(memberSkillRepository, times(6)).findBySkillid(any(UUID.class));
236-
verify(memberProfileServices, times(6)).getById(any(UUID.class));
237-
verify(skillRepository, times(6)).existsById(any(UUID.class));
238-
verify(memberProfileRepository, times(3)).existsById(any(UUID.class));
239160

240161
// Each returned member must satisfy all requested skills
241162
request1.setInclusive(true);
242163
final SkillsReportResponseDTO response3 = skillsReportServices.report(request1);
243164
assertTrue(response3.getTeamMembers().isEmpty());
244-
verify(memberSkillRepository, times(9)).findBySkillid(any(UUID.class));
245-
verify(memberProfileServices, times(9)).getById(any(UUID.class));
246-
verify(skillRepository, times(9)).existsById(any(UUID.class));
247-
verify(memberProfileRepository, times(6)).existsById(any(UUID.class));
248165

249166
// Another request
250167
final SkillLevelDTO dto4 = new SkillLevelDTO();
@@ -265,7 +182,7 @@ void testReport() {
265182

266183
assertEquals(1, response4.getTeamMembers().size());
267184
assertEquals(memberId4, response4.getTeamMembers().get(0).getId());
268-
assertEquals("Ross Geller", response4.getTeamMembers().get(0).getName());
185+
assertEquals(member4.getFirstName() + " " + member4.getLastName(), response4.getTeamMembers().get(0).getName());
269186
assertEquals(2, response4.getTeamMembers().get(0).getSkills().size());
270187
for (SkillLevelDTO skill : response4.getTeamMembers().get(0).getSkills()) {
271188
assertTrue(skill.getId().equals(skillId2) || skill.getId().equals(skillId4));
@@ -275,14 +192,10 @@ void testReport() {
275192
assertEquals(SkillLevel.convertFromString(SkillLevel.EXPERT_LEVEL), skill.getLevel());
276193
}
277194
}
278-
verify(memberSkillRepository, times(11)).findBySkillid(any(UUID.class));
279-
verify(memberProfileServices, times(12)).getById(any(UUID.class));
280-
verify(skillRepository, times(11)).existsById(any(UUID.class));
281-
verify(memberProfileRepository, times(6)).existsById(any(UUID.class));
282195
}
283196

284-
private void assertReturnedMember1(TeamMemberSkillDTO elem, UUID skillId1, UUID skillId2) {
285-
assertEquals("Joey Tribbiani", elem.getName());
197+
private void assertReturnedMember1(TeamMemberSkillDTO elem, UUID skillId1, UUID skillId2, String fullName) {
198+
assertEquals(fullName, elem.getName());
286199
assertEquals(2, elem.getSkills().size());
287200
for (SkillLevelDTO skill : elem.getSkills()) {
288201
assertTrue(skill.getId().equals(skillId1) || skill.getId().equals(skillId2));
@@ -294,8 +207,8 @@ private void assertReturnedMember1(TeamMemberSkillDTO elem, UUID skillId1, UUID
294207
}
295208
}
296209

297-
private void assertReturnedMember3(TeamMemberSkillDTO elem, UUID skillId2, UUID skillId3) {
298-
assertNull(elem.getName());
210+
private void assertReturnedMember3(TeamMemberSkillDTO elem, UUID skillId2, UUID skillId3, String fullName) {
211+
assertEquals(fullName, elem.getName());
299212
assertEquals(2, elem.getSkills().size());
300213
for (SkillLevelDTO skill : elem.getSkills()) {
301214
assertTrue(skill.getId().equals(skillId2) || skill.getId().equals(skillId3));
@@ -307,8 +220,8 @@ private void assertReturnedMember3(TeamMemberSkillDTO elem, UUID skillId2, UUID
307220
}
308221
}
309222

310-
private void assertReturnedMember4(TeamMemberSkillDTO elem, UUID skillId1, UUID skillId2) {
311-
assertEquals("Ross Geller", elem.getName());
223+
private void assertReturnedMember4(TeamMemberSkillDTO elem, UUID skillId1, UUID skillId2, String fullName) {
224+
assertEquals(fullName, elem.getName());
312225
assertEquals(2, elem.getSkills().size());
313226
for (SkillLevelDTO skill : elem.getSkills()) {
314227
assertTrue(skill.getId().equals(skillId1) || skill.getId().equals(skillId2));

0 commit comments

Comments
 (0)