AfterSaveBehaviorTest.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace Tools\Test\TestCase\Model\Behavior;
  3. use Cake\ORM\TableRegistry;
  4. use Tools\TestSuite\TestCase;
  5. class AfterSaveBehaviorTest extends TestCase {
  6. /**
  7. * @var array
  8. */
  9. public $fixtures = [
  10. 'core.Articles'
  11. ];
  12. /**
  13. * @var \Tools\Model\Table\Table|\Tools\Model\Behavior\AfterSaveBehavior
  14. */
  15. public $table;
  16. /**
  17. * @return void
  18. */
  19. public function setUp() {
  20. parent::setUp();
  21. $this->table = TableRegistry::getTableLocator()->get('Articles');
  22. $this->table->addBehavior('Tools.AfterSave');
  23. }
  24. /**
  25. * @return void
  26. */
  27. public function testSaveBasic() {
  28. $data = [
  29. 'body' => 'test save',
  30. ];
  31. $entity = $this->table->newEntity($data);
  32. $entityAfter = $this->table->save($entity);
  33. $this->assertTrue((bool)$entityAfter);
  34. // The saved entity is resetted
  35. $this->assertFalse($entityAfter->isDirty('body'));
  36. $entityBefore = $this->table->getEntityBeforeSave();
  37. // The stored one from before the save contains the info we want
  38. $this->assertTrue($entityBefore->isDirty('body'));
  39. }
  40. }