Skip to content

Commit 8c5d522

Browse files
committed
Removed mockito.
1 parent de8885d commit 8c5d522

File tree

1 file changed

+78
-177
lines changed

1 file changed

+78
-177
lines changed

server/src/test/java/com/objectcomputing/checkins/services/member_skill/MemberSkillServiceImplTest.java

Lines changed: 78 additions & 177 deletions
Original file line numberDiff line numberDiff line change
@@ -3,102 +3,54 @@
33
import com.objectcomputing.checkins.exceptions.AlreadyExistsException;
44
import com.objectcomputing.checkins.exceptions.BadArgException;
55
import com.objectcomputing.checkins.services.TestContainersSuite;
6+
import com.objectcomputing.checkins.services.fixture.SkillFixture;
7+
import com.objectcomputing.checkins.services.fixture.MemberProfileFixture;
8+
import com.objectcomputing.checkins.services.fixture.MemberSkillFixture;
69
import com.objectcomputing.checkins.services.memberprofile.MemberProfile;
710
import com.objectcomputing.checkins.services.memberprofile.MemberProfileRepository;
811
import com.objectcomputing.checkins.services.skills.Skill;
12+
import com.objectcomputing.checkins.services.member_skill.skillsreport.SkillLevel;
913
import com.objectcomputing.checkins.services.skills.SkillRepository;
10-
import org.junit.jupiter.api.AfterAll;
11-
import org.junit.jupiter.api.BeforeAll;
12-
import org.junit.jupiter.api.BeforeEach;
1314
import org.junit.jupiter.api.Test;
14-
import org.junit.jupiter.api.condition.DisabledInNativeImage;
15-
import org.mockito.InjectMocks;
16-
import org.mockito.Mock;
17-
import org.mockito.MockitoAnnotations;
15+
import jakarta.inject.Inject;
16+
import jakarta.validation.ConstraintViolationException;
1817

1918
import java.util.HashSet;
2019
import java.util.List;
2120
import java.util.Optional;
2221
import java.util.Set;
2322
import java.util.UUID;
23+
import java.time.LocalDate;
2424

2525
import static org.junit.jupiter.api.Assertions.assertEquals;
26+
import static org.junit.jupiter.api.Assertions.assertFalse;
2627
import static org.junit.jupiter.api.Assertions.assertNull;
2728
import static org.junit.jupiter.api.Assertions.assertThrows;
28-
import static org.mockito.ArgumentMatchers.any;
29-
import static org.mockito.Mockito.doAnswer;
30-
import static org.mockito.Mockito.never;
31-
import static org.mockito.Mockito.reset;
32-
import static org.mockito.Mockito.times;
33-
import static org.mockito.Mockito.verify;
34-
import static org.mockito.Mockito.when;
3529

36-
// Disabled in nativeTest, as we get an exception from Mockito
37-
// => java.lang.NoClassDefFoundError: Could not initialize class org.mockito.internal.configuration.plugins.Plugins
38-
@DisabledInNativeImage
39-
class MemberSkillServiceImplTest extends TestContainersSuite {
40-
41-
@Mock
42-
private MemberSkillRepository memberSkillRepository;
43-
44-
@Mock
45-
private MemberProfileRepository memberProfileRepository;
46-
47-
@Mock
48-
private SkillRepository skillRepository;
49-
50-
@InjectMocks
30+
class MemberSkillServiceImplTest extends TestContainersSuite
31+
implements MemberProfileFixture, MemberSkillFixture, SkillFixture {
32+
@Inject
5133
private MemberSkillServiceImpl memberSkillsServices;
5234

53-
private AutoCloseable mockFinalizer;
54-
55-
@BeforeAll
56-
void initMocks() {
57-
mockFinalizer = MockitoAnnotations.openMocks(this);
58-
}
59-
60-
@BeforeEach
61-
void resetMocks() {
62-
reset(memberSkillRepository, skillRepository, memberProfileRepository);
63-
}
64-
65-
@AfterAll
66-
void closeMocks() throws Exception {
67-
mockFinalizer.close();
68-
}
69-
7035
@Test
7136
void testRead() {
72-
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID());
73-
74-
when(memberSkillRepository.findById(memberSkill.getId())).thenReturn(Optional.of(memberSkill));
75-
37+
Skill skill = createSkill("Skill1", false, "First", false);
38+
MemberProfile member = createADefaultMemberProfile();
39+
MemberSkill memberSkill = createMemberSkill(member, skill, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
7640
assertEquals(memberSkill, memberSkillsServices.read(memberSkill.getId()));
77-
78-
verify(memberSkillRepository, times(1)).findById(any(UUID.class));
7941
}
8042

8143
@Test
8244
void testReadNullId() {
83-
assertNull(memberSkillsServices.read(null));
84-
85-
verify(memberSkillRepository, never()).findById(any(UUID.class));
45+
assertThrows(ConstraintViolationException.class, () -> memberSkillsServices.read(null));
8646
}
8747

8848
@Test
8949
void testSave() {
90-
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), UUID.randomUUID());
91-
Skill skill = new Skill();
92-
93-
when(skillRepository.findById(memberSkill.getSkillid())).thenReturn(Optional.of(skill));
94-
when(memberProfileRepository.findById(memberSkill.getMemberid())).thenReturn(Optional.of(new MemberProfile()));
95-
when(memberSkillRepository.save(memberSkill)).thenReturn(memberSkill);
96-
50+
Skill skill = createSkill("Skill1", false, "First", false);
51+
MemberProfile member = createADefaultMemberProfile();
52+
MemberSkill memberSkill = new MemberSkill(member.getId(), skill.getId());
9753
assertEquals(memberSkill, memberSkillsServices.save(memberSkill));
98-
99-
verify(skillRepository, times(1)).findById(any(UUID.class));
100-
verify(memberProfileRepository, times(1)).findById(any(UUID.class));
101-
verify(memberSkillRepository, times(1)).save(any(MemberSkill.class));
10254
}
10355

10456
@Test
@@ -107,10 +59,6 @@ void testSaveWithId() {
10759

10860
BadArgException exception = assertThrows(BadArgException.class, () -> memberSkillsServices.save(memberSkill));
10961
assertEquals(String.format("Found unexpected id %s for member skill", memberSkill.getId()), exception.getMessage());
110-
111-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
112-
verify(skillRepository, never()).findById(any(UUID.class));
113-
verify(memberProfileRepository, never()).findById(any(UUID.class));
11462
}
11563

11664
@Test
@@ -119,10 +67,6 @@ void testSaveActionItemNullMemberId() {
11967

12068
BadArgException exception = assertThrows(BadArgException.class, () -> memberSkillsServices.save(memberSkill));
12169
assertEquals(String.format("Invalid member skill %s", memberSkill), exception.getMessage());
122-
123-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
124-
verify(skillRepository, never()).findById(any(UUID.class));
125-
verify(memberProfileRepository, never()).findById(any(UUID.class));
12670
}
12771

12872
@Test
@@ -131,178 +75,135 @@ void testSaveActionItemNullSkillId() {
13175

13276
BadArgException exception = assertThrows(BadArgException.class, () -> memberSkillsServices.save(memberSkill));
13377
assertEquals(String.format("Invalid member skill %s", memberSkill), exception.getMessage());
134-
135-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
136-
verify(skillRepository, never()).findById(any(UUID.class));
137-
verify(memberProfileRepository, never()).findById(any(UUID.class));
13878
}
13979

14080
@Test
14181
void testSaveNullMemberSkill() {
14282
assertNull(memberSkillsServices.save(null));
143-
144-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
145-
verify(skillRepository, never()).findById(any(UUID.class));
146-
verify(memberProfileRepository, never()).findById(any(UUID.class));
14783
}
14884

14985
@Test
15086
void testSaveMemberSkillAlreadyExistingSkill() {
151-
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), UUID.randomUUID());
152-
153-
when(skillRepository.findById(memberSkill.getSkillid())).thenReturn(Optional.of(new Skill()));
154-
when(memberProfileRepository.findById(memberSkill.getMemberid())).thenReturn(Optional.of(new MemberProfile()));
155-
when(memberSkillRepository.findByMemberidAndSkillid(memberSkill.getMemberid(), memberSkill.getSkillid()))
156-
.thenReturn(Optional.of(memberSkill));
157-
87+
Skill skill = createSkill("Skill1", false, "First", false);
88+
MemberProfile member = createADefaultMemberProfile();
89+
MemberSkill savedSkill = createMemberSkill(member, skill, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
90+
MemberSkill memberSkill = new MemberSkill(member.getId(), skill.getId(), SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
15891
AlreadyExistsException exception = assertThrows(AlreadyExistsException.class, () -> memberSkillsServices.save(memberSkill));
15992
assertEquals(String.format("Member %s already has this skill %s",
16093
memberSkill.getMemberid(), memberSkill.getSkillid()), exception.getMessage());
161-
162-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
163-
verify(skillRepository, times(1)).findById(any(UUID.class));
164-
verify(memberProfileRepository, times(1)).findById(any(UUID.class));
165-
verify(memberSkillRepository, times(1)).findByMemberidAndSkillid(any(UUID.class), any(UUID.class));
16694
}
16795

16896
@Test
16997
void testSaveMemberSkillNonExistingSkill() {
170-
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), UUID.randomUUID());
171-
172-
when(skillRepository.findById(memberSkill.getSkillid())).thenReturn(Optional.empty());
173-
when(memberProfileRepository.findById(memberSkill.getMemberid())).thenReturn(Optional.of(new MemberProfile()));
98+
MemberProfile member = createADefaultMemberProfile();
99+
MemberSkill memberSkill = new MemberSkill(member.getId(), UUID.randomUUID());
174100

175101
BadArgException exception = assertThrows(BadArgException.class, () -> memberSkillsServices.save(memberSkill));
176102
assertEquals(String.format("Skill %s doesn't exist", memberSkill.getSkillid()), exception.getMessage());
177-
178-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
179-
verify(skillRepository, times(1)).findById(any(UUID.class));
180-
verify(memberProfileRepository, times(1)).findById(any(UUID.class));
181103
}
182104

183105
@Test
184106
void testSaveMemberSkillNonExistingMember() {
185-
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), UUID.randomUUID());
186-
187-
when(skillRepository.findById(memberSkill.getSkillid())).thenReturn(Optional.of(new Skill()));
188-
when(memberProfileRepository.findById(memberSkill.getMemberid())).thenReturn(Optional.empty());
107+
Skill skill = createSkill("Skill1", false, "First", false);
108+
MemberSkill memberSkill = new MemberSkill(UUID.randomUUID(), skill.getId());
189109

190110
BadArgException exception = assertThrows(BadArgException.class, () -> memberSkillsServices.save(memberSkill));
191111
assertEquals(String.format("Member Profile %s doesn't exist", memberSkill.getMemberid()), exception.getMessage());
192-
193-
verify(memberSkillRepository, never()).save(any(MemberSkill.class));
194-
verify(skillRepository, never()).findById(any(UUID.class));
195-
verify(memberProfileRepository, times(1)).findById(any(UUID.class));
196112
}
197113

198114
@Test
199115
void testFindByFieldsNullParams() {
200-
Set<MemberSkill> memberSkillSet = Set.of(
201-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
202-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
203-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID())
204-
);
205-
206-
when(memberSkillRepository.findAll()).thenReturn(memberSkillSet.stream().toList());
207-
116+
Skill skill1 = createSkill("Skill1", false, "First", false);
117+
Skill skill2 = createSkill("Skill2", false, "Second", false);
118+
Skill skill3 = createSkill("Skill3", false, "Third", false);
119+
MemberProfile member1 = createADefaultMemberProfile();
120+
MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
121+
MemberSkill ms2 = createMemberSkill(member1, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
122+
MemberSkill ms3 = createMemberSkill(member1, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
123+
124+
Set<MemberSkill> memberSkillSet = Set.of(ms1, ms2, ms3);
208125
assertEquals(memberSkillSet, memberSkillsServices.findByFields(null, null));
209-
210-
verify(memberSkillRepository, times(1)).findAll();
211-
verify(memberSkillRepository, never()).findByMemberid(any(UUID.class));
212-
verify(memberSkillRepository, never()).findBySkillid(any(UUID.class));
213126
}
214127

215128
@Test
216129
void testFindByFieldsMemberId() {
217-
List<MemberSkill> memberSkillSet = List.of(
218-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
219-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
220-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID())
221-
);
222-
130+
Skill skill1 = createSkill("Skill1", false, "First", false);
131+
Skill skill2 = createSkill("Skill2", false, "Second", false);
132+
Skill skill3 = createSkill("Skill3", false, "Third", false);
133+
MemberProfile member1 = createADefaultMemberProfile();
134+
MemberProfile member2 = createASecondDefaultMemberProfile();
135+
MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
136+
MemberSkill ms2 = createMemberSkill(member2, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
137+
MemberSkill ms3 = createMemberSkill(member1, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
138+
139+
List<MemberSkill> memberSkillSet = List.of(ms1, ms2, ms3);
223140
List<MemberSkill> memberSkillsToFind = List.of(memberSkillSet.get(1));
224141
MemberSkill memberSkill = memberSkillsToFind.get(0);
225142

226-
when(memberSkillRepository.findAll()).thenReturn(memberSkillSet);
227-
when(memberSkillRepository.findByMemberid(memberSkill.getMemberid())).thenReturn(memberSkillsToFind);
228-
229143
assertEquals(new HashSet<>(memberSkillsToFind), memberSkillsServices.findByFields(memberSkill.getMemberid(), null));
230-
231-
verify(memberSkillRepository, times(1)).findAll();
232-
verify(memberSkillRepository, times(1)).findByMemberid(any(UUID.class));
233-
verify(memberSkillRepository, never()).findBySkillid(any(UUID.class));
234144
}
235145

236146
@Test
237147
void testFindByFieldsSkillId() {
238-
List<MemberSkill> memberSkillSet = List.of(
239-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
240-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
241-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID())
242-
);
148+
Skill skill1 = createSkill("Skill1", false, "First", false);
149+
Skill skill2 = createSkill("Skill2", false, "Second", false);
150+
Skill skill3 = createSkill("Skill3", false, "Third", false);
151+
MemberProfile member1 = createADefaultMemberProfile();
152+
MemberProfile member2 = createASecondDefaultMemberProfile();
153+
MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
154+
MemberSkill ms2 = createMemberSkill(member2, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
155+
MemberSkill ms3 = createMemberSkill(member1, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
156+
157+
List<MemberSkill> memberSkillSet = List.of(ms1, ms2, ms3);
243158

244159
List<MemberSkill> memberSkillsToFind = List.of(memberSkillSet.get(1));
245160
MemberSkill memberSkill = memberSkillsToFind.get(0);
246161

247-
when(memberSkillRepository.findAll()).thenReturn(memberSkillSet);
248-
when(memberSkillRepository.findBySkillid(memberSkill.getSkillid())).thenReturn(memberSkillsToFind);
249-
250162
assertEquals(new HashSet<>(memberSkillsToFind), memberSkillsServices.findByFields(null, memberSkill.getSkillid()));
251-
252-
verify(memberSkillRepository, times(1)).findAll();
253-
verify(memberSkillRepository, times(1)).findBySkillid(any(UUID.class));
254-
verify(memberSkillRepository, never()).findByMemberid(any(UUID.class));
255163
}
256164

257165
@Test
258166
void testFindByFieldsAll() {
259-
List<MemberSkill> memberSkillSet = List.of(
260-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
261-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
262-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID())
263-
);
167+
Skill skill1 = createSkill("Skill1", false, "First", false);
168+
Skill skill2 = createSkill("Skill2", false, "Second", false);
169+
Skill skill3 = createSkill("Skill3", false, "Third", false);
170+
MemberProfile member1 = createADefaultMemberProfile();
171+
MemberProfile member2 = createASecondDefaultMemberProfile();
172+
MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
173+
MemberSkill ms2 = createMemberSkill(member2, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
174+
MemberSkill ms3 = createMemberSkill(member1, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
175+
176+
List<MemberSkill> memberSkillSet = List.of(ms1, ms2, ms3);
264177

265178
List<MemberSkill> memberSkillsToFind = List.of(memberSkillSet.get(1));
266179

267180
MemberSkill memberSkill = memberSkillsToFind.get(0);
268-
when(memberSkillRepository.findAll()).thenReturn(memberSkillSet);
269-
when(memberSkillRepository.findBySkillid(memberSkill.getSkillid())).thenReturn(memberSkillsToFind);
270-
when(memberSkillRepository.findByMemberid(memberSkill.getMemberid())).thenReturn(memberSkillsToFind);
271181

272182
assertEquals(new HashSet<>(memberSkillsToFind), memberSkillsServices
273183
.findByFields(memberSkill.getMemberid(), memberSkill.getSkillid()));
274-
275-
verify(memberSkillRepository, times(1)).findAll();
276-
verify(memberSkillRepository, times(1)).findByMemberid(any(UUID.class));
277-
verify(memberSkillRepository, times(1)).findBySkillid(any(UUID.class));
278184
}
279185

280186
@Test
281187
void testReadAll() {
282-
Set<MemberSkill> memberSkillSet = Set.of(
283-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
284-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID()),
285-
new MemberSkill(UUID.randomUUID(), UUID.randomUUID())
286-
);
188+
Skill skill1 = createSkill("Skill1", false, "First", false);
189+
Skill skill2 = createSkill("Skill2", false, "Second", false);
190+
Skill skill3 = createSkill("Skill3", false, "Third", false);
191+
MemberProfile member1 = createADefaultMemberProfile();
192+
MemberProfile member2 = createASecondDefaultMemberProfile();
193+
MemberSkill ms1 = createMemberSkill(member1, skill1, SkillLevel.INTERMEDIATE_LEVEL, LocalDate.now());
194+
MemberSkill ms2 = createMemberSkill(member2, skill2, SkillLevel.ADVANCED_LEVEL, LocalDate.now());
195+
MemberSkill ms3 = createMemberSkill(member1, skill3, SkillLevel.NOVICE_LEVEL, LocalDate.now());
287196

288-
when(memberSkillRepository.findAll()).thenReturn(memberSkillSet.stream().toList());
197+
Set<MemberSkill> memberSkillSet = Set.of(ms1, ms2, ms3);
289198

290199
assertEquals(memberSkillSet, memberSkillsServices.findByFields(null,null));
291-
292-
verify(memberSkillRepository, times(1)).findAll();
293200
}
294201

295202
@Test
296203
void testDelete() {
297-
UUID uuid = UUID.randomUUID();
298-
299-
doAnswer(an -> {
300-
assertEquals(uuid, an.getArgument(0));
301-
return null;
302-
}).when(memberSkillRepository).deleteById(any(UUID.class));
303-
304-
memberSkillsServices.delete(uuid);
305-
306-
verify(memberSkillRepository, times(1)).deleteById(any(UUID.class));
204+
Skill skill = createSkill("Skill1", false, "First", false);
205+
memberSkillsServices.delete(skill.getId());
206+
assertFalse(getMemberSkillRepository().findById(skill.getId())
207+
.isPresent());
307208
}
308209
}

0 commit comments

Comments
 (0)