Ejemplo n.º 1
0
 /**
  * @test
  *
  * $this->getMock('\_OurBrand_\Quiz\Domain\Model\')
  */
 public function testGetters()
 {
     $level = $this->getMock('\\_OurBrand_\\Quiz\\Domain\\Model\\TeamLevel', array(), array('Test teamlevel', 1));
     $imageResource = $this->getMock('\\_OurBrand_\\Quiz\\Domain\\Model\\ImageResource');
     $lastEdited = new \DateTime();
     $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz();
     $quiz->setType(1);
     $quiz->setDuration(300);
     $quiz->setTitle('Quiz Title');
     $quiz->setWasCopyOf('Original Title');
     $quiz->setAuthor('Tester');
     $quiz->setBannerImage($imageResource);
     $quiz->setIntroduction('Introduction test');
     $quiz->setDescription('Description test');
     $quiz->setCreator('Creator');
     $quiz->setIsLanguage(1);
     $quiz->setLastEdited($lastEdited);
     $quiz->setSharing(1);
     $quiz->setIsDraft(1);
     $quiz->setIsDeleted(0);
     $this->assertEquals(1, $quiz->getType());
     $this->assertEquals(300, $quiz->getDuration());
     $this->assertEquals('Quiz Title', $quiz->getTitle());
     $this->assertEquals('Original Title', $quiz->getWasCopyOf());
     $this->assertEquals('Tester', $quiz->getAuthor());
     $this->assertEquals($imageResource, $quiz->getBannerImage());
     $this->assertEquals('Introduction test', $quiz->getIntroduction());
     $this->assertEquals('Description test', $quiz->getDescription());
     $this->assertEquals('Creator', $quiz->getCreator());
     $this->assertEquals(1, $quiz->getIsLanguage());
     $this->assertEquals($lastEdited->getTimestamp(), $quiz->getLastEdited()->getTimestamp());
     $this->assertEquals(1, $quiz->getSharing());
     $this->assertEquals(1, $quiz->getIsDraft());
     $this->assertEquals(0, $quiz->getIsDeleted());
 }
Ejemplo n.º 2
0
 /**
  * Creates fake Quiz and exercise in it
  * @param string $exerciseName Exercise's class name
  */
 public function createForPortalAction($exerciseName)
 {
     $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz();
     if (!$this->accessHelper->canUserCreateQuiz($this->currentUser, $quiz->getType())) {
         $this->throwStatus(403);
     }
     $quiz->setCreator($this->currentUser->getIdentifier());
     $quiz->setAuthor($this->currentUser->getName());
     $quiz->setPropertiesForPortalQuizWhenCreatesTheQuiz();
     $this->quizRepository->add($quiz);
     $exerciseType = null;
     $exerciseClassName = '\\_OurBrand_\\Quiz\\Domain\\Model\\Exercises\\' . $exerciseName;
     if (class_exists($exerciseClassName)) {
         $newExercise = $this->objectManager->get($exerciseClassName);
     } else {
         throw new \InvalidArgumentException('Model Class not defined: ' . $exerciseName);
     }
     $quiz->addExercise($newExercise);
     $quiz->touch();
     $newExercise->setType($exerciseType);
     $newExercise->setTitle('');
     $this->quizRepository->update($quiz);
     $this->persistenceManager->persistAll();
     $this->redirect('editForPortal', 'exercise', null, array('exercise' => $newExercise));
 }
Ejemplo n.º 3
0
 /**
  * @param \_OurBrand_\Quiz\Domain\Model\Quiz $quiz
  * @throws \Exception
  * @throws AccessDeniedException
  */
 public function previewStartAction($quiz)
 {
     $quizTypes = $this->typeOptions;
     $quizType = isset($quizTypes[$quiz->getType()]) ? $quizTypes[$quiz->getType()] : "";
     // if quiz is Exam then show specified time by author, otherwise show default time of duration
     $duration = $quiz->getType() == 0 ? $quiz->getDuration() : $this->defaultDuration;
     $this->view->assign('duration', $duration);
     $this->view->assign('durationLastMin', substr($duration / 60, -1, 1));
     $this->view->assign('isAudioPresents', $this->isAudioPresents($quiz));
     $this->view->assign('attachments', $this->getAllAttachments($quiz));
     $this->view->assign('quizType', $quizType);
     $this->view->assign('disableContinuesSave', true);
     $this->view->assign('hideFinishButtonAndClock', true);
     $this->view->assign('quiz', $quiz);
     $this->view->assign('session', $this->studentQuizSession);
     $this->view->assign('previewSession', array('timeRemaining' => 3600));
 }
Ejemplo n.º 4
0
 /**
  * @param \_OurBrand_\Quiz\Domain\Model\Quiz $quiz
  *
  */
 public function createAction($quiz = null)
 {
     if (!$quiz) {
         $quiz = new \_OurBrand_\Quiz\Domain\Model\Quiz();
     }
     if ($this->request->hasArgument('quiztype')) {
         $quiz->setType((int) $this->request->getArgument('quiztype'));
     }
     if (!$this->accessHelper->canUserCreateQuiz($this->currentUser, $quiz->getType())) {
         $this->throwStatus(403);
     }
     $quiz->setCreator($this->currentUser->getIdentifier());
     $quiz->setAuthor($this->currentUser->getName());
     $quiz->setQuiz($this->currentUser->isworker());
     $this->quizRepository->add($quiz);
     $this->persistenceManager->persistAll();
     $this->redirect('edit', 'quiz', null, array('quiz' => $quiz));
 }