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