Example #1
0
        public async Task PostAsync_ShouldReturnErrorObject_WhenRequestIsNotSuccessful()
        {
            // Arrange
            var mockedResponseHandler = new MockedDelegatingHandler(new HttpResponseMessage
            {
                Content    = new StringContent(TestErrorJson, Encoding.UTF8, "application/json"),
                StatusCode = HttpStatusCode.BadRequest,
            });
            var restClient = new RestClient("http://test.com", new HttpClient(mockedResponseHandler));

            // Act
            var response = await restClient.PostAsync <object, ErrorDto>(relativeUrl : "/test", body : new { Test = "Test" });

            // Assert
            Assert.IsType <RestResponse <object, ErrorDto> >(response);
            Assert.Null(response.SuccessValue);
            Assert.IsType <ErrorDto>(response.ErrorValue);
            Assert.Equal(HttpStatusCode.BadRequest, response.HttpStatusCode);
            Assert.False(response.IsSuccessResult);
            Assert.Equal(2, response.ErrorValue.ErrorCode);
            Assert.Equal(GenericErrorDescription, response.ErrorValue.ErrorDescription);
        }
Example #2
0
        public async Task PostAsync_ShouldReturnResourceObject_WhenRequestIsSuccessful()
        {
            // Arrange
            var mockedResponseHandler = new MockedDelegatingHandler(new HttpResponseMessage
            {
                Content    = new StringContent(TestResourceJson, Encoding.UTF8, "application/json"),
                StatusCode = HttpStatusCode.Created,
            });

            var restClient = new RestClient("http://test.com", new HttpClient(mockedResponseHandler));

            // Act
            var response = await restClient.PostAsync <TestResourceDto, ErrorDto>(relativeUrl : "/test", body : new { Test = "Test" });

            // Assert
            Assert.IsType <RestResponse <TestResourceDto, ErrorDto> >(response);
            Assert.IsType <TestResourceDto>(response.SuccessValue);
            Assert.Null(response.ErrorValue);
            Assert.Equal(HttpStatusCode.Created, response.HttpStatusCode);
            Assert.True(response.IsSuccessResult);
            Assert.Equal("test", response.SuccessValue.Id);
            Assert.Equal(5, response.SuccessValue.Code);
        }