Esempio n. 1
0
        public async Task CreateAsyncGenericShouldIncreaseCountUsingMoq()
        {
            AutoMapperConfig.RegisterMappings(typeof(ErrorViewModel).GetTypeInfo().Assembly);

            var repository = new Mock <IDeletableEntityRepository <Supplier> >();

            var suppliers = new List <Supplier>
            {
                new Supplier {
                    Id = 1, Name = "TestName1", PriceToHome = 25, PriceToOffice = 30
                },
            };

            repository.Setup(r => r.AddAsync(It.IsAny <Supplier>())).Callback((Supplier item) => suppliers.Add(item));
            repository.Setup(r => r.SaveChangesAsync()).Verifiable();

            var service = new SuppliersService(repository.Object);
            var model   = new CreateSupplierInputViewModel
            {
                Name          = "TestName2",
                PriceToHome   = 35,
                PriceToOffice = 40,
            };
            await service.CreateAsync(model);

            Assert.Equal(2, suppliers.Count);

            repository.Verify(x => x.AddAsync(It.IsAny <Supplier>()), Times.Once);
            repository.Verify(x => x.SaveChangesAsync());
        }
Esempio n. 2
0
        public async Task CreateAsyncGenericShouldMapCorrectlyWhenThereIsDefaultSupplierUsingMoq()
        {
            AutoMapperConfig.RegisterMappings(typeof(ErrorViewModel).GetTypeInfo().Assembly);

            var repository = new Mock <IDeletableEntityRepository <Supplier> >();

            var suppliers = new List <Supplier>
            {
                new Supplier {
                    Id = 1, Name = "TestName1", PriceToHome = 25, PriceToOffice = 30, IsDefault = true
                },
            };

            repository.Setup(r => r.AllAsNoTracking()).Returns(suppliers.AsQueryable());
            repository.Setup(r => r.AddAsync(It.IsAny <Supplier>())).Callback((Supplier item) => suppliers.Add(item));
            repository.Setup(r => r.SaveChangesAsync()).Verifiable();

            var service = new SuppliersService(repository.Object);
            var model   = new CreateSupplierInputViewModel
            {
                Name          = "TestName2",
                PriceToHome   = 35,
                PriceToOffice = 40,
            };
            await service.CreateAsync(model);

            Assert.Equal("TestName2", suppliers.Last().Name);
            Assert.Equal(35, suppliers.Last().PriceToHome);
            Assert.Equal(40, suppliers.Last().PriceToOffice);
            Assert.False(suppliers.Last().IsDefault);

            repository.Verify(x => x.AddAsync(It.IsAny <Supplier>()), Times.Once);
            repository.Verify(x => x.SaveChangesAsync());
        }
Esempio n. 3
0
        public async Task <IActionResult> Create(CreateSupplierInputViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            await this.suppliersService.CreateAsync <CreateSupplierInputViewModel>(model);

            this.TempData["Alert"] = "Successfully created supplier.";

            return(this.RedirectToAction(nameof(this.All)));
        }