public function testCreateWithOneToOne() { $this->loadFixtures(['Users', 'Profiles']); $user = new User(); $user->country_id = 1; $user->username = '******'; $user->firstName = 'Tony'; $user->lastName = 'Stark'; $user->password = '******'; $user->email = '*****@*****.**'; $user->age = 38; $profile = new Profile(); $profile->lastLogin = '******'; $user->link($profile); $this->assertEquals(6, $user->save(['validate' => false])); $this->assertEquals(new User(['id' => 6, 'country_id' => 1, 'username' => 'ironman', 'firstName' => 'Tony', 'lastName' => 'Stark', 'password' => '7NAks9193KAkjs1', 'email' => '*****@*****.**', 'age' => 38, 'created' => '', 'modified' => '', 'Profile' => new Profile(['id' => 6, 'user_id' => 6, 'lastLogin' => '2012-06-24 17:30:33', 'currentLogin' => ''])]), User::select()->where('id', 6)->with('Profile')->first()); }
/** * Test database record updating against unique columns. */ public function testUpdateUniqueColumn() { $this->loadFixtures('Users'); $first = User::select()->orderBy('_id', 'asc')->first(); $user = new User(); $user->id = $first->_id; $user->username = '******'; // name already exists try { $this->assertEquals(1, $user->save()); $this->assertTrue(false); } catch (Exception $e) { $this->assertTrue(true); } }
public function testValidate() { $this->loadFixtures('Users'); $user = new User(); $user->username = '******'; // needs to be 5 $this->assertEquals(0, $user->save()); $this->assertEquals(['username' => 'Must be between 5 and 25 chars'], $user->getErrors()); $user->username = '******'; // good! $this->assertNotEquals(0, $user->save()); $this->assertEquals([], $user->getErrors()); $user->username = '******'; // ignore validation $this->assertNotEquals(0, $user->save(['validate' => false])); $this->assertEquals([], $user->getErrors()); // Now with multiple fields $user->username = '******'; $user->firstName = 123; $user->lastName = 'abc'; $this->assertEquals(0, $user->save()); $this->assertEquals(['username' => 'Must be between 5 and 25 chars', 'firstName' => 'Must be alphabetical', 'lastName' => 'Must be a number'], $user->getErrors()); }