public function testPieChart()
 {
     $survey = new Survey();
     $survey->setSurveyName("hi");
     $survey->setDescription('stuff');
     $q = new SurveyQuestion();
     $q->setType(QuestionType::YesNo());
     $q->setQuestion("Is the world round?");
     $survey->addQuestion($q);
     $this->manager->createSurvey($survey);
     $max = rand(100, 200);
     $yes = $no = 0;
     for ($i = 0; $i < $max; ++$i) {
         $ans = new SurveyAnswer();
         $val = "No";
         if (rand(0, 1) % 2 == 0) {
             $val = "Yes";
             $yes++;
         } else {
             $no++;
         }
         $ans->setAnswer($val);
         $ans->setAnsweredBy("+12064122496");
         $this->manager->addAnswer($q->getId(), $ans);
     }
     $answers = $this->manager->getAnswers($survey->getId());
     $str = ReportChartFormatter::getChartData($answers->getAnswers($q->getId()), ChartFormats::Pie());
     $this->assertNotNull($str);
     $this->assertContains('{"key":"No","val":' . $no . '}', $str);
     $this->assertContains('{"key":"Yes","val":' . $yes . '}', $str);
 }
Esempio n. 2
0
 function testYesNoSurveyQuestion()
 {
     $v = new AnswerValidatorProvider();
     $q = $v->getValidator(QuestionType::YesNo());
     $this->assertFalse($q->isValid("what"));
     $this->assertTrue($q->isValid("Yes"));
     $this->assertTrue($q->isValid("yes"));
     $this->assertTrue($q->isValid("yEs"));
     $this->assertTrue($q->isValid("Y"));
     $this->assertTrue($q->isValid("y"));
     $this->assertTrue($q->isValid("No"));
     $this->assertTrue($q->isValid("no"));
     $this->assertTrue($q->isValid("NO"));
     $this->assertTrue($q->isValid("n"));
     $this->assertTrue($q->isValid("N"));
     $this->assertFalse($q->isValid(null));
 }
Esempio n. 3
0
 function testSurveyState()
 {
     $questionStub = $this->getMock('sarhan\\survey\\SurveyQuestion');
     $surveyStub = $this->getMock("sarhan\\survey\\Survey");
     $surveyStub->expects($this->any())->method('getQuestions')->will($this->returnValue(array($questionStub, $questionStub, $questionStub)));
     $questionStub->expects($this->any())->method("getType")->will($this->returnValue(QuestionType::YesNo()));
     $this->assertEquals(array($questionStub, $questionStub, $questionStub), $surveyStub->getQuestions());
     $s = new SurveyState();
     $s->setSurvey($surveyStub);
     $this->assertFalse($s->hasId());
     $s->setId("foobar");
     $this->assertTrue($s->hasId());
     $s->setQuestionIndex(0);
     $q = $s->getQuestion();
     $this->assertNotNull($q);
     $s->setQuestionIndex(3);
     $q = $s->getQuestion();
     $this->assertNull($q);
 }
Esempio n. 4
0
 public function testSurveyName()
 {
     $survey = new Survey();
     $survey->setSurveyName("yesno");
     $survey->setDescription('stuff');
     $q = new SurveyQuestion();
     $q->setType(QuestionType::YesNo());
     $q->setQuestion("A question");
     $survey->addQuestion($q);
     //add another question
     $q2 = new SurveyQuestion();
     $q2->setType(QuestionType::StarRating());
     $secondQuestion = "Second question";
     $q2->setQuestion($secondQuestion);
     $survey->addQuestion($q2);
     $this->surveyManager->createSurvey($survey);
     SurveyEntityManager::testClear();
     $service = $this->newSurveyService();
     $this->request['Body'] = "yesno";
     $this->request['From'] = "1234";
     $serviced = $service->service();
     $this->assertTrue($serviced);
     $this->request['Body'] = "no";
     $this->request['From'] = "1234";
     $serviced = $service->service();
     $this->assertTrue($serviced);
     $this->assertContains($secondQuestion, $service->getResponse()->getContent());
 }
Esempio n. 5
0
 public function testQuestionHint()
 {
     $qt = QuestionType::YesNo();
     $this->assertEquals("(Y or N)", $qt->getQuestionHint());
 }