public async Task GetCovid19Status_GivenPositiveResponse_ReturnsPositiveResult() { // ARRANGE var handlerMock = new Mock <HttpMessageHandler>() .SetupRequest(HttpMethod.Get, "/v1/Msis/covid19status?ident=01019098765", new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(@"{ ""harPositivCovid19Prove"": true, ""provedato"": ""2020-11-19T17:08:59.902Z"" }", Encoding.UTF8, "application/json"), }); var httpClient = new HttpClient(handlerMock.Object) { BaseAddress = new Uri("http://test.com/v1/Msis/"), }; var target = new MsisClient(httpClient); // ACT var result = await target.GetCovid19Status("01019098765"); // ASSERT using (new AssertionScope()) { result.HarPositivCovid19Prove.Should().BeTrue(); result.Provedato.Should().BeCloseTo(DateTime.Parse("2020-11-19T17:08:59.902Z").ToUniversalTime()); } handlerMock.Verify(); }
public async Task GetCovid19Status_GivenNonPositiveResponse_ReturnsNonPositiveResult() { // ARRANGE var handlerMock = new Mock <HttpMessageHandler>() .SetupRequest(HttpMethod.Get, "/v1/Msis/covid19status?ident=01019098765", new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(@"{ ""harPositivCovid19Prove"": false, ""provedato"": null }", Encoding.UTF8, "application/json"), }); var httpClient = new HttpClient(handlerMock.Object) { BaseAddress = new Uri("http://test.com/v1/Msis/"), }; var target = new MsisClient(httpClient); // ACT var result = await target.GetCovid19Status("01019098765"); // ASSERT using (new AssertionScope()) { result.HarPositivCovid19Prove.Should().BeFalse(); result.Provedato.Should().BeNull(); } handlerMock.Verify(); }
public async Task GetMsisOnlineStatus_ReturnsResultAccordingToResponse(string responseBody, bool expectedResult) { // ARRANGE var handlerMock = new Mock <HttpMessageHandler>() .SetupRequest(HttpMethod.Get, "/v1/Msis/erMsisOnline", new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(responseBody, Encoding.UTF8, "application/json"), }); var httpClient = new HttpClient(handlerMock.Object) { BaseAddress = new Uri("http://test.com/v1/Msis/"), }; var target = new MsisClient(httpClient); // ACT var result = await target.GetMsisOnlineStatus(); // ASSERT result.Should().Be(expectedResult); handlerMock.Verify(); }