Skip to content

Commit

Permalink
2024-10-23 - feedback - external reviewer - server-side
Browse files Browse the repository at this point in the history
  • Loading branch information
Luch76 committed Oct 24, 2024
1 parent 2429ca3 commit b428976
Showing 1 changed file with 114 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1171,7 +1171,7 @@ void testGetByCreatorRequesteeIdNotPermittedToRecipients() {
}

@Test
void testGetByCreatorRequesteeIdNotPermittedToExternalRecipients() {
void testGetByCreatorRequesteeIdIsPermittedToExternalRecipients() {
//create two employee-PDL relationships
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
assignPdlRole(pdlMemberProfile);
Expand All @@ -1187,15 +1187,12 @@ void testGetByCreatorRequesteeIdNotPermittedToExternalRecipients() {
saveFeedbackRequest(pdlMemberProfileTwo, memberTwo, externalRecipient02);

//search for feedback requests by a specific creator, requestee, and template
final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeId=%s", feedbackReq.getCreatorId(), feedbackReq.getRequesteeId()))
.basicAuth(externalRecipient02.getEmail(), RoleType.Constants.MEMBER_ROLE);
;

final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeId=%s&externalRecipientId=%s", feedbackReq.getCreatorId(), feedbackReq.getRequesteeId(), feedbackReq.getExternalRecipientId()));
final HttpResponse<List<FeedbackRequestResponseDTO>> response = clientExternalRecipient.toBlocking()
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));

assertTrue(response.getBody().isPresent());
assertEquals(0, response.getBody().get().size());
assertEquals(1, response.getBody().get().size());
assertEquals(HttpStatus.OK, response.getStatus());
}

Expand Down Expand Up @@ -2433,7 +2430,7 @@ void testRecipientGetBeforeSendDateAsPdlAuthorized() {
}

@Test
void testGetMultipleRequesteesByAdmin() {
void testGetMultipleRequesteesByAdminToRecipient() {
MemberProfile adminMemberProfile = createAnUnrelatedUser();
assignAdminRole(adminMemberProfile);

Expand Down Expand Up @@ -2469,7 +2466,43 @@ void testGetMultipleRequesteesByAdmin() {
}

@Test
void testGetMultipleRequesteesByPDL() {
void testGetMultipleRequesteesByAdminToExternalRecipient() {
MemberProfile adminMemberProfile = createAnUnrelatedUser();
assignAdminRole(adminMemberProfile);

//create two employee-PDL relationships
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
assignPdlRole(pdlMemberProfile);
MemberProfile memberOne = createADefaultMemberProfileForPdl(pdlMemberProfile);
MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
assignPdlRole(pdlMemberProfileTwo);
MemberProfile memberTwo = createASecondDefaultMemberProfileForPdl(pdlMemberProfileTwo);

MemberProfile memberThree = createAThirdDefaultMemberProfileForPdl(pdlMemberProfileTwo);
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();

// Create two sample feedback requests by the same PDL
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
saveFeedbackRequest(pdlMemberProfile, memberThree, externalRecipient01);

// Create a feedback request by a different PDL
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);

final HttpRequest<?> request = HttpRequest.GET(String.format("/?requesteeIds=%s&requesteeIds=%s", memberOne.getId(), memberTwo.getId()))
.basicAuth(adminMemberProfile.getWorkEmail(), RoleType.Constants.ADMIN_ROLE);
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));

assertEquals(HttpStatus.OK, response.getStatus());
assertTrue(response.getBody().isPresent());
assertEquals(2, response.getBody().get().size());
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
}

@Test
void testGetMultipleRequesteesByPdlToRecipient() {
//create two employee-PDL relationships
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
assignPdlRole(pdlMemberProfile);
Expand Down Expand Up @@ -2502,7 +2535,40 @@ void testGetMultipleRequesteesByPDL() {
}

@Test
void testGetMultipleRequesteesBySupervisor() {
void testGetMultipleRequesteesByPdlToExternalRecipient() {
//create two employee-PDL relationships
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
assignPdlRole(pdlMemberProfile);
MemberProfile memberOne = createADefaultMemberProfileForPdl(pdlMemberProfile);
MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
assignPdlRole(pdlMemberProfileTwo);
MemberProfile memberTwo = createASecondDefaultMemberProfileForPdl(pdlMemberProfileTwo);

MemberProfile memberThree = createAThirdDefaultMemberProfileForPdl(pdlMemberProfileTwo);
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();

// Create two sample feedback requests by the same PDL
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
saveFeedbackRequest(pdlMemberProfile, memberThree, externalRecipient01);

// Create a feedback request by a different PDL
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);

final HttpRequest<?> request = HttpRequest.GET(String.format("/?creatorId=%s&requesteeIds=%s&requesteeIds=%s", pdlMemberProfile.getId(), memberOne.getId(), memberTwo.getId()))
.basicAuth(pdlMemberProfile.getWorkEmail(), RoleType.Constants.PDL_ROLE);
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));

assertEquals(HttpStatus.OK, response.getStatus());
assertTrue(response.getBody().isPresent());
assertEquals(2, response.getBody().get().size());
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
}

@Test
void testGetMultipleRequesteesBySupervisorToRecipient() {
MemberProfile supervisor = createADefaultSupervisor();
MemberProfile anotherSupervisor = createAnotherSupervisor();

Expand Down Expand Up @@ -2537,4 +2603,42 @@ void testGetMultipleRequesteesBySupervisor() {
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
}

@Test
void testGetMultipleRequesteesBySupervisorToExternalRecipient() {
MemberProfile supervisor = createADefaultSupervisor();
MemberProfile anotherSupervisor = createAnotherSupervisor();

//create two employee-PDL relationships
MemberProfile pdlMemberProfile = createADefaultMemberProfile();
assignPdlRole(pdlMemberProfile);
MemberProfile memberOne = createAProfileWithSupervisorAndPDL(supervisor, pdlMemberProfile);

MemberProfile pdlMemberProfileTwo = createASecondDefaultMemberProfile();
assignPdlRole(pdlMemberProfileTwo);
MemberProfile memberTwo = createAnotherProfileWithSupervisorAndPDL(supervisor, pdlMemberProfileTwo);

MemberProfile memberThree = createYetAnotherProfileWithSupervisorAndPDL(anotherSupervisor, pdlMemberProfileTwo);
final FeedbackExternalRecipient externalRecipient01 = createADefaultFeedbackExternalRecipient();

// Create two sample feedback requests by the same PDL
FeedbackRequest feedbackReq = saveFeedbackRequest(pdlMemberProfile, memberOne, externalRecipient01);
FeedbackRequest feedbackReqTwo = saveFeedbackRequest(pdlMemberProfile, memberTwo, externalRecipient01);
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);

// Create a feedback request by a different PDL
saveFeedbackRequest(pdlMemberProfileTwo, memberThree, externalRecipient01);

final HttpRequest<?> request = HttpRequest.GET(String.format("/?requesteeIds=%s&requesteeIds=%s", memberOne.getId(), memberTwo.getId()))
.basicAuth(pdlMemberProfile.getWorkEmail(), RoleType.Constants.ADMIN_ROLE);
final HttpResponse<List<FeedbackRequestResponseDTO>> response = client.toBlocking()
.exchange(request, Argument.listOf(FeedbackRequestResponseDTO.class));

assertEquals(HttpStatus.OK, response.getStatus());
assertTrue(response.getBody().isPresent());
assertEquals(2, response.getBody().get().size());
assertResponseEqualsEntity(feedbackReq, response.getBody().get().get(0));
assertResponseEqualsEntity(feedbackReqTwo, response.getBody().get().get(1));
}

}

0 comments on commit b428976

Please sign in to comment.