public void AddBrand_With_Correct_Parameter() { //ARRANGE var options = new DbContextOptionsBuilder <FleetManagmentContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FleetManagmentContext(options); IBrandRepository brandRepository = new BrandRepository(context); BrandTO brand = new BrandTO { Cars = new List <CarTO>(), Models = new List <ModelTO>(), Name = "VW", }; BrandTO brand2 = new BrandTO { Cars = new List <CarTO>(), Models = new List <ModelTO>(), Name = "Audi", }; //ACT var addedBrand = brandRepository.Insert(brand); var addedBrand2 = brandRepository.Insert(brand2); context.SaveChanges(); //ASSERT Assert.IsNotNull(addedBrand); Assert.AreNotEqual(0, addedBrand.Id); Assert.AreEqual("VW", addedBrand.Name); }
public void UpdapteBrand_With_Correct_Parameter() { //ARRANGE var options = new DbContextOptionsBuilder <FleetManagmentContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FleetManagmentContext(options); IBrandRepository brandRepository = new BrandRepository(context); BrandTO brand = new BrandTO { Name = "VW" }; //ACT var addedBrand = brandRepository.Insert(brand); context.SaveChanges(); addedBrand.Name = "Ferrari"; brandRepository.Update(addedBrand); context.SaveChanges(); //ASSERT Assert.IsNotNull(addedBrand); Assert.AreNotEqual(0, addedBrand.Id); Assert.AreEqual("Ferrari", addedBrand.Name); }
public bool Remove(BrandTO entity) { if (entity is null) { throw new ArgumentException(nameof(entity)); } return(RemoveById(entity.Id)); }
public BrandTO Insert(BrandTO entity) { if (entity is null) { throw new ArgumentNullException(nameof(entity)); } return(context.Brands.Add(entity.ToEntity()).Entity.ToTransfertObject()); }
public BrandTO Update(BrandTO entity) { if (entity is null) { throw new ArgumentException(nameof(entity)); } var modified = context.Brands.FirstOrDefault(b => b.Id == entity.Id); modified.Cars = entity.Cars?.Select(c => c.ToEntity()).ToList(); modified.Models = entity.Models?.Select(c => c.ToEntity()).ToList(); modified.Name = entity.Name; return(modified.ToTransfertObject()); }
public static Brand ToEntity(this BrandTO brand) { if (brand is null) { throw new ArgumentNullException(nameof(brand)); } return(new Brand { Id = brand.Id, Name = brand.Name, Cars = brand.Cars?.Select(c => c.ToEntity()).ToList(), Models = brand.Models?.Select(m => m.ToEntity()).ToList() }); }
public static Brand ToDomain(this BrandTO brand) { if (brand is null) { throw new ArgumentNullException(nameof(brand)); } return(new Brand { Id = brand.Id, Cars = brand.Cars?.Select(x => x.ToDomain()).ToList(), Models = brand.Models?.Select(x => x.ToDomain()).ToList(), Name = brand.Name }); }
public void Get_All_Brand() { var options = new DbContextOptionsBuilder <FleetManagmentContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FleetManagmentContext(options); IBrandRepository brandRepository = new BrandRepository(context); BrandTO brand = new BrandTO { Cars = new List <CarTO>(), Models = new List <ModelTO>(), Name = "VW", }; BrandTO brand2 = new BrandTO { Cars = new List <CarTO>(), Models = new List <ModelTO>(), Name = "Audi", }; List <BrandTO> brands = new List <BrandTO>(); //ACT var addedBrand = brandRepository.Insert(brand); var addedBrand2 = brandRepository.Insert(brand2); context.SaveChanges(); brands = brandRepository.GetAll().ToList(); //ASSERT Assert.IsNotNull(addedBrand); Assert.AreNotEqual(0, addedBrand.Id); Assert.AreEqual("VW", addedBrand.Name); Assert.AreEqual(2, brands.Count); }
public void AddBrand_ThrowsException_WhenNullIsProvided() { var options = new DbContextOptionsBuilder <FleetManagmentContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new FleetManagmentContext(options); IBrandRepository brandRepository = new BrandRepository(context); BrandTO brand = new BrandTO { Id = 1, Cars = new List <CarTO>(), Models = new List <ModelTO>(), Name = "VW", }; //ACT var addedBrand = brandRepository.Insert(brand); context.SaveChanges(); //ASSERT Assert.ThrowsException <ArgumentNullException>(() => brandRepository.Insert(null)); }