ContactFormTest.php 1.4 KB

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