ContactFormTest.php 1.6 KB

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