public async Task GetAll_VegetableControllerTesting() { //Arrange var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new MappingProfile()); }); IMapper mapper = mockMapper.CreateMapper(); var discountService = new DiscountService(); var priceCalculationService = new PriceCalculationService(discountService, mapper); var repository = new Mock <IGenericRepository <Vegetable> >(); repository.Setup(r => r.GetAll()).ReturnsAsync(new List <Vegetable>() { new Vegetable() { Price = 4M } }); var serviceBuyItem = new BuyItemService <Vegetable>(mapper, repository.Object, priceCalculationService); var vegetablesController = new VegetablesController(mapper, repository.Object, serviceBuyItem); //Act var result = vegetablesController.GetAll(); //Assert result.Should().NotBeNull(); }
public void UnitTestVegList() { using (var context = new GroceryCartContext(DbOptionsFactory.DbContextOptions)) { // 1. Create instance of fake repo using IProductRepository interface. var mockVegRepo = new Mock <IVegRepository>(); // 2. Set up return data for ProductList() method. mockVegRepo.Setup(mpr => mpr.VegList()) .Returns(new List <Vegetables> { new Vegetables(), new Vegetables(), new Vegetables() }); // 3. Define controller instance with mock repository instance. var controller = new VegetablesController(context, mockVegRepo.Object); // 4. Make your test Assertions // Check if it returns a view var result = Assert.IsType <ViewResult>(controller.Index()); // Check that the model returned to the view is 'List<Product>'. var model = Assert.IsType <List <Vegetables> >(result.Model); // Ensure count of objects is 3. int expected = 3; int actual = model.Count; Assert.Equal(expected, actual); } }
public void IndexViewHas5Veggies() { using (var context = new GroceryCartContext(DbOptionsFactory.DbContextOptions)) { var veggiesRepository = new VegRepo(context); var controller = new VegetablesController(context, veggiesRepository); int expected = 5; var viewResult = Assert.IsType <ViewResult>(controller.Index()); var model = Assert.IsType <List <Vegetables> >(viewResult.Model); int actual = model.Count; Assert.Equal(expected, actual); } }