diff --git a/sdk/communication/azure-communication-chat/src/test/java/com/azure/communication/chat/ChatThreadAsyncClientTest.java b/sdk/communication/azure-communication-chat/src/test/java/com/azure/communication/chat/ChatThreadAsyncClientTest.java index 9db4597d9ba8..37c9f7df11ed 100644 --- a/sdk/communication/azure-communication-chat/src/test/java/com/azure/communication/chat/ChatThreadAsyncClientTest.java +++ b/sdk/communication/azure-communication-chat/src/test/java/com/azure/communication/chat/ChatThreadAsyncClientTest.java @@ -878,6 +878,31 @@ public Mono send(HttpRequest request) { assertNotNull(readReceiptList.get(0).getSender()); } + @ParameterizedTest + @MethodSource("com.azure.core.test.TestBase#getHttpClients") + public void canListReadReceiptsWithOptions(HttpClient httpClient) { + HttpClient mockHttpClient = new NoOpHttpClient() { + @Override + public Mono send(HttpRequest request) { + return Mono.just(ChatResponseMocker.createReadReceiptsResponse(request)); + } + }; + setupUnitTest(mockHttpClient); + PagedFlux readReceipts = chatThreadClient.listReadReceipts( + new ListReadReceiptOptions().setMaxPageSize(1)); + + // // process the iterableByPage + List readReceiptList = new ArrayList(); + readReceipts.toIterable().forEach(receipt -> { + readReceiptList.add(receipt); + }); + + assertEquals(readReceiptList.size(), 2); + assertNotNull(readReceiptList.get(0).getChatMessageId()); + assertNotNull(readReceiptList.get(0).getReadOn()); + assertNotNull(readReceiptList.get(0).getSender()); + } + @ParameterizedTest @MethodSource("com.azure.core.test.TestBase#getHttpClients") public void canListReadReceiptsWithContext(HttpClient httpClient) { diff --git a/sdk/communication/azure-communication-chat/src/test/resources/session-records/ChatThreadAsyncClientTest.canListReadReceiptsWithOptions[1].json b/sdk/communication/azure-communication-chat/src/test/resources/session-records/ChatThreadAsyncClientTest.canListReadReceiptsWithOptions[1].json new file mode 100644 index 000000000000..8bd9ef5dcae2 --- /dev/null +++ b/sdk/communication/azure-communication-chat/src/test/resources/session-records/ChatThreadAsyncClientTest.canListReadReceiptsWithOptions[1].json @@ -0,0 +1,17 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.communication.azure.com/chat/threads/19:4b72178530934b7790135dd9359205e0@thread.v2/readReceipts?maxPageSize=1&api-version=2021-03-07", + "Headers" : { + "User-Agent" : "azsdk-java-azure-communication-chat/1.1.0-beta.1 (1.8.0_262; Windows 10; 10.0)" + }, + "Response" : { + "retry-after" : "0", + "Content-Length" : "433", + "StatusCode" : "200", + "Body" : "{\"value\":[{\"senderCommunicationIdentifier\":{\"communicationUser\":{ \"id\":\"8:acs:9b665d53-8164-4923-ad5d-5e983b07d2e7_00000005-334f-e4af-b274-5a3a0d0002f9\"} },\"chatMessageId\":\"1600201311647\",\"readOn\":\"2020-09-15T20:21:51Z\"},{\"senderCommunicationIdentifier\":{\"communicationUser\":{ \"id\":\"8:acs:9b665d53-8164-4923-ad5d-5e983b07d2e7_00000005-334f-e4af-b274-5a3a0d0002f9\"} },\"chatMessageId\":\"1600201311648\",\"readOn\":\"2020-09-15T20:21:53Z\"}]}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file