Skip to content

Commit b428976

Browse files
committed
2024-10-23 - feedback - external reviewer - server-side
1 parent 2429ca3 commit b428976

File tree

1 file changed

+114
-10
lines changed

1 file changed

+114
-10
lines changed

server/src/test/java/com/objectcomputing/checkins/services/feedback_request/FeedbackRequestControllerTest.java

Lines changed: 114 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,7 +1171,7 @@ void testGetByCreatorRequesteeIdNotPermittedToRecipients() {
11711171
}
11721172

11731173
@Test
1174-
void testGetByCreatorRequesteeIdNotPermittedToExternalRecipients() {
1174+
void testGetByCreatorRequesteeIdIsPermittedToExternalRecipients() {
11751175
//create two employee-PDL relationships
11761176
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
11771177
assignPdlRole(pdlMemberProfile);
@@ -1187,15 +1187,12 @@ void testGetByCreatorRequesteeIdNotPermittedToExternalRecipients() {
11871187
saveFeedbackRequest(pdlMemberProfileTwo, memberTwo, externalRecipient02);
11881188

11891189
//search for feedback requests by a specific creator, requestee, and template
1190-
final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeId=%s", feedbackReq.getCreatorId(), feedbackReq.getRequesteeId()))
1191-
.basicAuth(externalRecipient02.getEmail(), RoleType.Constants.MEMBER_ROLE);
1192-
;
1193-
1194-
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
1190+
final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeId=%s&externalRecipientId=%s", feedbackReq.getCreatorId(), feedbackReq.getRequesteeId(), feedbackReq.getExternalRecipientId()));
1191+
final HttpResponse<List<FeedbackRequestResponseDTO>> response = clientExternalRecipient.toBlocking()
11951192
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));
11961193

11971194
assertTrue(response.getBody().isPresent());
1198-
assertEquals(0, response.getBody().get().size());
1195+
assertEquals(1, response.getBody().get().size());
11991196
assertEquals(HttpStatus.OK, response.getStatus());
12001197
}
12011198

@@ -2433,7 +2430,7 @@ void testRecipientGetBeforeSendDateAsPdlAuthorized() {
24332430
}
24342431

24352432
@Test
2436-
void testGetMultipleRequesteesByAdmin() {
2433+
void testGetMultipleRequesteesByAdminToRecipient() {
24372434
MemberProfile adminMemberProfile = createAnUnrelatedUser();
24382435
assignAdminRole(adminMemberProfile);
24392436

@@ -2469,7 +2466,43 @@ void testGetMultipleRequesteesByAdmin() {
24692466
}
24702467

24712468
@Test
2472-
void testGetMultipleRequesteesByPDL() {
2469+
void testGetMultipleRequesteesByAdminToExternalRecipient() {
2470+
MemberProfile adminMemberProfile = createAnUnrelatedUser();
2471+
assignAdminRole(adminMemberProfile);
2472+
2473+
//create two employee-PDL relationships
2474+
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
2475+
assignPdlRole(pdlMemberProfile);
2476+
MemberProfile memberOne = createADefaultMemberProfileForPdl(pdlMemberProfile);
2477+
MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
2478+
assignPdlRole(pdlMemberProfileTwo);
2479+
MemberProfile memberTwo = createASecondDefaultMemberProfileForPdl(pdlMemberProfileTwo);
2480+
2481+
MemberProfile memberThree = createAThirdDefaultMemberProfileForPdl(pdlMemberProfileTwo);
2482+
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();
2483+
2484+
// Create two sample feedback requests by the same PDL
2485+
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
2486+
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
2487+
saveFeedbackRequest(pdlMemberProfile, memberThree, externalRecipient01);
2488+
2489+
// Create a feedback request by a different PDL
2490+
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);
2491+
2492+
final HttpRequest<?> request = HttpRequest.GET(String.format("/?requesteeIds=%s&requesteeIds=%s", memberOne.getId(), memberTwo.getId()))
2493+
.basicAuth(adminMemberProfile.getWorkEmail(), RoleType.Constants.ADMIN_ROLE);
2494+
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
2495+
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));
2496+
2497+
assertEquals(HttpStatus.OK, response.getStatus());
2498+
assertTrue(response.getBody().isPresent());
2499+
assertEquals(2, response.getBody().get().size());
2500+
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
2501+
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
2502+
}
2503+
2504+
@Test
2505+
void testGetMultipleRequesteesByPdlToRecipient() {
24732506
//create two employee-PDL relationships
24742507
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
24752508
assignPdlRole(pdlMemberProfile);
@@ -2502,7 +2535,40 @@ void testGetMultipleRequesteesByPDL() {
25022535
}
25032536

25042537
@Test
2505-
void testGetMultipleRequesteesBySupervisor() {
2538+
void testGetMultipleRequesteesByPdlToExternalRecipient() {
2539+
//create two employee-PDL relationships
2540+
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
2541+
assignPdlRole(pdlMemberProfile);
2542+
MemberProfile memberOne = createADefaultMemberProfileForPdl(pdlMemberProfile);
2543+
MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
2544+
assignPdlRole(pdlMemberProfileTwo);
2545+
MemberProfile memberTwo = createASecondDefaultMemberProfileForPdl(pdlMemberProfileTwo);
2546+
2547+
MemberProfile memberThree = createAThirdDefaultMemberProfileForPdl(pdlMemberProfileTwo);
2548+
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();
2549+
2550+
// Create two sample feedback requests by the same PDL
2551+
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
2552+
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
2553+
saveFeedbackRequest(pdlMemberProfile, memberThree, externalRecipient01);
2554+
2555+
// Create a feedback request by a different PDL
2556+
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);
2557+
2558+
final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeIds=%s&requesteeIds=%s", pdlMemberProfile.getId(), memberOne.getId(), memberTwo.getId()))
2559+
.basicAuth(pdlMemberProfile.getWorkEmail(), RoleType.Constants.PDL_ROLE);
2560+
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
2561+
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));
2562+
2563+
assertEquals(HttpStatus.OK, response.getStatus());
2564+
assertTrue(response.getBody().isPresent());
2565+
assertEquals(2, response.getBody().get().size());
2566+
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
2567+
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
2568+
}
2569+
2570+
@Test
2571+
void testGetMultipleRequesteesBySupervisorToRecipient() {
25062572
MemberProfile supervisor = createADefaultSupervisor();
25072573
MemberProfile anotherSupervisor = createAnotherSupervisor();
25082574

@@ -2537,4 +2603,42 @@ void testGetMultipleRequesteesBySupervisor() {
25372603
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
25382604
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
25392605
}
2606+
2607+
@Test
2608+
void testGetMultipleRequesteesBySupervisorToExternalRecipient() {
2609+
MemberProfile supervisor = createADefaultSupervisor();
2610+
MemberProfile anotherSupervisor = createAnotherSupervisor();
2611+
2612+
//create two employee-PDL relationships
2613+
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
2614+
assignPdlRole(pdlMemberProfile);
2615+
MemberProfile memberOne = createAProfileWithSupervisorAndPDL(supervisor, pdlMemberProfile);
2616+
2617+
MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
2618+
assignPdlRole(pdlMemberProfileTwo);
2619+
MemberProfile memberTwo = createAnotherProfileWithSupervisorAndPDL(supervisor, pdlMemberProfileTwo);
2620+
2621+
MemberProfile memberThree = createYetAnotherProfileWithSupervisorAndPDL(anotherSupervisor, pdlMemberProfileTwo);
2622+
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();
2623+
2624+
// Create two sample feedback requests by the same PDL
2625+
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
2626+
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
2627+
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);
2628+
2629+
// Create a feedback request by a different PDL
2630+
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);
2631+
2632+
final HttpRequest<?> request = HttpRequest.GET(String.format("/?requesteeIds=%s&requesteeIds=%s", memberOne.getId(), memberTwo.getId()))
2633+
.basicAuth(pdlMemberProfile.getWorkEmail(), RoleType.Constants.ADMIN_ROLE);
2634+
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
2635+
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));
2636+
2637+
assertEquals(HttpStatus.OK, response.getStatus());
2638+
assertTrue(response.getBody().isPresent());
2639+
assertEquals(2, response.getBody().get().size());
2640+
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
2641+
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
2642+
}
2643+
25402644
}

0 commit comments

Comments
 (0)