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. Configure::write('App.namespace', 'TestApp');
  26. $this->Form = new ContactForm();
  27. }
  28. /**
  29. * Test testValidate
  30. *
  31. * @return void
  32. */
  33. public function testValidate() {
  34. $requestData = [
  35. 'name' => 'Foo',
  36. 'email' => 'foo',
  37. 'subject' => '',
  38. 'message' => 'Some message'
  39. ];
  40. $result = $this->Form->validate($requestData);
  41. $this->assertFalse($result);
  42. $errors = $this->Form->errors();
  43. $this->assertSame(['email', 'subject'], array_keys($errors));
  44. $requestData = [
  45. 'name' => 'Foo',
  46. 'email' => 'foo@example.org',
  47. 'subject' => 'Yeah',
  48. 'message' => 'Some message'
  49. ];
  50. $result = $this->Form->validate($requestData);
  51. $this->assertTrue($result);
  52. }
  53. /**
  54. * Test testExecute
  55. *
  56. * @return void
  57. */
  58. public function testExecute() {
  59. $requestData = [
  60. 'name' => 'Foo',
  61. 'email' => 'foo@example.org',
  62. 'subject' => 'Yeah',
  63. 'message' => 'Some message'
  64. ];
  65. $result = $this->Form->execute($requestData);
  66. $this->assertTrue($result);
  67. }
  68. }