ContactFormTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace Tools\Form;
  3. use Cake\Auth\DefaultPasswordHasher;
  4. use Cake\Auth\PasswordHasherFactory;
  5. use Cake\Core\Configure;
  6. use Cake\Datasource\ConnectionManager;
  7. use Cake\I18n\Time;
  8. use Cake\Network\Request;
  9. use Cake\ORM\Entity;
  10. use Cake\ORM\Query;
  11. use Cake\ORM\Table;
  12. use Cake\ORM\TableRegistry;
  13. use Cake\Routing\Router;
  14. use Cake\Utility\Security;
  15. use Tools\Form\ContactForm;
  16. use Tools\TestSuite\TestCase;
  17. class ContactFormTest extends TestCase {
  18. /**
  19. * @var array
  20. */
  21. public $fixtures = [
  22. 'core.posts', 'core.authors',
  23. 'plugin.tools.tools_users', 'plugin.tools.roles',
  24. ];
  25. /**
  26. * @var \Tools\Form\ContactForm
  27. */
  28. public $Form;
  29. /**
  30. * SetUp method
  31. *
  32. * @return void
  33. */
  34. public function setUp() {
  35. parent::setUp();
  36. Configure::write('App.namespace', 'TestApp');
  37. $this->Form = new ContactForm();
  38. }
  39. /**
  40. * Test testValidate
  41. *
  42. * @return void
  43. */
  44. public function testValidate() {
  45. $requestData = [
  46. 'name' => 'Foo',
  47. 'email' => 'foo',
  48. 'subject' => '',
  49. 'message' => 'Some message'
  50. ];
  51. $result = $this->Form->validate($requestData);
  52. $this->assertFalse($result);
  53. $errors = $this->Form->errors();
  54. $this->assertSame(['email', 'subject'], array_keys($errors));
  55. $requestData = [
  56. 'name' => 'Foo',
  57. 'email' => 'foo@example.org',
  58. 'subject' => 'Yeah',
  59. 'message' => 'Some message'
  60. ];
  61. $result = $this->Form->validate($requestData);
  62. $this->assertTrue($result);
  63. }
  64. /**
  65. * Test testExecute
  66. *
  67. * @return void
  68. */
  69. public function testExecute() {
  70. $requestData = [
  71. 'name' => 'Foo',
  72. 'email' => 'foo@example.org',
  73. 'subject' => 'Yeah',
  74. 'message' => 'Some message'
  75. ];
  76. $result = $this->Form->execute($requestData);
  77. $this->assertTrue($result);
  78. }
  79. }