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()); }
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()); }
public function getUrlParts() { $questionParts = $this->question->getUrlParts(); $answerParts = array($this->_pluralizeForUrl($this->getEntityType()), $this->getId()); return array_merge($questionParts, $answerParts); }