public CarDTO Map(RentalAreaViewModel selectedRentalArea, CarViewModel carViewModel, bool provideCustomPosition = false) { var dto = new CarDTO { Id = carViewModel.Id, Status = carViewModel.CarStatus, CurrentDistance = double.Parse(carViewModel.CurrentDistance), PricePerMinute = decimal.Parse(carViewModel.PricePerMinute), RegistrationNumber = carViewModel.RegistrationNumber, RentalAreaId = selectedRentalArea.Id, RentalAreaName = selectedRentalArea.Name, TotalDistance = double.Parse(carViewModel.TotalDistance) }; if (provideCustomPosition) { dto.CurrentLatitude = double.Parse(carViewModel.CurrentLatitude); dto.CurrentLongitude = double.Parse(carViewModel.CurrentLongitude); } else { var positionDto = _positionVewModelMapper.Map(selectedRentalArea.CarStartingPosition); dto.CurrentLatitude = positionDto.Latitude; dto.CurrentLongitude = positionDto.Longitude; } return(dto); }
public void ShouldSetErrorMessageIfFailedToSaveCar() { var sutSelectedCar = new CarViewModel { RentalAreaId = Guid.NewGuid(), Id = Guid.NewGuid(), PricePerMinute = "2.6", RegistrationNumber = "Kr1234", TotalDistance = "20" }; var sutSelectedRentalArea = new RentalAreaViewModel { Id = sutSelectedCar.RentalAreaId }; _carViewModelMapperMock.Map(sutSelectedRentalArea, sutSelectedCar).Returns(new CarDTO()); var message = "Error Message"; _carServiceMock.When(c => c.UpdateCar(Arg.Any <CarDTO>())).Do(c => throw new Exception(message)); var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock, _rentalAreaViewModelMapperMock); sut.SelectedCar = sutSelectedCar; sut.SelectedRentalArea = sutSelectedRentalArea; sut.SaveCarCommand.Execute(null); Assert.AreEqual(message, sut.SaveErrorContent); }
public void ShouldEditCarIfCarIsValid() { var sutSelectedCar = new CarViewModel { RentalAreaId = Guid.NewGuid(), Id = Guid.NewGuid(), PricePerMinute = "2.6", RegistrationNumber = "Kr1234", TotalDistance = "20" }; var sutSelectedRentalArea = new RentalAreaViewModel { Id = sutSelectedCar.RentalAreaId }; _carViewModelMapperMock.Map(sutSelectedRentalArea, sutSelectedCar).Returns(new CarDTO()); var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock, _rentalAreaViewModelMapperMock); sut.SelectedCar = sutSelectedCar; sut.SelectedRentalArea = sutSelectedRentalArea; sut.SaveCarCommand.Execute(null); _carServiceMock.Received().UpdateCar(Arg.Any <CarDTO>()); Assert.True(sut.IsCarListEnabled); Assert.Null(sut.SaveErrorContent); }
public void ShouldAddRentalAreasToComboBoxList() { var rentalAreaListDto = new List <RentalAreaDTO> { new RentalAreaDTO() }; var rentalAreaViewModel = new RentalAreaViewModel(); _rentalAreaServiceMock.GetAllRentalAreas().Returns(rentalAreaListDto); _rentalAreaViewModelMapperMock.Map(rentalAreaListDto[0]).Returns(rentalAreaViewModel); var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock, _rentalAreaViewModelMapperMock); Assert.AreEqual(1, sut.RentalAreas.Count); Assert.AreEqual(rentalAreaViewModel, sut.RentalAreas.First()); }
public RentalAreaDTO Map(RentalAreaViewModel rentalArea) { var result = new RentalAreaDTO { CarStartingPositionDTO = _positionVewModelMapper.Map(rentalArea.CarStartingPosition), Area = new List <PositionDTO>(), Id = rentalArea.Id, OutOfBondsPenaltyPerDistanceUnit = decimal.Parse(rentalArea.OutOfBondsPenaltyPerDistanceUnit), Name = rentalArea.Name }; foreach (var position in rentalArea.Area) { result.Area.Add(_positionVewModelMapper.Map(position)); } return(result); }
public RentalAreaViewModel Map(RentalAreaDTO rentalAreaDto) { var result = new RentalAreaViewModel { CarStartingPosition = _positionVewModelMapper.Map(rentalAreaDto.CarStartingPositionDTO), Area = new ObservableCollection <PositionViewModel>(), Id = rentalAreaDto.Id, OutOfBondsPenaltyPerDistanceUnit = $"{rentalAreaDto.OutOfBondsPenaltyPerDistanceUnit:0.00}", Name = rentalAreaDto.Name }; foreach (var positionDto in rentalAreaDto.Area) { result.Area.Add(_positionVewModelMapper.Map(positionDto)); } return(result); }
public void ShouldExecuteUpdateRentalAreaCommand() { var sut = new CarsManagementViewModel(_carServiceMock, _rentalAreaServiceMock, _carViewModelMapperMock, _rentalAreaViewModelMapperMock); sut.SelectedCar = new CarViewModel { RentalAreaId = Guid.NewGuid() }; var rentalAreaViewModel = new RentalAreaViewModel { Id = sut.SelectedCar.RentalAreaId }; sut.RentalAreas = new ObservableCollection <RentalAreaViewModel> { rentalAreaViewModel }; sut.UpdateRentalAreaCombobox.Execute(null); Assert.AreEqual(rentalAreaViewModel, sut.SelectedRentalArea); }
private void AddRentalArea() { SelectedRentalArea = null; SelectedRentalArea = new RentalAreaViewModel(); }