Example #1
0
 /**
  * @test
  */
 public function renderCallsRenderMethodOfCountdownViewHelperWithNextUpcomingEventsBeginDateAsUnixTimeStamp()
 {
     $this->fixture->injectEventMapper($this->mapper);
     $event = $this->mapper->getLoadedTestingModel(array('object_type' => tx_seminars_Model_Event::TYPE_COMPLETE, 'pid' => 0, 'title' => 'Test event', 'begin_date' => $GLOBALS['SIM_ACCESS_TIME'] + 1000));
     $this->mapper->expects(self::once())->method('findNextUpcoming')->will(self::returnValue($event));
     $this->viewHelper = $this->getMock('tx_seminars_ViewHelper_Countdown', array('render'));
     $this->viewHelper->expects(self::once())->method('render')->with(self::equalTo($event->getBeginDateAsUnixTimeStamp()));
     $this->fixture->injectCountDownViewHelper($this->viewHelper);
     $this->fixture->render();
 }
Example #2
0
 /**
  * Creates a countdown to the next upcoming event.
  *
  * @return string HTML code of the countdown or a message if no upcoming event has been found
  */
 public function render()
 {
     if ($this->mapper === NULL) {
         throw new BadMethodCallException('The method injectEventMapper() needs to be called first.', 1333617194);
     }
     if ($this->viewHelper === NULL) {
         /** @var tx_seminars_ViewHelper_Countdown $viewHelper */
         $viewHelper = t3lib_div::makeInstance('tx_seminars_ViewHelper_Countdown');
         $this->injectCountDownViewHelper($viewHelper);
     }
     $this->setErrorMessage($this->checkConfiguration(TRUE));
     try {
         /** @var tx_seminars_Model_Event $event */
         $event = $this->mapper->findNextUpcoming();
         $message = $this->viewHelper->render($event->getBeginDateAsUnixTimeStamp());
     } catch (tx_oelib_Exception_NotFound $exception) {
         $message = $this->translate('message_countdown_noEventFound');
     }
     $this->setMarker('count_down_message', $message);
     return $this->getSubpart('COUNTDOWN');
 }
Example #3
0
 /**
  * @test
  */
 public function renderWithBeginDateInTwoDaysReturnsTwoDaysLeft()
 {
     $offset = 2 * 86400;
     self::assertSame(sprintf($this->translator->translate('message_countdown'), $offset, $this->translator->translate('countdown_days_plural')), $this->fixture->render($GLOBALS['SIM_ACCESS_TIME'] + $offset));
 }