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); }
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); }