Example #1
0
 public function testAddUser()
 {
     $user = new Entity\User();
     $user->setSurname('foo');
     $this->_group->addUser($user);
     /** @var $users \Pollex\Entity\User[] */
     $users = $this->_group->getUsers();
     $this->assertEquals(1, count($users));
     $this->assertEquals('foo', $users[0]->getSurname());
 }
Example #2
0
 public function testOutputObject()
 {
     $this->_user->setId(1);
     $this->_user->setSurname('John');
     $this->_user->setLastname('Doe');
     $birthDate = \DateTime::createFromFormat('Y-m-d', '1982-07-05');
     $this->_user->setBirthdate($birthDate);
     $group = new Entity\Group();
     $group->setId(1);
     $group->setName('admin');
     $this->_user->addGroup($group);
     $expected = new \stdClass();
     $expected->id = 1;
     $expected->url = '/users/1';
     $expected->surname = 'John';
     $expected->lastname = 'Doe';
     $expected->birthdate = '1982-07-05';
     $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->groups = array($expectedGroup);
     $expected->created = $this->_user->getCreated()->format(Entity\Base::DATE_FORMAT);
     $expected->updated = $this->_user->getUpdated()->format(Entity\Base::DATE_FORMAT);
     $this->assertEquals($expected, $this->_user->getOutputObject());
 }
Example #3
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());
 }