Example #1
0
 public function testOutputObject()
 {
     $this->_question->setId(1);
     $poll = new \Pollex\Entity\Poll();
     $poll->setId(1337);
     $this->_question->setPoll($poll);
     $type = new \Pollex\Entity\Type();
     $type->setId(2);
     $type->setName('free');
     $this->_question->setType($type);
     $this->_question->setTitle('fooo');
     $this->_question->setValue('lorem ipsum');
     $expected = new \stdClass();
     $expected->id = 1;
     $expected->poll = 1337;
     $expected->url = '/polls/1337/questions/1';
     $expectedType = new \stdClass();
     $expectedType->id = 2;
     $expectedType->name = "free";
     $expectedType->url = "/types/2";
     $expectedType->created = $type->getCreated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expectedType->updated = $type->getUpdated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->type = $expectedType;
     $expected->created = $this->_question->getCreated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->updated = $this->_question->getUpdated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->title = "fooo";
     $expected->value = 'lorem ipsum';
     $expectedAnswers = new \stdClass();
     $expectedAnswers->url = '/polls/1337/questions/1/answers';
     $expectedAnswers->data = array();
     $expected->answers = $expectedAnswers;
     $this->assertEquals($expected, $this->_question->getOutputObject());
 }
Example #2
0
 public function testOutputObject()
 {
     $user = new Entity\User();
     $user->setId(1);
     $user->setSurname('John');
     $user->setLastname('Doe');
     $birthDate = \DateTime::createFromFormat('Y-m-d', '1982-07-05');
     $user->setBirthdate($birthDate);
     $group = new Entity\Group();
     $group->setId(1);
     $group->setName('admin');
     $user->addGroup($group);
     $this->_poll->setId(1);
     $this->_poll->setAuthor($user);
     $this->_poll->setName('foo');
     $this->_poll->setDescription('Long description');
     $this->_poll->setAuthor($user);
     $questions = new Entity\Poll\Question();
     $questions->setPoll($this->_poll);
     $this->_poll->addQuestion($questions);
     $expected = new \stdClass();
     $expected->id = 1;
     $expected->url = '/polls/1';
     $expected->name = 'foo';
     $expected->author = new \stdClass();
     $expected->author->id = 1;
     $expected->author->surname = 'John';
     $expected->author->lastname = 'Doe';
     $expected->author->birthdate = '1982-07-05';
     $expected->author->url = "/users/1";
     $expected->author->created = $user->getCreated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->author->updated = $user->getUpdated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expectedGroup = new \stdClass();
     $expectedGroup->id = 1;
     $expectedGroup->url = "/groups/1";
     $expectedGroup->name = "admin";
     $expectedGroup->created = $group->getCreated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expectedGroup->updated = $group->getUpdated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->author->groups = array($expectedGroup);
     $expected->created = $this->_poll->getCreated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->updated = $this->_poll->getUpdated()->format(\Pollex\Entity\Base::DATE_FORMAT);
     $expected->description = "Long description";
     $expected->questions = new \stdClass();
     $expected->questions->url = '/polls/1/questions/';
     //makes no sense to have a question id here, this will link to a question
     $expected->questions->data = array();
     $this->assertEquals($expected, $this->_poll->getOutputObject());
 }
Example #3
0
 public function getUrlParts()
 {
     $questionParts = $this->question->getUrlParts();
     $answerParts = array($this->_pluralizeForUrl($this->getEntityType()), $this->getId());
     return array_merge($questionParts, $answerParts);
 }