Skip to content

Commit 91d8cef

Browse files
authored
Merge pull request #1 from PagaMasTarde/v1.0.1
V1.0.1
2 parents bcc0dd0 + 11caca7 commit 91d8cef

5 files changed

Lines changed: 124 additions & 41 deletions

File tree

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"php": ">=5.3"
88
},
99
"require-dev": {
10-
"pagamastarde/orders-api-client": "dev-master",
10+
"pagamastarde/orders-api-client": "^1.0",
1111
"phpunit/phpunit": "^4.8",
1212
"phpunit/phpunit-selenium": "^2.0",
1313
"facebook/webdriver": "^1.1",

composer.lock

Lines changed: 19 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Step/Application.php

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace PagaMasTarde\SeleniumFormUtils\Step;
44

55
use Facebook\WebDriver\WebDriverBy;
6+
use PagaMasTarde\SeleniumFormUtils\Step\ConfirmData\Missing;
67

78
/**
89
* Class Application
@@ -31,25 +32,41 @@ public function run()
3132
{
3233
$this->validateStep(self::STEP);
3334
//Click on confirm:
34-
$this->moveToIFrame('hosted-field-number');
35-
$this->waitTobeVisible(WebDriverBy::name('credit-card-number'));
36-
$creditCardNumber = $this->webDriver->findElement(WebDriverBy::name('credit-card-number'));
37-
$creditCardNumber->clear()->sendKeys(self::CARD_NUMBER);
38-
$this->moveToParent();
39-
$this->moveToIFrame('hosted-field-name');
40-
$cardHolder = $this->webDriver->findElement(WebDriverBy::name('name'));
41-
$cardHolder->clear()->sendKeys(self::CARD_HOLDER);
42-
$this->moveToParent();
43-
$this->moveToIFrame('hosted-field-cvv');
44-
$cvv = $this->webDriver->findElement(WebDriverBy::name('cvv'));
45-
$cvv->clear()->sendKeys(self::CARD_CVC);
46-
$this->moveToParent();
47-
$this->moveToIFrame('hosted-field-expirationDate');
48-
$expiration = $this->webDriver->findElement(WebDriverBy::name('expiration'));
49-
$expiration->clear()->sendKeys('12'. date('y'));
50-
$this->moveToParent();
51-
$acceptedTerms = $this->webDriver->findElement(WebDriverBy::className('Form-checkboxSkin'));
52-
$acceptedTerms->click();
35+
36+
/*
37+
* Optional Full Name:
38+
*/
39+
try {
40+
$name = $this->webDriver->findElement(WebDriverBy::name('name'));
41+
$name->clear()->sendKeys(Missing::FULL_NAME);
42+
} catch (\Exception $exception) {
43+
unset($exception);
44+
}
45+
46+
try {
47+
$this->moveToIFrame('hosted-field-number');
48+
$this->waitTobeVisible(WebDriverBy::name('credit-card-number'));
49+
$creditCardNumber = $this->webDriver->findElement(WebDriverBy::name('credit-card-number'));
50+
$creditCardNumber->clear()->sendKeys(self::CARD_NUMBER);
51+
$this->moveToParent();
52+
$this->moveToIFrame('hosted-field-name');
53+
$cardHolder = $this->webDriver->findElement(WebDriverBy::name('name'));
54+
$cardHolder->clear()->sendKeys(self::CARD_HOLDER);
55+
$this->moveToParent();
56+
$this->moveToIFrame('hosted-field-cvv');
57+
$cvv = $this->webDriver->findElement(WebDriverBy::name('cvv'));
58+
$cvv->clear()->sendKeys(self::CARD_CVC);
59+
$this->moveToParent();
60+
$this->moveToIFrame('hosted-field-expirationDate');
61+
$expiration = $this->webDriver->findElement(WebDriverBy::name('expiration'));
62+
$expiration->clear()->sendKeys('12'. date('y'));
63+
$this->moveToParent();
64+
$acceptedTerms = $this->webDriver->findElement(WebDriverBy::className('Form-checkboxSkin'));
65+
$acceptedTerms->click();
66+
} catch (\Exception $exception) {
67+
unset($exception);
68+
}
69+
5370
$formContinue = $this->webDriver->findElement(WebDriverBy::name('form-continue'));
5471
$formContinue->click();
5572
}

src/Step/Returning.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace PagaMasTarde\SeleniumFormUtils\Step;
4+
5+
use Facebook\WebDriver\WebDriverBy;
6+
7+
/**
8+
* Class Returning
9+
*
10+
* @package PagaMasTarde\SeleniumFormUtils\Step
11+
*/
12+
class Returning extends AbstractStep
13+
{
14+
/**
15+
* Handler step
16+
*/
17+
const STEP = '/returning';
18+
19+
/**
20+
* Pass from returning to next step in Application Form
21+
*
22+
* @throws \Exception
23+
*/
24+
public function run()
25+
{
26+
$this->validateStep(self::STEP);
27+
//Click on confirm:
28+
$expiration = $this->webDriver->findElement(WebDriverBy::id('expireDate'));
29+
$expiration->clear()->sendKeys('12'. date('y'));
30+
$this->moveToParent();
31+
$formContinue = $this->webDriver->findElement(WebDriverBy::name('one_click_expiration_date_confirm'));
32+
$formContinue->click();
33+
}
34+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace PagaMasTarde\SeleniumFormUtils\Step\Returning;
4+
5+
use Facebook\WebDriver\WebDriverBy;
6+
use PagaMasTarde\SeleniumFormUtils\Step\AbstractStep;
7+
8+
/**
9+
* Class EndYourPurchase
10+
*
11+
* @package PagaMasTarde\SeleniumFormUtils\Step
12+
*/
13+
class EndYourPurchase extends AbstractStep
14+
{
15+
/**
16+
* Handler step
17+
*/
18+
const STEP = '/returning/end-your-purchase';
19+
20+
/**
21+
* Pass from returning to next step in Application Form
22+
*
23+
* @throws \Exception
24+
*/
25+
public function run()
26+
{
27+
$this->validateStep(self::STEP);
28+
//Click on confirm:
29+
$confirmCheckbox = $this->webDriver->findElement(WebDriverBy::className('Form-checkboxSkin'));
30+
$confirmCheckbox->click();
31+
$formContinue = $this->webDriver->findElement(WebDriverBy::name('one_click_buy'));
32+
$formContinue->click();
33+
}
34+
}

0 commit comments

Comments
 (0)