public async Task Index_sucesso() { //arrange IList <Produto> fakeProdutos = GetFakeProdutos(); catalogoServiceMock .Setup(s => s.GetProdutos()) .ReturnsAsync(fakeProdutos) .Verifiable(); var catalogoController = new CatalogoController(catalogoServiceMock.Object, loggerMock.Object, userRedisRepositoryMock.Object); //act var resultado = await catalogoController.Index(); //assert var viewResult = Assert.IsType <ViewResult>(resultado); var model = Assert.IsAssignableFrom <IList <Produto> >(viewResult.ViewData.Model); Assert.Collection(model, item => Assert.Equal(fakeProdutos[0].Codigo, item.Codigo), item => Assert.Equal(fakeProdutos[1].Codigo, item.Codigo), item => Assert.Equal(fakeProdutos[2].Codigo, item.Codigo) ); catalogoServiceMock.Verify(); }
public async Task Adicionar_SucessTestAsync() { var produto = ProdutoMock.ProdutoModelFaker.Generate(); _produtoServiceMock.Setup(x => x.AddAsync(produto)) .Returns(Task.FromResult(ProdutoMock.ProdutoModelFaker.Generate())); var catalogoController = new CatalogoController(_produtoServiceMock.Object, _produtoRepositoryMock.Object, _notifier.Object); var catalogoService = await catalogoController.Adicionar(produto); var actionResult = Assert.IsType <OkObjectResult>(catalogoService.Result); Assert.Equal(StatusCodes.Status200OK, actionResult.StatusCode); }
public async Task GetAll_SucessTestAsync() { _produtoRepositoryMock.Setup(x => x.GetAllAsync()) .ReturnsAsync(ProdutoMock.ProdutoModelFaker.Generate(3)); var catalogoController = new CatalogoController(_produtoServiceMock.Object, _produtoRepositoryMock.Object, _notifier.Object); var catalogoRepository = await catalogoController.GetAll(); var actionResult = Assert.IsType <OkObjectResult>(catalogoRepository.Result); var actionValue = Assert.IsAssignableFrom <IEnumerable <Produto> >(actionResult.Value); Assert.NotNull(actionResult); Assert.Equal(StatusCodes.Status200OK, actionResult.StatusCode); }
public async Task GetDetails_SucessTestAsync() { var produtoId = ProdutoMock.ProdutoModelFaker.Generate(); _produtoRepositoryMock.Setup(x => x.GetByIdAsync(produtoId.Id)) .ReturnsAsync(ProdutoMock.ProdutoModelFaker.Generate()); var catalogoController = new CatalogoController(_produtoServiceMock.Object, _produtoRepositoryMock.Object, _notifier.Object); var catalogoRepository = await catalogoController.GetDetails(produtoId.Id); var actionResult = Assert.IsType <OkObjectResult>(catalogoRepository.Result); var actionValue = Assert.IsType <Produto>(actionResult.Value); Assert.NotNull(actionResult); Assert.Equal(StatusCodes.Status200OK, actionResult.StatusCode); }
public async Task Index_Exception() { //arrange catalogoServiceMock .Setup(s => s.GetProdutos()) .ThrowsAsync(new Exception()); //act var catalogoController = new CatalogoController(catalogoServiceMock.Object, loggerMock.Object, userRedisRepositoryMock.Object); var result = await catalogoController.Index(); var model = result as IList <Produto>; //assert Assert.Null(model); Assert.True(!string.IsNullOrWhiteSpace(catalogoController.ViewBag.MsgServicoIndisponivel)); }