Esempio n. 1
0
        public async Task When_response_is_successful_Should_return_correct_result()
        {
            // arrange
            var translatorResponse = new TranslatorResponse
            {
                SuccessfulTranslationsCount = new SuccessfulTranslationsCount
                {
                    Total = 1
                },
                Contents = new TranslationContents
                {
                    OriginalText   = "text",
                    TranslatedText = "translated text"
                }
            };
            var restCLientMock = new Mock <IRestClient>();

            restCLientMock
            .Setup(x => x.ExecuteAsync(It.IsAny <IRestRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new RestResponse {
                StatusCode = HttpStatusCode.OK, Content = JsonConvert.SerializeObject(translatorResponse), ResponseStatus = ResponseStatus.Completed
            });
            var client = new FunTranslationsApiClient("http://localhost", restCLientMock.Object);

            // act
            var result = await client.GetTranslation("text");

            // assert
            result.Should().Be("translated text");
        }
Esempio n. 2
0
        public void When_response_is_error_Should_throw_correct_exception()
        {
            // arrange
            var restCLientMock = new Mock <IRestClient>();

            restCLientMock
            .Setup(x => x.ExecuteAsync(It.IsAny <IRestRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new RestResponse {
                StatusCode = HttpStatusCode.InternalServerError, ResponseStatus = ResponseStatus.Completed
            });
            var client = new FunTranslationsApiClient("http://localhost", restCLientMock.Object);

            // act
            Func <Task> func = () => client.GetTranslation("");

            // assert
            func.Should().Throw <ApiClientException>();
        }