public function testCustodianCRUD() { $address = Address::registerAddress('Teststrasse 142', '6360', 'Cham', 'Schweiz'); $this->init->addressRepo->store($address); $custodian = Custodian::registerCustodian('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen'); $passenger = Passenger::registerPassenger('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen'); $passenger2 = Passenger::registerPassenger('m', 'Toranto2', 'Testinger2', '041 324 33 222', $address, 'Herr', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen'); $custodian->assignPassenger($passenger); $custodian->assignPassenger($passenger2); $passenger->assignCustodian($custodian); $this->init->custodianRepo->store($custodian); $this->init->passengerRepo->store($passenger); $this->init->passengerRepo->store($passenger2); $this->init->em->flush(); $custodianFind = $this->init->custodianRepo->find($custodian->getId()); $this->assertEquals($custodian, $custodianFind); $this->custodianRemove($custodian); }
/** * @param PassengerRegisterDTO $passengerDTO * @return Passenger */ public function registerDTOtoNewPassenger(PassengerRegisterDTO $passengerDTO) { $address = $this->addressAssembler->addressLookaheadDTOtoAddress($passengerDTO->lookaheadaddress); $address->setBuilding($passengerDTO->building); $passenger = Passenger::registerPassenger($passengerDTO->gender, $passengerDTO->firstname, $passengerDTO->lastname, $passengerDTO->telephone, $address, $passengerDTO->title, $passengerDTO->isInWheelChair, $passengerDTO->hasMonthlyBilling, $passengerDTO->email, $passengerDTO->entryDate, $passengerDTO->birthday, $passengerDTO->extraMinutes, $passengerDTO->details, $passengerDTO->notice, $passengerDTO->isAuthorizedToRide); foreach ($passengerDTO->handicaps as $handicap) { $passenger->assignHandicap($handicap); } foreach ($passengerDTO->insurances as $insurance) { $passenger->assignInsurance($insurance); } foreach ($passengerDTO->contradictVehicleCategories as $category) { $passenger->assignContradictVehicleCategory($category); } foreach ($passengerDTO->personCategories as $category) { $passenger->assignPersonCategory($category); } if ($passengerDTO->custodian) { $passenger->assignCustodian($passengerDTO->custodian); } return $passenger; }
public function testPassengerCRUD() { $handicap = $this->createHandicap('hörbehindert'); $insurance = $this->createInsurance('AHV'); $category = $this->createPersonCategory('Sponsor'); $address = Address::registerAddress('Teststrasse 142', '6360', 'Cham', 'Schweiz'); $this->init->addressRepo->store($address); $passenger = Passenger::registerPassenger('f', 'Toranto', 'Testinger', '041 324 33 22', $address, 'Herro', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 5, 'alles nur ein Test', 'und auch Notizen'); $passenger->assignHandicap($handicap); $passenger->assignInsurance($insurance); $passenger->assignPersonCategory($category); $this->init->passengerRepo->store($passenger); $this->init->em->flush(); $passengerFind = $this->init->passengerRepo->find($passenger->getId()); $this->assertEquals($passenger, $passengerFind); $passenger->updatePassengerData('f', 'Mila', 'Tolina', '0293292323', $address, 'Lady', true, false, '*****@*****.**', new \DateTime(), new \DateTime(), 2, 'goodies', 'notices'); $this->init->passengerRepo->store($passenger); $this->init->em->flush(); $passengerFind = $this->init->passengerRepo->find($passenger->getId()); $this->assertEquals($passenger, $passengerFind); $this->passengerCreateAbsent($passenger); $this->passengerRemove($passenger); }
public function testDrivingOrderCRUD() { $addressFrom = $this->init->createTestAddressBaar(); $addressTo = $this->init->createTestAddressGoldau(); $passenger = Passenger::registerPassenger('m', 'Arthuro', 'Benatone', '+418182930', $addressFrom); $this->init->passengerRepo->store($passenger); $date = $this->init->dateTimeService->convertDateTimeStringToUTCDateTime('20.05.2014 00:00'); $time = $this->init->dateTimeService->convertDateTimeStringToUTCDateTime('20.05.2014 15:05'); $route = Route::registerRoute($addressFrom, $addressTo, 0, 0); $route->setDuration(15); $route->setDistance(6); $this->init->routeRepo->store($route); $drivingOrder = DrivingOrder::registerDrivingOrder($passenger, $date, $time, 2, 'möchte nicht hinten sitzen'); $drivingOrder->assignRoute($route); $passenger->assignDrivingOrder($drivingOrder); $drivingOrder->assignPassenger($passenger); $this->init->drivingOrderRepo->store($drivingOrder); $this->init->em->flush(); $this->assertNotNull($this->init->drivingOrderRepo->find($drivingOrder->getId())); //TimePeriod from start day of month to next start day of month $monthsAgo = 3; $monthDate = new \DateTime('today'); $monthDate->modify('+' . $monthsAgo . ' month'); $monthDate->format('first day of this month'); $workingMonth = WorkingMonth::registerWorkingMonth($monthDate); $workingMonth->createWorkingDaysForThisMonth(); foreach ($workingMonth->getWorkingDays() as $wd) { $this->init->workingDayRepo->store($wd); } $this->init->workingMonthRepo->store($workingMonth); $workingDays = $workingMonth->getWorkingDays(); /**@var $shiftTypes ShiftType[] */ $shiftTypes = $this->init->shiftTypeRepo->findAllActive(); //create workingDays shifts, assign them drivingpools, get amount of needed drivers /** @var $workingDay WorkingDay */ foreach ($workingDays as $workingDay) { /** @var $shiftType ShiftType */ foreach ($shiftTypes as $shiftType) { $shift = Shift::registerShift($workingDay, $shiftType); $shift->setAmountOfDrivers(16); $workingDay->assignShift($shift); for ($i = 1; $i <= $shift->getAmountOfDrivers(); $i++) { $drivingPool = DrivingPool::registerDrivingPool($shift); $shift->assignDrivingPool($drivingPool); $this->init->drivingPoolRepo->store($drivingPool); } $this->init->shiftRepo->store($shift); } $this->init->workingDayRepo->store($workingDay); } $this->init->em->flush(); $this->assertNotNull($this->init->workingMonthRepo->find($workingMonth->getId())); $drivingAssertionPlans = $this->init->repeatedDrivingAssertionPlanRepo->findPlanForDate(new \DateTime()); $this->assertNotNull($drivingAssertionPlans); $drivingPools = array(); foreach ($workingMonth->getWorkingDays() as $wd) { foreach ($wd->getShifts() as $s) { foreach ($s->getDrivingPools() as $dp) { array_push($drivingPools, $dp); } } } foreach ($drivingAssertionPlans as $drivingAssertionPlan) { $assertions = $drivingAssertionPlan->getRepeatedDrivingAssertions(); foreach ($assertions as $assertion) { if ($assertion->matching($shift)) { echo "\nmatches\n"; $drivingPool = DrivingPool::registerDrivingPool($shift); $this->init->drivingPoolRepo->store($drivingPool); } } } $vehicles = $this->init->vehicleRepo->findAll(); /**@var $vehicle Vehicle */ foreach ($vehicles as $vehicle) { foreach ($vehicle->getServicePlans() as $sp) { } } }