コード例 #1
0
 /**
  * Test get the next day in sprint.
  */
 public function testGetNextDayInSprint()
 {
     $sprint = new Sprint();
     $today = new \DateTime();
     $today->setTime(0, 0, 0);
     if ($today->format('N') == 5) {
         $this->assertEquals($today->modify('+3 days'), $sprint->getNextDayInSprint());
     } elseif ($today->format('N') == 6) {
         $this->assertEquals($today->modify('+2 days'), $sprint->getNextDayInSprint());
     } else {
         $this->assertEquals($today->modify('+1 days'), $sprint->getNextDayInSprint());
     }
 }
コード例 #2
0
 /**
  * Return an array of done story points per day.
  *
  * @param array  $todoLists
  * @param array  $wipLists
  * @param array  $doneLists
  * @param Sprint $sprint
  *
  * @return array|null
  */
 public function getDoneStoryPoints(array $todoLists, array $wipLists, array $doneLists, Sprint $sprint)
 {
     $doneCards = $this->actionManager->getCardsMovedFromTodoToDone($todoLists, $wipLists, $doneLists);
     $sprintDays = $sprint->getSprintDays();
     $sp = [];
     if (!$sprintDays instanceof \DatePeriod) {
         return;
     }
     foreach ($sprintDays as $day) {
         $countSP = 0;
         if ($day instanceof \DateTime && $day->getTimestamp() > $sprint->getNextDayInSprint()->getTimestamp()) {
             break;
         }
         if ($this->isWeekend($day)) {
             continue;
         }
         foreach ($doneCards as $card) {
             $actionDate = new \DateTime($card['date']);
             if ($actionDate->getTimestamp() > $sprint->getStart()->getTimestamp() && $actionDate->getTimestamp() < $day->getTimestamp()) {
                 $countSP += $this->parseStoryPoints($card['card']);
             }
         }
         $sp[] = ['date' => $day, 'count' => $countSP];
     }
     return $sp;
 }