public async Task <ActionResult <CarAdvert> > PostCarAdvert(CarAdvert carAdvert) { _context.CarAdverts.Add(carAdvert); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCarAdvert", new { id = carAdvert.Id }, carAdvert)); }
public async Task <IActionResult> PutCarAdvert(int id, CarAdvert carAdvert) { if (id != carAdvert.Id) { return(BadRequest()); } _context.Entry(carAdvert).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CarAdvertExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void TestValidGetId() { var carAdvert = new CarAdvert() { Id = 1, Title = "Audi", Price = 1500, Fuel = FuelType.Diesel, IsNew = true }; var vm = Substitute.For <IViewModel <CarAdvert> >(); vm.Get(Arg.Any <int>()).Returns(c => carAdvert); var controller = new CarAdvertController(vm, CreateMappings()); var result = controller.Get(1) as OkNegotiatedContentResult <CarAdvertDto>; Assert.IsNotNull(result); var item = result.Content; Assert.AreEqual(item.Id, 1); Assert.AreEqual(item.Title, "Audi"); Assert.AreEqual(item.Price, 1500); Assert.AreEqual(item.Fuel, "diesel"); Assert.AreEqual(item.New, true); }
public void TestValidCreate() { using (var connection = Effort.DbConnectionFactory.CreateTransient()) { // arrange var dbContext = new CarAdvertDbContext(connection, false); var dbContextProvider = Substitute.For <IDbContextProvider>(); dbContextProvider.Provide().Returns(p => dbContext); using (var unitOfWork = new DbContextUnitOfWork(dbContextProvider)) { var carAdvert = new CarAdvert() { Title = "Audi", Price = 1500, IsNew = true }; var repository = new CarAdvertRepository(unitOfWork); // act repository.Create(carAdvert); unitOfWork.Commit(); // assert var item = dbContext.CarAdverts.Single(); Assert.AreEqual(item.Title, carAdvert.Title); Assert.AreEqual(item.Price, carAdvert.Price); Assert.AreEqual(item.IsNew, carAdvert.IsNew); } } }
public void TestValidGetById() { using (var connection = Effort.DbConnectionFactory.CreateTransient()) { // arrange var dbContext = new CarAdvertDbContext(connection, false); var carAdvert = new CarAdvert() { Title = "Audi", Price = 1500, IsNew = true }; dbContext.CarAdverts.Add(carAdvert); dbContext.SaveChanges(); var unitOfWork = Substitute.For <IUnitOfWork>(); unitOfWork.ProvideContext <CarAdvertDbContext>().Returns(p => dbContext); var repository = new CarAdvertRepository(unitOfWork); // act var item = repository.Get(carAdvert.Id); // assert Assert.AreEqual(item.Title, carAdvert.Title); Assert.AreEqual(item.Price, carAdvert.Price); Assert.AreEqual(item.IsNew, carAdvert.IsNew); } }
public void TestValidDelete() { using (var connection = Effort.DbConnectionFactory.CreateTransient()) { // arrange var dbContext = new CarAdvertDbContext(connection, false); var carAdvert = new CarAdvert() { Title = "Audi", Price = 1500, IsNew = true }; dbContext.CarAdverts.Add(carAdvert); dbContext.SaveChanges(); var dbContextProvider = Substitute.For <IDbContextProvider>(); dbContextProvider.Provide().Returns(p => dbContext); using (var unitOfWork = new DbContextUnitOfWork(dbContextProvider)) { var repository = new CarAdvertRepository(unitOfWork); var carAdvertToDelete = repository.Get(carAdvert.Id); // act repository.Delete(carAdvertToDelete); unitOfWork.Commit(); // assert var isAny = dbContext.CarAdverts.Any(); Assert.IsFalse(isAny); } } }
public async Task Update(CarAdvertDto obj) { await _validator.ValidateAndThrowAsync(obj); CarAdvert entity = Mapper <CarAdvert, CarAdvertDto> .Map(obj); await _carAdvertRepository.UpdateAsync(entity); }
public async Task <int> Add(CarAdvertDto obj) { await _validator.ValidateAndThrowAsync(obj); CarAdvert entity = Mapper <CarAdvert, CarAdvertDto> .Map(obj); return(await _carAdvertRepository.InsertAsync(entity)); }
public void Update(CarAdvert carAdvert) { if (carAdvert == null) { throw new ArgumentNullException(nameof(carAdvert)); } context.Entry(carAdvert).State = EntityState.Modified; context.SaveChanges(); }
public async Task Delete(int id) { CarAdvert entity = await _carAdvertRepository.GetAsync(id); if (entity == null) { throw new ArgumentException($"There is no advert with id {id}"); } await _carAdvertRepository.DeleteAsync(entity); }
public CarAdvert Add(CarAdvert carAdvert) { if (carAdvert == null) { throw new ArgumentNullException(nameof(carAdvert)); } var result = context.CarAdverts.Add(carAdvert); context.SaveChanges(); return(result.Entity); }
public void TestMapCarAdvertToDto_NewCar() { var mapper = AutoMapperConfig.Create(); var carAdvert = new CarAdvert() { Id = 1, Title = "Audi", Price = 1500, Fuel = FuelType.Diesel, IsNew = true }; var dto = mapper.Map <CarAdvertDto>(carAdvert); Assert.AreEqual(dto.Id, 1); Assert.AreEqual(dto.Title, "Audi"); Assert.AreEqual(dto.Price, 1500); Assert.AreEqual(dto.Fuel, "diesel"); Assert.AreEqual(dto.New, true); }
public void TestMapCarAdvertToDto_UsedCar() { var mapper = AutoMapperConfig.Create(); var carAdvert = new CarAdvert() { Id = 1, Title = "Audi", Price = 1500, Fuel = FuelType.Diesel, IsNew = false, Mileage = 14000, FirstRegistration = DateTime.Now }; var dto = mapper.Map <CarAdvertDto>(carAdvert); Assert.AreEqual(dto.Id, 1); Assert.AreEqual(dto.Title, "Audi"); Assert.AreEqual(dto.Price, 1500); Assert.AreEqual(dto.Fuel, "diesel"); Assert.AreEqual(dto.New, false); Assert.AreEqual(dto.Mileage, 14000); Assert.AreEqual(dto.FirstRegistration, DateTime.Now.Date); }