コード例 #1
0
        public void ListStockItems_LastPage()
        {
            // Arrange
            var mockLogger = new Mock <ILogger <StockItemsController> >();
            var mockRepo   = new Mock <IStockRepository>();

            mockRepo.Setup(repo => repo.ListStockItems(125, 1, 4)).Returns(predefinedStockItems);

            var test = new StockItemsController(mockLogger.Object, mockRepo.Object)
            {
                ControllerContext = new ControllerContext()
                {
                    HttpContext = new DefaultHttpContext()
                }
            };

            test.HttpContext.Request.Scheme = "https";
            test.HttpContext.Request.Host   = new HostString("api.example.com");

            // Act
            var actual = test.ListStockItems(125, new ListStockRequest()
            {
                PageSize = 4, PageToken = 1
            });

            // Assert
            CollectionAssert.AreEqual(predefinedStockItems, actual.Value.StockItems);
            //Assert.AreEqual(null, actual.Value.NextPage);
            Assert.IsNull(actual.Value.NextPage);
        }
コード例 #2
0
        public void ListStockItems_InvalidPageToken()
        {
            // Arrange
            var mockLogger = new Mock <ILogger <StockItemsController> >();
            var mockRepo   = new Mock <IStockRepository>();
            var test       = new StockItemsController(mockLogger.Object, mockRepo.Object);

            // Act
            var actual = test.ListStockItems(125, new ListStockRequest()
            {
                PageSize = 4, PageToken = -1
            });
            var result = actual.Result as ObjectResult;

            // Assert
            Assert.AreEqual(StatusCodes.Status400BadRequest, result.StatusCode);
            // ou Assert.IsInstanceOf<BadRequestObjectResult>(actual.Result);
        }