public async Task UpdateAsync_WithNonExistentId_ReturnsFalse() { // Arrange var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarManufacturers.AddRange( new CarManufacturer { Name = "OtherManufacturer1" }, new CarManufacturer { Name = "OtherManufacturer2" }); context.SaveChanges(); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); var serviceModel = new CarManufacturerServiceModel { Id = Guid.NewGuid().ToString(), Name = "TestName" }; // Act var result = await manufacturersService.UpdateAsync(serviceModel); // Assert Assert.False(result); }
public async Task CreateAsync_WithValidModel_WorksCorrectly() { // Arrange const string testName = "TestName"; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); var serviceModel = new CarManufacturerServiceModel { Name = testName }; // Act var result = await manufacturersService.CreateAsync(serviceModel); // Assert Assert.True(result); var addedToDb = await context.CarManufacturers.AnyAsync(m => m.Name == testName); Assert.True(addedToDb); }
public async Task <bool> CreateAsync(CarManufacturerServiceModel model) { if (!this.IsEntityStateValid(model)) { return(false); } var carManufacturer = Mapper.Map <CarManufacturer>(model); await this.carManufacturersRepository.AddAsync(carManufacturer); await this.carManufacturersRepository.SaveChangesAsync(); return(true); }
public async Task UpdateAsync_WithInvalidModel_DoesNotChange() { // Arrange const string expectedResult = "InitialName"; var manufacturer = new CarManufacturer { Name = expectedResult }; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarManufacturers.AddRange( manufacturer, new CarManufacturer { Name = "OtherManufacturer1" }, new CarManufacturer { Name = "OtherManufacturer2" }); context.SaveChanges(); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); var serviceModel = new CarManufacturerServiceModel { Id = manufacturer.Id, Name = "a" }; // Act var result = await manufacturersService.UpdateAsync(serviceModel); // Assert Assert.False(result); var actualResult = (await context.CarManufacturers.SingleAsync(m => m.Id == manufacturer.Id)).Name; Assert.Equal(expectedResult, actualResult); }
public async Task CreateAsync_WithInvalidModel_WorksCorrectly() { // Arrange var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); var serviceModel = new CarManufacturerServiceModel(); // Act var result = await manufacturersService.CreateAsync(serviceModel); // Assert Assert.False(result); var dbCount = await context.CarManufacturers.CountAsync(); Assert.Equal(0, dbCount); }
public async Task <bool> UpdateAsync(CarManufacturerServiceModel model) { if (!this.IsEntityStateValid(model) || model.Id == null) { return(false); } var carManufacturer = await this.carManufacturersRepository.All().SingleOrDefaultAsync(c => c.Id == model.Id); if (carManufacturer == null) { return(false); } carManufacturer.Name = model.Name; this.carManufacturersRepository.Update(carManufacturer); await this.carManufacturersRepository.SaveChangesAsync(); return(true); }