public async Task SendEmailAsync_WhenSendInvalidApiKey_ReturnsUnauthorized() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Put, httpStatusCode: HttpStatusCode.Unauthorized); var invoiceClient = new ServiceInvoiceClient("InvalidApiKey", mockHttp); // Act var result = await invoiceClient.SendEmailAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Unauthorized, result.Status); }
public async Task SendEmailAsync_WhenRequestTimeout_ReturnsTimeout() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Put, httpStatusCode: HttpStatusCode.RequestTimeout); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.SendEmailAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.TimedOut, result.Status); }
public async Task SendEmailAsync_WhenHttpStatusCodeIsUnexpected_ReturnsError(HttpStatusCode status) { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Put, httpStatusCode: status); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.SendEmailAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); }
public async Task PostAsync_WhenSendInvalidInvoice_ReturnsBadRequest() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: HttpStatusCode.BadRequest); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.PostAsync(TestHelper.companyId, _invoiceToRequest, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.BadRequest, result.Status); }
public async Task DeleteAsync_WhenInternalServerError_ReturnsError() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Delete, httpStatusCode: HttpStatusCode.InternalServerError); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.DeleteAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); }
public InvoiceClientIntegrationTests() { _settingsApp = new GetAppSettings(); _companyIdSP = _settingsApp.Configuration["Authentication:CompanyId"]; _invoiceId = _settingsApp.Configuration["Authentication:InvoiceId"]; _pathToSave = _settingsApp.Configuration["Authentication:Path"]; var apiKey = _settingsApp.Configuration["Authentication:ApiKey"]; _client = new ServiceInvoiceClient(apiKey); _xmlToTest = File.ReadAllText(@"..\..\..\..\UnitTests\FileToTest\invoiceResource-Example.xml"); _item = GenerateObjectToTest.Invoice(); }
public async Task SendEmailAsync_WhenRequestResponseReturnNull_ReturnsError() { // Arrange var mockHttp = TestHelper.CreateMockHttpGet(null); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp.Object); // Act var result = await invoiceClient.SendEmailAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); Assert.Equal("Object reference not set to an instance of an object.", result.Value.ToString()); }
public async Task PostAsync_WhenSendValidJson_ReturnsOk() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, _invoiceToAssert.ToJson <InvoiceResource>()); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.PostAsync(TestHelper.companyId, _invoiceToRequest, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.OK, result.Status); ValidateHelper.ValidateInvoice(_invoiceToAssert, result.ValueAsSuccess); }
public async Task DeleteAsync_WhenInvoiceIdIsValid_ReturnsOk() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Delete, string.Empty); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.DeleteAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Null(result.ValueAsSuccess); Assert.Equal(ResultStatusCode.OK, result.Status); }
public async Task GetDocumentXmlAsync_WhenInvoiceIdIsValid_ReturnsOk() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Get, _xmlToTest); var invoiceClient = new ServiceInvoiceClient(TestHelper.apiKey, mockHttp); // Act var result = await invoiceClient.GetDocumentXmlAsync(TestHelper.companyId, TestHelper.invoiceId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.OK, result.Status); Assert.Equal(_xmlToTest.GetBytesFromString(), result.ValueAsSuccess.GetBytesFromString()); }