public function testPaginate() { for ($i = 0; $i < 10; $i++) { $u = new User(); $u->save(array('User' => array('username' => 'User ' . $i, 'password' => 'password ' . $i, 'salary' => 100 + $i))); } $u->flush(); $this->Controller->request->params['pass'] = array('1'); $this->Controller->request->query = array(); $this->Controller->constructClasses(); $this->Controller->Paginator->settings = array('limit' => 3); $results = Set::extract($this->Controller->Paginator->paginate(), '{s}.User.username'); $this->assertEqual($results, array('User 0', 'User 1', 'User 2')); $this->Controller->request->params['named'] = array('sort' => 'salary', 'direction' => 'desc'); $results = Set::extract($this->Controller->Paginator->paginate(), '{s}.User.username'); $this->assertEqual($this->Controller->params['paging']['User']['page'], 1); $this->assertEqual($results, array('User 9', 'User 8', 'User 7')); $this->Controller->request->params['named'] = array('sort' => 'User.salary', 'direction' => 'desc', 'page' => 2); $results = Set::extract($this->Controller->Paginator->paginate(), '{s}.User.username'); $this->assertEqual($this->Controller->params['paging']['User']['page'], 2); $this->assertEqual($results, array('User 6', 'User 5', 'User 4')); $this->Controller->request->params['named'] = array(); $this->Controller->Paginator->settings = array('topPaid', 'limit' => 3); $results = Set::extract($this->Controller->Paginator->paginate(), '{s}.User.username'); $this->assertEqual($this->Controller->params['paging']['User']['page'], 1); $this->assertEqual($results, array('User 9', 'User 8', 'User 7')); }
public function testCreatedModified() { $user = new User(); $user->username = '******'; $user->save(); $user->flush(); $this->assertTrue($user->created instanceof DateTime); $this->assertEquals(date('Y-m-d H:i'), $user->created->format('Y-m-d H:i')); $this->assertNull($user->modified); $user->username = '******'; $user->save(); $user->flush(); $this->assertTrue($user->modified instanceof DateTime); $this->assertEquals(date('Y-m-d H:i'), $user->modified->format('Y-m-d H:i')); $user->phonenumbers[] = new PhoneNumber('555-444-44'); $user->save(); $user->flush(); $this->assertTrue($user->phonenumbers[0]->created instanceof DateTime); $user->phonenumbers[0]->phonenumber = '444-555-55'; $user->save(); $user->flush(); $this->assertTrue($user->phonenumbers[0]->modified instanceof DateTime); }