Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
 /// <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;
 }