From 75a273eb40535cc3e4ed27211e53ee243bccebaa Mon Sep 17 00:00:00 2001 From: Oleg Kostiushko Date: Thu, 14 Jul 2016 19:19:59 +0300 Subject: [PATCH] Acceptance test refactoring - Contact form (#2) * directory _support should exists before build with ignore inside * added test for contact page availability * added test for empty contact form submit * added test for submit contact form * remove test contact page * delete old contact page test * test index-test instead index * change stage description --- tests/codeception/_pages/ContactPage.php | 26 --------- tests/codeception/_support/.gitignore | 2 + tests/codeception/acceptance/ContactCept.php | 57 -------------------- tests/codeception/acceptance/ContactCest.php | 33 ++++++++++++ 4 files changed, 35 insertions(+), 83 deletions(-) delete mode 100644 tests/codeception/_pages/ContactPage.php create mode 100644 tests/codeception/_support/.gitignore delete mode 100644 tests/codeception/acceptance/ContactCept.php create mode 100644 tests/codeception/acceptance/ContactCest.php diff --git a/tests/codeception/_pages/ContactPage.php b/tests/codeception/_pages/ContactPage.php deleted file mode 100644 index 5701e2c..0000000 --- a/tests/codeception/_pages/ContactPage.php +++ /dev/null @@ -1,26 +0,0 @@ - $value) { - $inputType = $field === 'body' ? 'textarea' : 'input'; - $this->actor->fillField($inputType . '[name="ContactForm[' . $field . ']"]', $value); - } - $this->actor->click('contact-button'); - } -} diff --git a/tests/codeception/_support/.gitignore b/tests/codeception/_support/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/tests/codeception/_support/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/tests/codeception/acceptance/ContactCept.php b/tests/codeception/acceptance/ContactCept.php deleted file mode 100644 index f848443..0000000 --- a/tests/codeception/acceptance/ContactCept.php +++ /dev/null @@ -1,57 +0,0 @@ -wantTo('ensure that contact works'); - -$contactPage = ContactPage::openBy($I); - -$I->see('Contact', 'h1'); - -$I->amGoingTo('submit contact form with no data'); -$contactPage->submit([]); -if (method_exists($I, 'wait')) { - $I->wait(3); // only for selenium -} -$I->expectTo('see validations errors'); -$I->see('Contact', 'h1'); -$I->see('Name cannot be blank'); -$I->see('Email cannot be blank'); -$I->see('Subject cannot be blank'); -$I->see('Body cannot be blank'); -$I->see('The verification code is incorrect'); - -$I->amGoingTo('submit contact form with not correct email'); -$contactPage->submit([ - 'name' => 'tester', - 'email' => 'tester.email', - 'subject' => 'test subject', - 'body' => 'test content', - 'verifyCode' => 'testme', -]); -if (method_exists($I, 'wait')) { - $I->wait(3); // only for selenium -} -$I->expectTo('see that email address is wrong'); -$I->dontSee('Name cannot be blank', '.help-inline'); -$I->see('Email is not a valid email address.'); -$I->dontSee('Subject cannot be blank', '.help-inline'); -$I->dontSee('Body cannot be blank', '.help-inline'); -$I->dontSee('The verification code is incorrect', '.help-inline'); - -$I->amGoingTo('submit contact form with correct data'); -$contactPage->submit([ - 'name' => 'tester', - 'email' => 'tester@example.com', - 'subject' => 'test subject', - 'body' => 'test content', - 'verifyCode' => 'testme', -]); -if (method_exists($I, 'wait')) { - $I->wait(3); // only for selenium -} -$I->dontSeeElement('#contact-form'); -$I->see('Thank you for contacting us. We will respond to you as soon as possible.'); diff --git a/tests/codeception/acceptance/ContactCest.php b/tests/codeception/acceptance/ContactCest.php new file mode 100644 index 0000000..0a317ce --- /dev/null +++ b/tests/codeception/acceptance/ContactCest.php @@ -0,0 +1,33 @@ +amOnPage('index-test.php?r=site%2Fcontact'); + } + + public function contactPageWorks(AcceptanceTester $I) + { + $I->wantTo('ensure that contact page works'); + $I->see('Contact', 'h1'); + } + + public function contactFormCanBeSubmitted(AcceptanceTester $I) + { + $I->amGoingTo('submit contact form with correct data'); + $I->fillField('#contactform-name', 'tester'); + $I->fillField('#contactform-email', 'tester@example.com'); + $I->fillField('#contactform-subject', 'test subject'); + $I->fillField('#contactform-body', 'test content'); + $I->fillField('#contactform-verifycode', 'testme'); + + $I->click('contact-button'); + + $I->dontSeeElement('#contact-form'); + $I->see('Thank you for contacting us. We will respond to you as soon as possible.'); + } +}