Exemplo n.º 1
0
 public function test_before_create_returned_false_halts_execution()
 {
     VenueCB::$before_create = array('before_create_halt_execution');
     ActiveRecord\Table::clear_cache('VenueCB');
     $table = ActiveRecord\Table::load('VenueCB');
     $i_ran = false;
     $i_should_have_ran = false;
     $table->callback->register('before_save', function ($model) use(&$i_should_have_ran) {
         $i_should_have_ran = true;
     });
     $table->callback->register('before_create', function ($model) use(&$i_ran) {
         $i_ran = true;
     });
     $table->callback->register('after_create', function ($model) use(&$i_ran) {
         $i_ran = true;
     });
     $v = VenueCB::find(1);
     $v->id = null;
     VenueCB::create($v->attributes());
     $this->assert_true($i_should_have_ran);
     $this->assert_false($i_ran);
     $this->assert_true(strpos(ActiveRecord\Table::load('VenueCB')->last_sql, 'INSERT') === false);
 }
 public function testBeforeCreateReturnedFalseHaltsExecution()
 {
     VenueCB::$beforeCreate = array('beforeCreateHaltExecution');
     ActiveRecord\Table::clearCache('VenueCB');
     $table = ActiveRecord\Table::load('VenueCB');
     $iRan = false;
     $iShouldHaveRan = false;
     $table->callback->register('beforeSave', function ($model) use(&$iShouldHaveRan) {
         $iShouldHaveRan = true;
     });
     $table->callback->register('beforeCreate', function ($model) use(&$iRan) {
         $iRan = true;
     });
     $table->callback->register('afterCreate', function ($model) use(&$iRan) {
         $iRan = true;
     });
     $v = VenueCB::find(1);
     $v->id = null;
     VenueCB::create($v->attributes());
     $this->assertTrue($iShouldHaveRan);
     $this->assertFalse($iRan);
     $this->assertTrue(strpos(ActiveRecord\Table::load('VenueCB')->lastSql, 'INSERT') === false);
 }