public async Task GetAllElectricScooterByType() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("get_all_by_type").Options; var dbContext = new ApplicationDbContext(options); var imageService = new ImageService(dbContext); var electricScooterService = new ElectricScooterService(dbContext, imageService); AutoMapperConfig.RegisterMappings(typeof(ElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly); var scooter1 = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var scooter2 = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var addedBycicle1 = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1); var addedBycicle2 = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter2); var scooter = electricScooterService.GetAllByType <ElectricScooterViewModel>(string.Empty, false); Assert.Equal(2, scooter.ToList().Count); }
public async Task EditEScooterShouldEdit() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Edit").Options; var dbContext = new ApplicationDbContext(options); var imageService = new ImageService(dbContext); var electricScooterService = new ElectricScooterService(dbContext, imageService); AutoMapperConfig.RegisterMappings(typeof(EditElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly); var addModel = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var addedScooter = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(addModel); var editModel = new EditElectricScooterViewModel() { Made = "Edited", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; await electricScooterService.DoEdit <EditElectricScooterViewModel>(editModel); var editedModel = electricScooterService.EditDetails <EditElectricScooterViewModel>(addedScooter); Assert.Equal("Edited", editModel.Made); }
public async Task AddImageToScooter() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("add_image").Options; var dbContext = new ApplicationDbContext(options); var imageService = new ImageService(dbContext); var electricScooterService = new ElectricScooterService(dbContext, imageService); AutoMapperConfig.RegisterMappings(typeof(ElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly); AutoMapperConfig.RegisterMappings(typeof(EditElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly); var scooter1 = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var imagePath = "Test"; var scooter = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1); await electricScooterService.AddImageUrls(scooter, imagePath); var result = electricScooterService.EditDetails <ElectricScooterViewModel>(scooter); Assert.Equal(imagePath, result.ImageUrl); }
public async Task DeleteScooter() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("delete_bicycle").Options; var dbContext = new ApplicationDbContext(options); var imageService = new ImageService(dbContext); var electricScooterService = new ElectricScooterService(dbContext, imageService); AutoMapperConfig.RegisterMappings(typeof(AddElectricScooterViewModel).Assembly, typeof(ElectricScooter).Assembly); var scooter1 = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var scooter = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(scooter1); await electricScooterService.Delete(scooter); var bycicles = electricScooterService.GetAll <ElectricScooterViewModel>(false); Assert.Empty(bycicles.ToList()); }
public IActionResult AddElectricScooter(AddElectricScooterViewModel offer) { var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); if (!ModelState.IsValid) { return(this.View(new AddElectricScooterViewModel(dbContext))); } this.offerService.AddElectricScooter(offer, userId); return(this.Redirect("/ElectricScooters/AllElectricScooters")); }
public async Task <IActionResult> Add(AddElectricScooterViewModel input) { if (!this.ModelState.IsValid) { return(this.View()); } var electricScooterId = await this.elecitrcScooterService.AddVehicle <AddElectricScooterViewModel>(input); if (input.Image != null) { await this.imageService.UploadImage(input.Image, string.Format(GlobalConstants.IMAGEPATH, IMAGE, electricScooterId)); await this.elecitrcScooterService.AddImageUrls(electricScooterId, string.Format(GlobalConstants.IMAGEPATH, IMAGE, electricScooterId)); } return(this.Redirect(ALLPATH)); }
public async Task AddEScooterTests() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase("Add").Options; var dbContext = new ApplicationDbContext(options); var imageService = new ImageService(dbContext); var electricScooterService = new ElectricScooterService(dbContext, imageService); var model = new AddElectricScooterViewModel() { Made = "Xiomi", MaximumSpeed = 35, Mileage = 35, PriceForHour = 2.00M, Description = "Test", }; var electricScooterTest = await electricScooterService.AddVehicle <AddElectricScooterViewModel>(model); Assert.Equal(1, electricScooterTest); }
public void AddElectricScooter(AddElectricScooterViewModel addScooterViewModel, string userId) { var offer = new ElectricScooterOffer() { Title = addScooterViewModel.Title, Make = addScooterViewModel.Make, Model = addScooterViewModel.Model, Year = addScooterViewModel.Year, Price = addScooterViewModel.Price, MaxSpeedAchievable = addScooterViewModel.MaxSpeedAchievable, Battery = addScooterViewModel.Battery, MaxWeight = addScooterViewModel.MaxWeight, MotorPower = addScooterViewModel.MotorPower, ScooterSize = addScooterViewModel.ScooterSize, TiresSize = addScooterViewModel.TiresSize, TravellingDistance = addScooterViewModel.TravellingDistance, WaterproofLevel = addScooterViewModel.WaterproofLevel, Condition = addScooterViewModel.Condition, Kilometers = addScooterViewModel.Kilometers, Description = addScooterViewModel.Description, ContactNumber = addScooterViewModel.ContactNumber, CreatedOn = DateTime.UtcNow, }; using (var target = new MemoryStream()) { addScooterViewModel.MainImageFile.CopyTo(target); offer.OfferImage = target.ToArray(); } var user = dbContext.AspNetUsers.FirstOrDefault(x => x.Id == userId); offer.User = user; offer.UserId = userId; dbContext.ElectricScooterOffers.Add(offer); dbContext.SaveChanges(); var offerType = "ElectricScooterOffer"; if (addScooterViewModel.SecondImageFile != null) { using (var target = new MemoryStream()) { addScooterViewModel.SecondImageFile.CopyTo(target); var offerImage = GetOfferImage(target, offer.Id, offerType); dbContext.OfferImages.Add(offerImage); } } if (addScooterViewModel.ThirdImageFile != null) { using (var target = new MemoryStream()) { addScooterViewModel.ThirdImageFile.CopyTo(target); var offerImage = GetOfferImage(target, offer.Id, offerType); dbContext.OfferImages.Add(offerImage); } } if (addScooterViewModel.FourthImageFile != null) { using (var target = new MemoryStream()) { addScooterViewModel.FourthImageFile.CopyTo(target); var offerImage = GetOfferImage(target, offer.Id, offerType); dbContext.OfferImages.Add(offerImage); } } if (addScooterViewModel.FifthImageFile != null) { using (var target = new MemoryStream()) { addScooterViewModel.FifthImageFile.CopyTo(target); var offerImage = GetOfferImage(target, offer.Id, offerType); dbContext.OfferImages.Add(offerImage); } } if (addScooterViewModel.SixthImageFile != null) { using (var target = new MemoryStream()) { addScooterViewModel.SixthImageFile.CopyTo(target); var offerImage = GetOfferImage(target, offer.Id, offerType); dbContext.OfferImages.Add(offerImage); } } dbContext.SaveChanges(); }