public Task <StatementReportResponse> QueryStatementsReport(QueryFilterDateRange filter,
                                                             CancellationToken cancellationToken = default)
 {
     CheckoutUtils.ValidateParams("filter", filter);
     return(ApiClient.Query <StatementReportResponse>(BuildPath(ReportingPath, StatementsPath),
                                                      SdkAuthorization(), filter, cancellationToken));
 }
 public Task <ContentsResponse> RetrieveCsvPaymentReport(QueryFilterDateRange filter,
                                                         CancellationToken cancellationToken = default)
 {
     CheckoutUtils.ValidateParams("filter", filter);
     return(ApiClient.Query <ContentsResponse>(BuildPath(ReportingPath, PaymentsPath, DownloadPath), SdkAuthorization(),
                                               filter,
                                               cancellationToken));
 }
        private async Task ShouldRetrieveCsvStatementsReport()
        {
            var request = new QueryFilterDateRange {
                To = _to, From = _from
            };

            _apiClient.Setup(apiClient =>
                             apiClient.Query <ContentsResponse>("reporting/statements/download", _authorization, request,
                                                                CancellationToken.None))
            .ReturnsAsync(() => new ContentsResponse {
                Content = Csv
            });

            var response = await _reconciliationClient.RetrieveCsvStatementsReport(request);

            response.ShouldNotBeNull();
            response.Content.ShouldBe(Csv);
        }
        private async Task ShouldQueryStatementsReport()
        {
            //Arrange
            var request = new QueryFilterDateRange {
                To = _to, From = _from
            };

            var returnResponse = new StatementReportResponse {
                Count = 5, Data = new List <StatementData>()
            };

            _apiClient.Setup(apiClient =>
                             apiClient.Query <StatementReportResponse>("reporting/statements", _authorization, request,
                                                                       CancellationToken.None))
            .ReturnsAsync(() => returnResponse);

            //Act
            var response = await _reconciliationClient.QueryStatementsReport(request);

            //Assert
            response.ShouldNotBeNull();
            response.Count.ShouldBe(returnResponse.Count);
        }