Ejemplo n.º 1
0
 /**
  * testBehaviorSaveCallbacks method
  *
  * @return void
  */
 public function testBehaviorSaveCallbacks()
 {
     $Sample = new Sample();
     $record = array('Sample' => array('apple_id' => 6, 'name' => 'sample99'));
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'on'));
     $Sample->create();
     $this->assertSame(false, $Sample->save($record));
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off'));
     $Sample->create();
     $result = $Sample->save($record);
     $expected = $record;
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'test'));
     $Sample->create();
     $result = $Sample->save($record);
     $expected = $record;
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'modify'));
     $expected = Hash::insert($record, 'Sample.name', 'sample99 modified before');
     $Sample->create();
     $result = $Sample->save($record);
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->disable('Test');
     $this->assertSame($record, $Sample->save($record));
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off', 'afterSave' => 'on'));
     $expected = Hash::merge($record, array('Sample' => array('aftersave' => 'modified after on create')));
     $Sample->create();
     $result = $Sample->save($record);
     $expected['Sample']['id'] = $Sample->id;
     $this->assertEquals($expected, $result);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'modify', 'afterSave' => 'modify'));
     $expected = Hash::merge($record, array('Sample' => array('name' => 'sample99 modified before modified after on create')));
     $Sample->create();
     $result = $Sample->save($record);
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off', 'afterSave' => 'test'));
     $Sample->create();
     $expected = $record;
     unset($expected['Sample']['name']);
     $result = $Sample->save($record);
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->attach('Test', array('afterSave' => 'test2'));
     $Sample->create();
     $expected = $record;
     $result = $Sample->save($record);
     $expected['Sample']['id'] = $Sample->id;
     $this->assertSame($expected, $result);
     $Sample->Behaviors->attach('Test', array('beforeFind' => 'off', 'afterFind' => 'off'));
     $Sample->recursive = -1;
     $record2 = $Sample->read(null, 1);
     $Sample->Behaviors->attach('Test', array('afterSave' => 'on'));
     $expected = Hash::merge($record2, array('Sample' => array('aftersave' => 'modified after')));
     $Sample->create();
     $this->assertSame($expected, $Sample->save($record2));
     $Sample->Behaviors->attach('Test', array('afterSave' => 'modify'));
     $expected = Hash::merge($record2, array('Sample' => array('name' => 'sample1 modified after')));
     $Sample->create();
     $this->assertSame($expected, $Sample->save($record2));
 }
Ejemplo n.º 2
0
 /**
  * testBehaviorSaveCallbacks method
  *
  * @access public
  * @return void
  */
 function testBehaviorSaveCallbacks()
 {
     $Sample = new Sample();
     $record = array('Sample' => array('apple_id' => 6, 'name' => 'sample99'));
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'on'));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), false);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off'));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $record);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'test'));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $record);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'modify'));
     $expected = Set::insert($record, 'Sample.name', 'sample99 modified before');
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $expected);
     $Sample->Behaviors->disable('Test');
     $this->assertIdentical($Sample->save($record), $record);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off', 'afterSave' => 'on'));
     $expected = Set::merge($record, array('Sample' => array('aftersave' => 'modified after on create')));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $expected);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'modify', 'afterSave' => 'modify'));
     $expected = Set::merge($record, array('Sample' => array('name' => 'sample99 modified before modified after on create')));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $expected);
     $Sample->Behaviors->attach('Test', array('beforeSave' => 'off', 'afterSave' => 'test'));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $record);
     $Sample->Behaviors->attach('Test', array('afterSave' => 'test2'));
     $Sample->create();
     $this->assertIdentical($Sample->save($record), $record);
     $Sample->Behaviors->attach('Test', array('beforeFind' => 'off', 'afterFind' => 'off'));
     $Sample->recursive = -1;
     $record2 = $Sample->read(null, 1);
     $Sample->Behaviors->attach('Test', array('afterSave' => 'on'));
     $expected = Set::merge($record2, array('Sample' => array('aftersave' => 'modified after')));
     $Sample->create();
     $this->assertIdentical($Sample->save($record2), $expected);
     $Sample->Behaviors->attach('Test', array('afterSave' => 'modify'));
     $expected = Set::merge($record2, array('Sample' => array('name' => 'sample1 modified after')));
     $Sample->create();
     $this->assertIdentical($Sample->save($record2), $expected);
 }