private void InputHasError(ApodErrorCode errorCode) { var error = new ApodError(errorCode); _errorHandler.Setup(x => x.ValidateCount(It.IsAny <int>())).Returns(error); _errorHandler.Setup(x => x.ValidateDate(It.IsAny <DateTime>())).Returns(error); _errorHandler.Setup(x => x.ValidateDateRange(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(error); }
public async Task FetchApodAsync_Today_CorrectApodStatusCode(ApodErrorCode inputError, ApodErrorCode httpResponseError, ApodStatusCode expectedStatusCode) { InputHasError(inputError); HttpResponseHasError(httpResponseError); var actualStatusCode = (await _client.FetchApodAsync()).StatusCode; Assert.Equal(expectedStatusCode, actualStatusCode); }
public async Task FetchApodAsync_Count_CorrectApodStatusCode(ApodErrorCode inputError, ApodErrorCode httpResponseError, ApodStatusCode expectedStatusCode) { var count = default(int); InputHasError(inputError); HttpResponseHasError(httpResponseError); var actualStatusCode = (await _client.FetchApodAsync(count)).StatusCode; Assert.Equal(expectedStatusCode, actualStatusCode); }
public async Task FetchApodAsync_DateRange_CorrectApodStatusCode(ApodErrorCode inputError, ApodErrorCode httpResponseError, ApodStatusCode expectedStatusCode) { var startDate = default(DateTime); var endDate = default(DateTime); InputHasError(inputError); HttpResponseHasError(httpResponseError); var actualStatusCode = (await _client.FetchApodAsync(startDate, endDate)).StatusCode; Assert.Equal(expectedStatusCode, actualStatusCode); }
public void ToApodResponse_CorrectApodResponse(ApodErrorCode errorCode, string errorMessage) { var error = new ApodError(errorCode, errorMessage); var expected = new ApodResponse(ApodStatusCode.Error, error: error); var actual = error.ToApodResponse(); Assert.Equal(expected.StatusCode, actual.StatusCode); Assert.Equal(expected.Error.ErrorCode, actual.Error.ErrorCode); Assert.Equal(expected.Error.ErrorMessage, actual.Error.ErrorMessage); Assert.Null(actual.Content); Assert.Null(actual.AllContent); }
private void HttpResponseHasError(ApodErrorCode errorCode) { var error = new ApodError(errorCode); _errorHandler .Setup(x => x.ValidateHttpResponseAsync(It.IsAny <HttpResponseMessage>())) .ReturnsAsync(() => error); if (errorCode is ApodErrorCode.None) { var apodResponse = new ApodResponse(ApodStatusCode.OK); _httpResponseParser .Setup(x => x.ParseSingleApodAsync(It.IsAny <HttpResponseMessage>())) .ReturnsAsync(() => apodResponse); _httpResponseParser .Setup(x => x.ParseMultipleApodsAsync(It.IsAny <HttpResponseMessage>())) .ReturnsAsync(() => apodResponse); } }
/// <summary> /// The default constructor for an <see cref="ApodError"/>. /// </summary> /// <remarks> /// Unless you are overriding internal behaviour, you should not need to call this constructor. /// </remarks> /// <param name="errorCode">The <see cref="ErrorCode"/> value.</param> /// <param name="errorMessage">The <see cref="ErrorMessage"/> value.</param> public ApodError(ApodErrorCode errorCode, string errorMessage = "") { ErrorCode = errorCode; ErrorMessage = errorMessage; }