コード例 #1
0
        public async Task GetOptions_ProductExists()
        {
            //Arrange
            var productRepository = new Mock <IAsyncRepository <ProductAggregate.Product> >();

            productRepository.Setup(repo => repo.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(MockObjects.Product.GetProduct_WithOptions())
            .Verifiable();


            var productOptionsRepository = new Mock <IAsyncRepository <ProductAggregate.ProductOption> >();

            var controlller = new ProductOptionsController(productRepository.Object, productOptionsRepository.Object);

            //Act
            var result = await controlller.GetOptionsAsync(new Guid());

            //Assert
            var okObjectResult = result as OkObjectResult;


            var productOptions = okObjectResult.Value as List <Messages.ProductOption>;


            productRepository.Verify();
            Assert.NotNull(okObjectResult);
            Assert.NotNull(productOptions);
            Assert.NotEmpty(productOptions);
        }
コード例 #2
0
        public async Task GetOptions_ProductExistsOptionsDoNotExist()
        {
            //Arrange
            var productRepository = new Mock <IAsyncRepository <ProductAggregate.Product> >();

            productRepository.Setup(repo => repo.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(MockObjects.Product.GetProduct())
            .Verifiable();


            var productOptionsRepository = new Mock <IAsyncRepository <ProductAggregate.ProductOption> >();

            var controlller = new ProductOptionsController(productRepository.Object, productOptionsRepository.Object);

            //Act
            var result = await controlller.GetOptionsAsync(new Guid());

            //Assert
            var notFoundResult = result as NotFoundResult;

            productRepository.Verify();
            Assert.NotNull(notFoundResult);
            Assert.Equal(StatusCodes.Status404NotFound, notFoundResult.StatusCode);
        }