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();
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 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);
     }
 }