示例#1
0
        public static async Task <string> GetQuoteAsync()
        {
            int    status;
            string body;

            using (HttpResponseMessage response = await QuoteController.GetQuote())
            {
                status = (int)response.StatusCode;
                body   = await response.Content.ReadAsStringAsync();
            }

            if (status == 200)
            {
                return(body);
            }
            else if (status == 400)
            {
                throw new Exception(body);
            }
            else if (status == 500)
            {
                throw new ServerException();
            }
            else
            {
                throw new Exception("Uncaught status code");
            }
        }
        public async Task GetQuote_NotFoundStatusCode_WithInvalidId()
        {
            // Arrange
            var controller = new QuoteController(_context, _logger);

            // Act
            var result = await controller.GetQuote(12);

            //Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task GetQuote_OkStatusCode_WithValidId()
        {
            // Arrange
            var controller = new QuoteController(_context, _logger);

            // Act
            var result = await controller.GetQuote(1);

            var okResult = result as OkObjectResult;
            var quote    = okResult.Value as QuoteDTO;

            //Assert
            Assert.NotNull(okResult);
            Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode);
            Assert.Equal(1, quote.Id);
            Assert.Equal("Aldo Baglio", quote.Actor);
            Assert.Equal("E voi chi minchia siete?", quote.Content);
            Assert.Equal("La leggenda di Al, John e Jack", quote.Movie);
            Assert.Equal(2002, quote.Year);
        }