/** * @covers ::getWeekDayFrom * * @dataProvider provideDateTimeWithWeekDays * @param \DateTime $date * @param string $expectedWeekDay */ public function testGetWeekDayFromReturnWeekDay(\DateTime $date, $expectedWeekDay) { $this->assertEquals($expectedWeekDay, Day::getWeekDayFrom($date)); }
/** * @param $options * @return WeekStats */ public function getWeekMeals($options) { $dates = $this->getWeekDates($options); $statsLunch = new WeekStats(); foreach ($dates['days'] as $day) { // compte le nombre d'élèves inscrits à la cantine // qui ne sont pas : // en sortie scolaire ce jour là // inscrits en voyage scolaire (non annulé) ce jour là $query = $this->createQueryBuilder('l')->select('COUNT(l)')->join('l.eleve', 'e')->where('DATE(l.date) = :date_day')->andWhere('e.regimeSansPorc = :pork')->setParameter(':date_day', $day->format('Y-m-d'))->setParameter(':pork', $options['without_pork']); $query = $this->excludePupilsTravellingAt($query, 'e', $day); $totalCurrentDay = $query->getQuery()->getSingleScalarResult(); $statsLunch->setTotalDay(Day::getWeekDayFrom($day), $totalCurrentDay); } return $statsLunch; }