Example #1
0
 /**
  * Alle Tage des Monats
  *
  * @param array $Days of \Trolley\AgendaBundle\Entity\Day Objects
  *
  * @return array
  */
 public function findDaysByMonth(MonthOverview $monthOverview)
 {
     $months = array_map(function ($month) {
         return $month->getDate()->format("Y-m");
     }, $monthOverview->getArrayCopy());
     $qB = $this->createQueryBuilder('d');
     $qB->where($qB->expr()->in('DATE_FORMAT(d.taDay, \'%Y-%m\')', $months));
     $qB->orderBy('d.taDay');
     return $qB->getQuery()->getResult();
 }
 /**
  * Rechnet die Monate zurück
  */
 protected function _createAheadMonths()
 {
     $looking_months = $this->getParameter('trolley_agenda.calendar.month_looking_ahead');
     $dayname = $this->getParameter('trolley_agenda.calendar.every_day');
     $MonthOverview = new MonthOverview();
     $MonthOverview->createAheadMonth($looking_months);
     $MonthOverview->fillMonthWithDaysFor($dayname);
     $MonthOverview->mergeDaysWithDB();
     return $MonthOverview;
 }
 /**
  * Erstellt alle Tage in der DB wenn sie nicht vor handen sind
  *
  * @covers Trolley\AgendaBundle\Util\MonthOverview::mergeDaysWithDB
  */
 public function testCreateDaysInDB()
 {
     global $kernel;
     $kernel = self::$kernel;
     //New 'Saturday' Days
     $expectMonthOverview = new MonthOverview();
     $expectMonthOverview->createAheadMonth(1);
     $expectMonthOverview->fillMonthWithDaysFor(['Saturday']);
     $expectMonthOverview->mergeDaysWithDB();
     //Add 'Monday' Days
     $expectMonthOverview = new MonthOverview();
     $expectMonthOverview->createAheadMonth(1);
     $expectMonthOverview->fillMonthWithDaysFor(['Monday', 'Saturday']);
     $expectMonthOverview->mergeDaysWithDB();
     $actualMonthOverview = new MonthOverview();
     $actualMonthOverview->createAheadMonth(1);
     $actualMonthOverview->fillMonthWithDaysFor(['Monday', 'Saturday']);
     /** @var \Trolley\AgendaBundle\Repository\DayRepository $dayRepository */
     $dayRepository = $this->getDoctrine()->getRepository('TrolleyAgendaBundle:Day');
     $actual = $dayRepository->findDaysByMonth($actualMonthOverview);
     $this->dayInDBToDelete = $actual;
     $this->assertGreaterThan(0, count($actual));
     $this->assertEquals($expectMonthOverview->getDaysList(), $actual);
 }