public async Task GetDocumentPdfBytesAsync_WhenRequestTimeout_ReturnsTimeout()
        {
            // Arrange
            var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Get, new byte[0], httpStatusCode: HttpStatusCode.RequestTimeout);

            var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp);

            // Act
            var result = await invoiceClient.GetDocumentPdfBytesAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(ResultStatusCode.TimedOut, result.Status);
        }
        public async Task GetDocumentPdfBytesAsync_WhenSendInvalidApiKey_ReturnsUnauthorized()
        {
            // Arrange
            var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Get, new byte[0], httpStatusCode: HttpStatusCode.Unauthorized);

            var invoiceClient = new ServiceInvoiceClient("InvalidApiKey", mockHttp);

            // Act
            var result = await invoiceClient.GetDocumentPdfBytesAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(ResultStatusCode.Unauthorized, result.Status);
        }
        public async Task GetDocumentPdfBytesAsync_WhenRequestResponseReturnNull_ReturnsError()
        {
            // Arrange
            var mockHttp = TestHelper.CreateMockHttpGet(null);

            var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp.Object);

            // Act
            var result = await invoiceClient.GetDocumentPdfBytesAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(ResultStatusCode.Error, result.Status);
            Assert.Equal("String reference not set to an instance of a String.\r\nParameter name: s", result.Value.ToString());
        }
        public async Task GetDocumentPdfBytesAsync_WhenInvoiceIdIsValid_ReturnsOk()
        {
            // Arrange

            var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Get, _pdfByteToTest);

            var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp);

            // Act
            var result = await invoiceClient.GetDocumentPdfBytesAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(ResultStatusCode.OK, result.Status);
            Assert.Equal(_pdfByteToTest, result.ValueAsSuccess);
        }
コード例 #5
0
        public async Task GetDocumentPdfAsync_WhenSendInvoiceIdValid_ReturnsOk()
        {
            // Arrange

            // Act
            var result = await _client.GetDocumentPdfBytesAsync(_companyIdSP, _invoiceId);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(ResultStatusCode.OK, result.Status);

            // save to see pdf
            TestHelper.GeneratePdf(result.ValueAsSuccess, _pathToSave);

            // Assert
            byte[] bytes = System.IO.File.ReadAllBytes(_pathToSave);

            Assert.Equal(bytes, result.ValueAsSuccess);
        }