public function testOneWeekHolidays() { $holiday = new Holiday(); $holiday->setBeginAt(new \DateTime()); $holiday->setEndAt(new \DateTime('+ 7 days')); $loader = new StaticHolidayLoader(array($holiday)); $planning = new Planning($loader); $formatter = $planning->getDateFormatter(); $nextTime = $planning->getFirstAvailableTime(); $expected = new \DateTime('+8 days'); $this->assertContains($formatter->format($expected), $nextTime); }
/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $current = new \DateTime('-4 weeks'); $current->modify('next monday'); $max = new \DateTime('+1 years'); while ($current < $max) { $begin = clone $current; $begin->modify('next tuesday'); $end = clone $current; $end->modify('next wednesday'); $current->modify('+1 weeks'); $holiday = new Holiday(); $holiday->setBeginAt($begin)->setEndAt($end); $manager->persist($holiday); } $manager->flush(); }