|
26 | 26 | import io.micronaut.http.client.exceptions.HttpClientResponseException;
|
27 | 27 | import jakarta.inject.Inject;
|
28 | 28 | import jakarta.inject.Named;
|
| 29 | +import jnr.constants.platform.Local; |
29 | 30 | import org.junit.jupiter.api.BeforeEach;
|
30 | 31 | import org.junit.jupiter.api.Test;
|
31 | 32 | import org.junit.jupiter.params.ParameterizedTest;
|
@@ -678,4 +679,53 @@ void testUpdateKudosNoMembers() {
|
678 | 679 |
|
679 | 680 | assertEquals(HttpStatus.BAD_REQUEST, responseException.getStatus());
|
680 | 681 | }
|
| 682 | + |
| 683 | + @Test |
| 684 | + void testGetAllPublicKudos() { |
| 685 | + UUID recipientId = recipientMembers.getFirst().getId(); |
| 686 | + MemberProfile bob = memberWithoutBoss("bob"); |
| 687 | + UUID someOtherRecipientId = bob.getId(); |
| 688 | + |
| 689 | + Kudos kudos = createApprovedKudos(senderId); |
| 690 | + Kudos kudos2 = createApprovedKudos(senderId); |
| 691 | + Kudos kudos3 = createApprovedKudos(senderId); |
| 692 | + createKudosRecipient(kudos.getId(), recipientId); |
| 693 | + createKudosRecipient(kudos2.getId(), recipientId); |
| 694 | + createKudosRecipient(kudos3.getId(), someOtherRecipientId); |
| 695 | + |
| 696 | + MutableHttpRequest<Object> request = HttpRequest.GET("/public").basicAuth(bob.getWorkEmail(), MEMBER_ROLE); |
| 697 | + final HttpResponse<List<KudosResponseDTO>> response = client.exchange(request, Argument.listOf(KudosResponseDTO.class)); |
| 698 | + |
| 699 | + assertEquals(OK, response.getStatus()); |
| 700 | + List<KudosResponseDTO> body = response.body(); |
| 701 | + assertEquals(3, body.size()); |
| 702 | + assertEquals(List.of(kudos.getId(), kudos2.getId(), kudos3.getId()), List.of(body.get(0).getId(), body.get(1).getId(), body.get(2).getId())); |
| 703 | + } |
| 704 | + |
| 705 | + @Test |
| 706 | + void testGetPublicKudosSince() { |
| 707 | + UUID recipientId = recipientMembers.getFirst().getId(); |
| 708 | + MemberProfile bob = memberWithoutBoss("bob"); |
| 709 | + UUID someOtherRecipientId = bob.getId(); |
| 710 | + |
| 711 | + LocalDate now = LocalDate.now(); |
| 712 | + LocalDate since = now.minusMonths(3); |
| 713 | + LocalDate before = since.minusDays(1); |
| 714 | + LocalDate inRange = since.plusDays(Math.round(Math.ceil(Math.random()*30))); // up to 30 days |
| 715 | + |
| 716 | + Kudos kudos = createApprovedKudos(senderId, since); |
| 717 | + Kudos kudos2 = createApprovedKudos(senderId, before); |
| 718 | + Kudos kudos3 = createApprovedKudos(senderId, inRange); |
| 719 | + createKudosRecipient(kudos.getId(), recipientId); |
| 720 | + createKudosRecipient(kudos2.getId(), recipientId); |
| 721 | + createKudosRecipient(kudos3.getId(), someOtherRecipientId); |
| 722 | + |
| 723 | + MutableHttpRequest<Object> request = HttpRequest.GET(String.format("/public?since=%s", since)).basicAuth(bob.getWorkEmail(), MEMBER_ROLE); |
| 724 | + final HttpResponse<List<KudosResponseDTO>> response = client.exchange(request, Argument.listOf(KudosResponseDTO.class)); |
| 725 | + |
| 726 | + assertEquals(OK, response.getStatus()); |
| 727 | + List<KudosResponseDTO> body = response.body(); |
| 728 | + assertEquals(2, body.size()); |
| 729 | + assertEquals(List.of(kudos.getId(), kudos3.getId()), List.of(body.get(0).getId(), body.get(1).getId())); |
| 730 | + } |
681 | 731 | }
|
0 commit comments