Beispiel #1
0
 public function testHasOneSideValidate()
 {
     $mock = Mock::read(1);
     $mock->name = 'modified';
     $mock->Mockdependent->name = '';
     /*
     * Mockdependent->nameはバリデーションエラー
     * saveAtomic()はsave()に失敗するとrollbackを行う
     */
     $mock->saveAtomic();
     $subject = BaseRecord::whereAll('mocks', ['where' => ['field' => 'id', 'comparision' => '=', 'value' => 1]]);
     $dependent = BaseRecord::whereAll('mockdependents', ['where' => ['field' => 'id', 'comparision' => '=', 'value' => 1]]);
     /*
     * validationエラーが起こった場合
     */
     $this->assertEquals('foo', $subject->fetch()['name']);
     $this->assertEquals('bar', $dependent->fetch()['name']);
     $this->assertEquals('name error', Mock::flashError());
     $mock->name = 'modified';
     $mock->Mockdependent->name = 'modified';
     $mock->saveAtomic();
     $subject = BaseRecord::whereAll('mocks', ['where' => ['field' => 'id', 'comparision' => '=', 'value' => 1]]);
     $dependent = BaseRecord::whereAll('mockdependents', ['where' => ['field' => 'id', 'comparision' => '=', 'value' => 1]]);
     /*
     * validationエラーが起こらなかった場合
     */
     $this->assertEquals('modified', $subject->fetch()['name']);
     $this->assertEquals('modified', $dependent->fetch()['name']);
     $this->assertEquals(null, Mock::flashError());
 }
Beispiel #2
0
 public function testRead()
 {
     $mock = Mock::read(1);
     $this->assertEquals('three', $mock->Mockdependent[0]->name);
     $this->assertEquals('two', $mock->Mockdependent[1]->name);
     $this->assertEquals(true, empty($mock->Mockdependent[2]));
 }
Beispiel #3
0
 public function testUpdateAll()
 {
     $record = Mock::create(['name' => 'new']);
     $this->assertEquals(true, BaseRecord::updateAll(Mock::tableName(), ['name' => 'modified'], $record->id));
     /*
     * BaseRecord::updateAllはオブジェクトをIdentityMapに登録しないのでNotEqual
     */
     $this->assertNotEquals('modified', Mock::read($record->id)->name);
 }
 public function testSetAndGet()
 {
     $record1 = Mock::read(1);
     $record2 = Mock::read(2);
     $record3 = Mock::read(3);
     IdentityMap::set(get_class($record1), $record1->id, $record1);
     IdentityMap::set(get_class($record2), $record2->id, $record2);
     IdentityMap::set(get_class($record3), $record3->id, $record3);
     $this->assertEquals($record1, IdentityMap::get(get_class($record1), $record1->id));
     $this->assertEquals($record2, IdentityMap::get(get_class($record2), $record2->id));
     $this->assertEquals($record3, IdentityMap::get(get_class($record3), $record3->id));
 }