public async Task <IActionResult> Create(VehicleCreateInputModel inputModel) { if (!this.ModelState.IsValid) { return(this.View(inputModel)); } if (this.vehiclesService.VihicleExists(inputModel.VIN)) { var errorModel = new ErrorViewModel() { Message = "This vehicle already exists in database." }; return(this.View("../Shared/Error", errorModel)); } var currentUser = await this.userManager.GetUserAsync(this.HttpContext.User); var newVehicle = Mapper.Map <Vehicle>(inputModel); newVehicle.OwnerId = currentUser.ClientId; await this.vehiclesService.Create(newVehicle); int id = newVehicle.Id; return(this.RedirectToAction("Details", new { id })); }
public async Task GetAllAsyncReturnsCorrect() { var id = 1; var first = new Vehicle { Id = id, Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2254TX", }; var expected = new List <Vehicle>(); expected.Add(first); var add = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; var result = await this.VehiclesServiceMock.CreateAsync(add); var actual = await this.VehiclesServiceMock.GetAllAsync <VehicleCreateViewModel>().ToListAsync(); Assert.Equal(expected.Count, actual.Count()); }
public async Task GetByAsyncReturnsCorrect() { var id = 2; var first = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; await this.VehiclesServiceMock.CreateAsync(first); var second = new VehicleCreateInputModel { Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var result = await this.VehiclesServiceMock.CreateAsync(second); var actual = await this.VehiclesServiceMock.GetByIdAsync <VehicleCreateViewModel>(id); Assert.Equal(second.RegistrationNumber, actual.RegistrationNumber); }
public async Task GetVehicleNames() { var first = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; await this.VehiclesServiceMock.CreateAsync(first); var second = new VehicleCreateInputModel { Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var result = await this.VehiclesServiceMock.CreateAsync(second); await this.VehiclesServiceMock.DeleteByIdAsync(1); var actual = await this.VehiclesServiceMock.GetVehicleNames(); Assert.Single(actual); Assert.Contains(actual, x => x.Text == result.RegistrationNumber); }
public async Task DeleteByIdAsyncReturnsCorrect() { var id = 2; var first = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; await this.VehiclesServiceMock.CreateAsync(first); var second = new VehicleCreateInputModel { Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var result = await this.VehiclesServiceMock.CreateAsync(second); var result1 = await this.VehiclesServiceMock.DeleteByIdAsync(id); var actual = await this.VehiclesServiceMock.GetAllAsync <VehicleDeleteViewModel>().ToListAsync(); Assert.DoesNotContain(actual, x => x.Id == id); }
public async Task EditByIdAsyncithWrongIdReturnsError() { var id = 3; var first = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; await this.VehiclesServiceMock.CreateAsync(first); var second = new VehicleCreateInputModel { Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var result = await this.VehiclesServiceMock.CreateAsync(second); var editModel = await this.VehiclesServiceMock.GetByIdAsync <VehicleEditViewModel>(id); var edit = new VehicleEditInputModel { Make = "OpelEdited", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var exception = await Assert.ThrowsAsync <NullReferenceException>(() => this.VehiclesServiceMock.EditByIdAsync(id, edit)); Assert.Equal(string.Format(string.Format(VehicleConstants.NullReferenceId, id)), exception.Message); }
public async Task <VehicleCreateViewModel> CreateAsync(VehicleCreateInputModel vehicleFromView) { var vehicleToDb = vehicleFromView.To <Vehicle>(); await this.vehicleRepository.AddAsync(vehicleToDb); await this.vehicleRepository.SaveChangesAsync(); return(vehicleToDb.To <VehicleCreateViewModel>()); }
public async Task <IActionResult> Create(VehicleCreateInputModel vehicleCreate) { if (!this.ModelState.IsValid) { return(this.View(AutoMapper.Mapper.Map <VehicleCreateViewModel>(vehicleCreate))); } var checkForRegistrationNumber = await this.vehiclesService .GetAllAsync <VehicleCreateViewModel>() .FirstOrDefaultAsync(x => x.RegistrationNumber == vehicleCreate.RegistrationNumber); // If customer with phone number exists return existing view model if (checkForRegistrationNumber != null) { this.ModelState.AddModelError(nameof(vehicleCreate.RegistrationNumber), string.Format(VehicleConstants.ArgumentExceptionRegistrationNumber, vehicleCreate.RegistrationNumber)); return(this.View(AutoMapper.Mapper.Map <VehicleCreateViewModel>(vehicleCreate))); } var result = await this.vehiclesService.CreateAsync(vehicleCreate); return(this.RedirectToAction(nameof(this.Index))); }
public async Task EditByIdAsyncReturnsCorrect() { var id = 2; var first = new VehicleCreateInputModel { Make = "Mazda", Model = "Z6", RegistrationNumber = "CA5554TX", }; await this.VehiclesServiceMock.CreateAsync(first); var second = new VehicleCreateInputModel { Make = "Opel", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var result = await this.VehiclesServiceMock.CreateAsync(second); var editModel = await this.VehiclesServiceMock.GetByIdAsync <VehicleEditViewModel>(id); var edit = new VehicleEditInputModel { Make = "OpelEdited", Model = "Corsa", RegistrationNumber = "CA2222TX", }; var actual = await this.VehiclesServiceMock.EditByIdAsync(editModel.Id, edit); var vehicles = await this.DbContext.Vehicles.ToListAsync(); Assert.Equal(edit.Make, actual.Make); Assert.Contains(vehicles, x => x.Make == edit.Make); }