StringBehaviorTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace Tools\Test\TestCase\Model\Behavior;
  3. use Cake\Core\Configure;
  4. use Cake\ORM\TableRegistry;
  5. use Tools\Model\Behavior\StringBehavior;
  6. use Tools\TestSuite\TestCase;
  7. class StringBehaviorTest extends TestCase {
  8. /**
  9. * @var array
  10. */
  11. public $fixtures = [
  12. 'plugin.tools.string_comments'
  13. ];
  14. /**
  15. * @var \Tools\Model\Table\Table
  16. */
  17. public $Comments;
  18. public function setUp() {
  19. parent::setUp();
  20. $this->Comments = TableRegistry::get('StringComments');
  21. $this->Comments->addBehavior('Tools.String', ['fields' => ['title'], 'input' => ['ucfirst']]);
  22. }
  23. /**
  24. * StringBehaviorTest::testBasic()
  25. *
  26. * @return void
  27. */
  28. public function testBasic() {
  29. $data = [
  30. 'comment' => 'blabla',
  31. 'url' => 'www.dereuromark.de',
  32. 'title' => 'some Name',
  33. ];
  34. $entity = $this->Comments->newEntity($data);
  35. $res = $this->Comments->save($entity);
  36. $this->assertTrue((bool)$res);
  37. $this->assertSame('Some Name', $res['title']);
  38. }
  39. /**
  40. * StringBehaviorTest::testMultipleFieldsAndMultipleFilters()
  41. *
  42. * @return void
  43. */
  44. public function testMultipleFieldsAndMultipleFilters() {
  45. $this->Comments->behaviors()->String->config(['fields' => ['title', 'comment'], 'input' => ['strtolower', 'ucwords']]);
  46. $data = [
  47. 'comment' => 'blaBla',
  48. 'url' => 'www.dereuromark.de',
  49. 'title' => 'some nAme',
  50. ];
  51. $entity = $this->Comments->newEntity($data);
  52. $res = $this->Comments->save($entity);
  53. $this->assertTrue((bool)$res);
  54. $this->assertSame('Some Name', $res['title']);
  55. $this->assertSame('Blabla', $res['comment']);
  56. }
  57. }