public function testToArrayDeep() { $louise = new UserUnit($this->getUserData(array('_id' => new MongoId('51b14c2de8e185801f000001'), 'name' => 'Louise', 'email' => '*****@*****.**'))); $neil = new UserUnit($this->getUserData(array('_id' => new MongoId('51b14c2de8e185801f000001'), 'name' => 'Neil', 'email' => '*****@*****.**', 'friend' => $louise))); $martyn = new UserUnit($this->getUserData(array('friend' => $neil))); $this->connectionMock->method('findOne')->willReturn(array('name' => 'Neil')); $toArray = $martyn->toArray(1); // assertions $this->assertEquals('...', $toArray['friend']['friend']); }
public function testToArrayWithArray() { $id = new \MongoId('51b14c2de8e185801f000000'); $dbref = \MongoDBRef::create('users', '51b14c2de8e185801f000001'); $user = new UserUnit(array('name' => 'Martyn')); $article = new ArticleUnit(array('title' => 'My article')); $values = array('friend' => array('Monty', $id, $dbref, $user), 'article' => $article, 'articles' => array($article)); $this->connectionMock->method('findOne')->willReturn(array('name' => 'Neil')); $user = new UserUnit($values); $toArray = $user->toArray(2); // assertions $this->assertEquals('Monty', $toArray['friend'][0]); $this->assertEquals('51b14c2de8e185801f000000', $toArray['friend'][1]); $this->assertEquals('Neil', $toArray['friend'][2]['name']); $this->assertEquals('Martyn', $toArray['friend'][3]['name']); $this->assertEquals('My article', $toArray['article']['title']); $this->assertEquals('My article', $toArray['articles'][0]['title']); }