public void GetSampleDtoAsync_RequestSucceeded_CallsGetSampleDtoCompletedActionWithSampleDto() { // Arrange var expectedSampleDto = new SampleDto { Id = 123, Name = "sample" }; httpMessageHandlerStub. SetupGet(new Uri(baseAddress + sampleDtoUri)). Returns(expectedSampleDto); SampleDto actualSampleDto = null; // Act httpClientWrapper.GetSampleDtoAsync(sampleDto => actualSampleDto = sampleDto); // Assert Assert.That(() => actualSampleDto, Is.Not.Null.After(fiveSeconds, pollingEvery100Milliseconds)); Assert.That(actualSampleDto.Id, Is.EqualTo(expectedSampleDto.Id)); Assert.That(actualSampleDto.Name, Is.EqualTo(expectedSampleDto.Name)); }
public void PostSampleDtoAsync_RequestSucceeded_PassedSampleDtoIsPosted() { // Arrange var sampleDto = new SampleDto { Id = 1 }; httpMessageHandlerStub. SetupPost<SampleDto>(new Uri(baseAddress + sampleDtoUri), dto => dto.Id == sampleDto.Id). Returns(HttpStatusCode.OK); var sampleDtoWasPostedSuccessfully = false; // Act httpClientWrapper.PostSampleDtoAsync(sampleDto, () => sampleDtoWasPostedSuccessfully = true); // Assert Assert.That(() => sampleDtoWasPostedSuccessfully, Is.True.After(fiveSeconds, pollingEvery100Milliseconds)); }
public void PostSampleDtoAsync(SampleDto sampleDto, Action postSampleDtoCompletedAction) { httpClient. PostAsJsonAsync(SampleDtoUri, sampleDto). ContinueWith(task => { try { var response = task.Result; if (!response.IsSuccessStatusCode) LastError = new Exception(response.StatusCode.ToString()); else postSampleDtoCompletedAction(); } catch (AggregateException aggregateException) { LastError = aggregateException.InnerException; } }); }