public VehicleDutyDTO DomainToDTO(VehicleDuty vehicleDuty) { var tripDTOList = new List <TripDTO> (); foreach (var trip in vehicleDuty.tripsList) { var tripDTO = _tripMapper.DomainToDTO(trip); tripDTOList.Add(tripDTO); } var workBlockDTOList = new List <WorkBlockDTO> (); foreach (var wb in vehicleDuty.workBlockList) { var wbDTO = _workBlockMapper.DomainToDTO(wb); workBlockDTOList.Add(wbDTO); } var vehicleDutyDTO = new VehicleDutyDTO( vehicleDuty.Id.AsGuid(), vehicleDuty.vehicleDutyCode.ToString(), tripDTOList, workBlockDTOList ); return(vehicleDutyDTO); }
public void nullDriver() { string key = "vdkey"; string vehicle = null; DateTime date = new DateTime(2022, 10, 11); List <String> trips = new List <string>() { "trip1", "trip2", "trip3" }; List <String> workblocks = new List <string>() { "wb1", "wb2", "wb3" }; VehicleDuty vd = new VehicleDuty(key, vehicle, date, trips, workblocks); Assert.AreEqual(vd.Key, key); Assert.AreEqual(vd.Vehicle, vehicle); Assert.AreEqual(vd.Date, date); foreach (VDTripKey vdk in vd.Trips) { Assert.IsNotNull(trips.Contains(vdk.Value)); } foreach (VDWorkblockKey vdwb in vd.Workblocks) { Assert.IsNotNull(trips.Contains(vdwb.Value)); } }
public void testToDomain() { string key = "vdkey"; string vehicle = "vehicle1"; DateTime date = new DateTime(2022, 10, 11); List <String> trips = new List <string>() { "trip1", "trip2", "trip3" }; List <String> workblocks = new List <string>() { "wb1", "wb2", "wb3" }; long dateMiliseconds = (long)(new TimeSpan(date.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks)).TotalMilliseconds; VehicleDuty vdMapper = VehicleDutyMapper.toDomain(VehicleDutyMapper.toDTO(new CreatingVehicleDutyDto(key, vehicle, dateMiliseconds, trips.ToArray(), workblocks.ToArray()))); VehicleDuty vd = new VehicleDuty(key, vehicle, date, trips, workblocks); Assert.AreEqual(vdMapper.Key, vd.Key); Assert.AreEqual(vdMapper.Vehicle, vd.Vehicle); Assert.AreEqual(vdMapper.Date, vd.Date); foreach (VDTripKey vdk in vd.Trips) { Assert.IsNotNull(vdMapper.Trips.Contains(vdk)); } foreach (VDWorkblockKey vdwb in vd.Workblocks) { Assert.IsNotNull(vdMapper.Workblocks.Contains(vdwb)); } }
public async Task Post_NormalParameters_Sucess() { CreatingVehicleDutyDto creatingVehicleDutyDto = new CreatingVehicleDutyDto("VehicleDut", "V12", 3495566307000, new string[] { "VehicleDuty:1", "VehicleDuty:2" }, new string[] { "Workblock:1", "Workblock:2" }); VehicleDutyDto VehicleDutyDto = VehicleDutyMapper.toDTO(creatingVehicleDutyDto); VehicleDuty VehicleDuty = VehicleDutyMapper.toDomain(VehicleDutyDto); var mockRepository = new Mock <IVehicleDutyRepository>(); mockRepository.Setup(repository => repository.AddAsync(It.IsAny <VehicleDuty>())).Returns(Task.FromResult(VehicleDuty)); var mockUnit = new Mock <IUnitOfWork>(); VehicleDutyService VehicleDutyService = new VehicleDutyService(mockUnit.Object, mockRepository.Object); VehicleDutiesController controller = new VehicleDutiesController(VehicleDutyService); var result = await controller.Create(creatingVehicleDutyDto); mockRepository.Verify(repository => repository.AddAsync(It.IsAny <VehicleDuty>()), Times.AtLeastOnce()); mockUnit.Verify(unit => unit.CommitAsync(), Times.AtLeastOnce()); Assert.IsInstanceOfType(result, typeof(ActionResult <VehicleDutyDto>)); }
public async Task <VehicleDutyDTO> AddVehicleDuty(CreatingVehicleDutyDTO vehicleDutyDTO) { List <Trip> trips = new List <Trip>(); foreach (var tripID in vehicleDutyDTO.tripList) { var trip = await _tripRepository.GetByIdAsync(new TripId(tripID)); trips.Add(trip); } var vehicleDuty = new VehicleDuty( vehicleDutyDTO.vehicleDutyCode, trips ); var savedVehicleDuty = await this._vehicleDutyRepository.AddAsync(vehicleDuty); await this._unitOfWork.CommitAsync(); return(_vehicleDutyMapper.DomainToDTO(savedVehicleDuty)); }
public async void AddDriverDuty() { var repo = new Mock <IDriverDutyRepository>(); var repoWorkBlocks = new Mock <IWorkBlockRepository>(); var repoVehicleDutyRepository = new Mock <IVehicleDutyRepository>(); var uow = new Mock <IUnitOfWork>(); string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); var tripDTO = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime); var tripsDTO = new List <TripDTO>() { tripDTO }; var tripsDTOString = new List <string>() { trip.Id.ToString() }; var cworkBlockDTO1 = new CreatingWorkBlockDTO(tripsDTOString, workBlock1.startingTime.time, workBlock1.endingTime.time); var cworkBlockDTO2 = new CreatingWorkBlockDTO(tripsDTOString, workBlock2.startingTime.time, workBlock2.endingTime.time); var cworkBlockDTO3 = new CreatingWorkBlockDTO(tripsDTOString, workBlock3.startingTime.time, workBlock3.endingTime.time); var listWorkBlocksString = new List <String>() { workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value }; var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO); var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO); var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO); var listWorkBlockDTO = new List <WorkBlockDTO>() { workBlockDTO1, workBlockDTO2, workBlockDTO3 }; var driverDutyDTO = new DriverDutyDTO(driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO); var creatingDriverDutyDTO = new CreatingDriverDutyDTO(driverDutyCode, listWorkBlocksString); var workBlockID1 = new WorkBlockID(workBlockDTO1.Id); var workBlockID2 = new WorkBlockID(workBlockDTO2.Id); var workBlockID3 = new WorkBlockID(workBlockDTO3.Id); string vehicleDutyCode = "code:1"; string registration = "AA11AA"; string vin = "123456789AAAAAAAA"; string entranceDate = "27/01/1978"; string vehicleType = "vehicleType1"; Vehicle vehicle = new Vehicle(registration, vin, entranceDate, vehicleType); VehicleDuty vehicleDuty = new VehicleDuty(vehicleDutyCode, tripList); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID1)).ReturnsAsync(workBlock1); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID2)).ReturnsAsync(workBlock2); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID3)).ReturnsAsync(workBlock3); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock1)).ReturnsAsync(vehicleDuty); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock2)).ReturnsAsync(vehicleDuty); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock3)).ReturnsAsync(vehicleDuty); repo.Setup(_ => _.AddAsync(driverDuty)).ReturnsAsync(driverDuty); var service = new DriverDutyService(repo.Object, repoWorkBlocks.Object, repoVehicleDutyRepository.Object, uow.Object); var actual = await service.AddDriverDuty(creatingDriverDutyDTO); Assert.Equal(driverDutyDTO, actual); }