@@ -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