@@ -2,8 +2,6 @@ |
||
| 2 | 2 | |
| 3 | 3 | namespace Magium\Magento\Extractors\Catalog\LayeredNavigation\FilterTypes; |
| 4 | 4 | |
| 5 | -use Facebook\WebDriver\WebDriverBy; |
|
| 6 | -use Facebook\WebDriver\WebDriverElement; |
|
| 7 | 5 | use Magium\Magento\Extractors\Catalog\LayeredNavigation\FilterValue; |
| 8 | 6 | use Magium\Magento\Extractors\Catalog\LayeredNavigation\UnparseableValueException; |
| 9 | 7 | |
@@ -44,8 +44,8 @@ |
||
| 44 | 44 | /* @var $elements \DOMElement[] */ |
| 45 | 45 | $returnElements = []; |
| 46 | 46 | foreach ($elements as $element) { |
| 47 | - $elementDocument = new \DOMDocument(); |
|
| 48 | - $html =$element->C14N(); |
|
| 47 | + $elementDocument = new \DOMDocument(); |
|
| 48 | + $html = $element->C14N(); |
|
| 49 | 49 | $elementDocument->loadXML($html); |
| 50 | 50 | $elementXpath = new \DOMXPath($elementDocument); |
| 51 | 51 | $titleElements = $elementXpath->query(sprintf('//*[@%s]', $this->theme->getLayeredNavigationSwatchTitleAttribute())); |
@@ -15,7 +15,9 @@ |
||
| 15 | 15 | { |
| 16 | 16 | $xpath = new \DOMXPath($this->document); |
| 17 | 17 | $xpathQuery = $this->theme->getLayeredNavigationSwatchAppliesXpath($this->title); |
| 18 | - if (!$xpathQuery) return false; |
|
| 18 | + if (!$xpathQuery) { |
|
| 19 | + return false; |
|
| 20 | + } |
|
| 19 | 21 | $elements = $xpath->query($xpathQuery); |
| 20 | 22 | return $elements->length > 0; |
| 21 | 23 | } |
@@ -80,6 +80,9 @@ |
||
| 80 | 80 | } |
| 81 | 81 | |
| 82 | 82 | |
| 83 | + /** |
|
| 84 | + * @param string $type |
|
| 85 | + */ |
|
| 83 | 86 | public function addFilterType($type) |
| 84 | 87 | { |
| 85 | 88 | $type = $this->filterTypeName($type); |
@@ -55,11 +55,11 @@ discard block |
||
| 55 | 55 | { |
| 56 | 56 | $returnType = $type; |
| 57 | 57 | if (strpos($type, '\\') === false) { |
| 58 | - $returnType = $this->baseNamespace . '\\' . $type; |
|
| 58 | + $returnType = $this->baseNamespace.'\\'.$type; |
|
| 59 | 59 | if (!class_exists($returnType)) { |
| 60 | 60 | $returnType = $type; |
| 61 | 61 | if (!class_exists($returnType)) { |
| 62 | - throw new InvalidFilterException('Filter type must exist: ' . $returnType); |
|
| 62 | + throw new InvalidFilterException('Filter type must exist: '.$returnType); |
|
| 63 | 63 | } |
| 64 | 64 | } |
| 65 | 65 | } |
@@ -69,12 +69,12 @@ discard block |
||
| 69 | 69 | |
| 70 | 70 | protected function validateFilterType($returnType) |
| 71 | 71 | { |
| 72 | - if ($returnType == $this->baseNamespace . '\AbstractFilterType') { |
|
| 72 | + if ($returnType == $this->baseNamespace.'\AbstractFilterType') { |
|
| 73 | 73 | return true; |
| 74 | 74 | } |
| 75 | 75 | $reflection = new \ReflectionClass($returnType); |
| 76 | - if (!$reflection->isSubclassOf($this->baseNamespace . '\AbstractFilterType')) { |
|
| 77 | - throw new InvalidFilterException('Filter type must extend AbstractFilterType: ' . $returnType); |
|
| 76 | + if (!$reflection->isSubclassOf($this->baseNamespace.'\AbstractFilterType')) { |
|
| 77 | + throw new InvalidFilterException('Filter type must extend AbstractFilterType: '.$returnType); |
|
| 78 | 78 | } |
| 79 | 79 | return true; |
| 80 | 80 | } |
@@ -131,7 +131,7 @@ discard block |
||
| 131 | 131 | return $this->filterValues[$filterKey]; |
| 132 | 132 | } |
| 133 | 133 | |
| 134 | - throw new MissingFilterException('Could not find the filter: ' . $filter); |
|
| 134 | + throw new MissingFilterException('Could not find the filter: '.$filter); |
|
| 135 | 135 | } |
| 136 | 136 | |
| 137 | 137 | public function extract() |
@@ -167,7 +167,7 @@ discard block |
||
| 167 | 167 | break; |
| 168 | 168 | } |
| 169 | 169 | } else { |
| 170 | - throw new InvalidFilterException('Filter type does not extend AbstractFilterType: ' . $type); |
|
| 170 | + throw new InvalidFilterException('Filter type does not extend AbstractFilterType: '.$type); |
|
| 171 | 171 | } |
| 172 | 172 | } |
| 173 | 173 | } |
@@ -25,6 +25,10 @@ |
||
| 25 | 25 | return $this->products; |
| 26 | 26 | } |
| 27 | 27 | |
| 28 | + /** |
|
| 29 | + * @param integer $count |
|
| 30 | + * @param string $attribute |
|
| 31 | + */ |
|
| 28 | 32 | protected function getByXpath($type, $count, $attribute = null, $getElement = false) |
| 29 | 33 | { |
| 30 | 34 | $xpath = $this->getElementXpath($type, $count); |
@@ -192,7 +192,7 @@ |
||
| 192 | 192 | } |
| 193 | 193 | |
| 194 | 194 | /** |
| 195 | - * @param string $billingFastName |
|
| 195 | + * @param string $billingLastName |
|
| 196 | 196 | */ |
| 197 | 197 | public function setBillingLastName($billingLastName) |
| 198 | 198 | { |
@@ -12,7 +12,7 @@ |
||
| 12 | 12 | { |
| 13 | 13 | const IDENTITY = 'Customer'; |
| 14 | 14 | |
| 15 | - public $emailAddress = '[email protected]'; |
|
| 15 | + public $emailAddress = '[email protected]'; |
|
| 16 | 16 | |
| 17 | 17 | public $billingFirstName = 'Kevin'; |
| 18 | 18 | public $billingLastName = 'Schroeder'; |
@@ -2,7 +2,6 @@ |
||
| 2 | 2 | |
| 3 | 3 | namespace Magium\Magento\Navigators\Catalog; |
| 4 | 4 | |
| 5 | -use Magium\Magento\Navigators\BaseMenu; |
|
| 6 | 5 | use Magium\Magento\Themes\AbstractThemeConfiguration; |
| 7 | 6 | |
| 8 | 7 | abstract class AbstractDefaultProduct |
@@ -300,7 +300,7 @@ discard block |
||
| 300 | 300 | } |
| 301 | 301 | |
| 302 | 302 | /** |
| 303 | - * @param string $shippinFirstNameXpath |
|
| 303 | + * @param string $shippingFirstNameXpath |
|
| 304 | 304 | */ |
| 305 | 305 | public function setShippingFirstNameXpath($shippingFirstNameXpath) |
| 306 | 306 | { |
@@ -404,6 +404,7 @@ discard block |
||
| 404 | 404 | } |
| 405 | 405 | |
| 406 | 406 | /** |
| 407 | + * @param string $region |
|
| 407 | 408 | * @return string |
| 408 | 409 | */ |
| 409 | 410 | public function getShippingRegionIdXpath($region) |
@@ -437,6 +438,7 @@ discard block |
||
| 437 | 438 | } |
| 438 | 439 | |
| 439 | 440 | /** |
| 441 | + * @param string $country |
|
| 440 | 442 | * @return string |
| 441 | 443 | */ |
| 442 | 444 | public function getShippingCountryIdXpath($country) |
@@ -517,6 +519,9 @@ discard block |
||
| 517 | 519 | $this->shippingContinueCompletedXpath = $shippingContinueCompletedXpath; |
| 518 | 520 | } |
| 519 | 521 | |
| 522 | + /** |
|
| 523 | + * @return string |
|
| 524 | + */ |
|
| 520 | 525 | public function getBillingContinueCompletedXpath() |
| 521 | 526 | { |
| 522 | 527 | return $this->translatePlaceholders($this->billingContinueCompletedXpath); |
@@ -589,6 +594,7 @@ discard block |
||
| 589 | 594 | } |
| 590 | 595 | |
| 591 | 596 | /** |
| 597 | + * @param string $region |
|
| 592 | 598 | * @return string |
| 593 | 599 | */ |
| 594 | 600 | public function getBillingRegionIdXpath($region) |
@@ -606,6 +612,7 @@ discard block |
||
| 606 | 612 | } |
| 607 | 613 | |
| 608 | 614 | /** |
| 615 | + * @param string $country |
|
| 609 | 616 | * @return string |
| 610 | 617 | */ |
| 611 | 618 | public function getBillingCountryIdXpath($country) |
@@ -673,6 +680,7 @@ discard block |
||
| 673 | 680 | |
| 674 | 681 | |
| 675 | 682 | /** |
| 683 | + * @param integer $itemCount |
|
| 676 | 684 | * @return string |
| 677 | 685 | */ |
| 678 | 686 | public function getCartSummaryCheckoutProductLoopPriceXpath($itemCount) |
@@ -682,6 +690,7 @@ discard block |
||
| 682 | 690 | } |
| 683 | 691 | |
| 684 | 692 | /** |
| 693 | + * @param integer $itemCount |
|
| 685 | 694 | * @return string |
| 686 | 695 | */ |
| 687 | 696 | public function getCartSummaryCheckoutProductLoopNameXpath($itemCount) |
@@ -691,6 +700,7 @@ discard block |
||
| 691 | 700 | } |
| 692 | 701 | |
| 693 | 702 | /** |
| 703 | + * @param integer $itemCount |
|
| 694 | 704 | * @return string |
| 695 | 705 | */ |
| 696 | 706 | public function getCartSummaryCheckoutProductLoopQtyXpath($itemCount) |
@@ -700,6 +710,7 @@ discard block |
||
| 700 | 710 | } |
| 701 | 711 | |
| 702 | 712 | /** |
| 713 | + * @param integer $itemCount |
|
| 703 | 714 | * @return string |
| 704 | 715 | */ |
| 705 | 716 | public function getCartSummaryCheckoutProductLoopSubtotalXpath($itemCount) |
@@ -260,9 +260,9 @@ |
||
| 260 | 260 | return $this->translatePlaceholders($this->shippingMethodContinueButtonXpath); |
| 261 | 261 | } |
| 262 | 262 | |
| 263 | - /** |
|
| 264 | - * @return string |
|
| 265 | - */ |
|
| 263 | + /** |
|
| 264 | + * @return string |
|
| 265 | + */ |
|
| 266 | 266 | public function getPlaceOrderButtonXpath() |
| 267 | 267 | { |
| 268 | 268 | return $this->translatePlaceholders($this->placeOrderButtonXpath); |
@@ -569,7 +569,7 @@ discard block |
||
| 569 | 569 | */ |
| 570 | 570 | public function getBillingAddressXpath() |
| 571 | 571 | { |
| 572 | - return$this->translatePlaceholders( $this->billingAddressXpath); |
|
| 572 | + return$this->translatePlaceholders($this->billingAddressXpath); |
|
| 573 | 573 | } |
| 574 | 574 | |
| 575 | 575 | /** |
@@ -677,7 +677,7 @@ discard block |
||
| 677 | 677 | */ |
| 678 | 678 | public function getCartSummaryCheckoutProductLoopPriceXpath($itemCount) |
| 679 | 679 | { |
| 680 | - $return = sprintf($this->cartSummaryCheckoutProductLoopPriceXpath , $itemCount); |
|
| 680 | + $return = sprintf($this->cartSummaryCheckoutProductLoopPriceXpath, $itemCount); |
|
| 681 | 681 | return $this->translatePlaceholders($return); |
| 682 | 682 | } |
| 683 | 683 | |
@@ -686,7 +686,7 @@ discard block |
||
| 686 | 686 | */ |
| 687 | 687 | public function getCartSummaryCheckoutProductLoopNameXpath($itemCount) |
| 688 | 688 | { |
| 689 | - $return = sprintf($this->cartSummaryCheckoutProductLoopNameXpath , $itemCount); |
|
| 689 | + $return = sprintf($this->cartSummaryCheckoutProductLoopNameXpath, $itemCount); |
|
| 690 | 690 | return $this->translatePlaceholders($return); |
| 691 | 691 | } |
| 692 | 692 | |
@@ -695,7 +695,7 @@ discard block |
||
| 695 | 695 | */ |
| 696 | 696 | public function getCartSummaryCheckoutProductLoopQtyXpath($itemCount) |
| 697 | 697 | { |
| 698 | - $return = sprintf($this->cartSummaryCheckoutProductLoopQtyXpath , $itemCount); |
|
| 698 | + $return = sprintf($this->cartSummaryCheckoutProductLoopQtyXpath, $itemCount); |
|
| 699 | 699 | return $this->translatePlaceholders($return); |
| 700 | 700 | } |
| 701 | 701 | |
@@ -704,7 +704,7 @@ discard block |
||
| 704 | 704 | */ |
| 705 | 705 | public function getCartSummaryCheckoutProductLoopSubtotalXpath($itemCount) |
| 706 | 706 | { |
| 707 | - $return = sprintf($this->cartSummaryCheckoutProductLoopSubtotalXpath , $itemCount); |
|
| 707 | + $return = sprintf($this->cartSummaryCheckoutProductLoopSubtotalXpath, $itemCount); |
|
| 708 | 708 | return $this->translatePlaceholders($return); |
| 709 | 709 | } |
| 710 | 710 | |
@@ -57,7 +57,7 @@ discard block |
||
| 57 | 57 | public $shippingNewAddressXpath = '//select[@id="shipping-address-select"]/option[.="{{New Address}}"]'; |
| 58 | 58 | |
| 59 | 59 | public $billingContinueButtonXpath = '//div[@id="billing-buttons-container"]/descendant::button[@title="Continue"]'; |
| 60 | - public $billingContinueCompletedXpath = '//span[@id="billing-please-wait"]'; |
|
| 60 | + public $billingContinueCompletedXpath = '//span[@id="billing-please-wait"]'; |
|
| 61 | 61 | |
| 62 | 62 | |
| 63 | 63 | public $shippingFirstNameXpath = '//input[@id="shipping:firstname"]'; |
@@ -79,24 +79,24 @@ discard block |
||
| 79 | 79 | public $shippingTelephoneXpath = '//input[@id="shipping:telephone"]'; |
| 80 | 80 | public $shippingFaxXpath = '//input[@id="shipping:fax"]'; |
| 81 | 81 | public $shippingContinueButtonXpath = '//div[@id="shipping-buttons-container"]/descendant::button[@title="Continue"]'; |
| 82 | - public $shippingContinueCompletedXpath = '//span[@id="shipping-please-wait"]'; |
|
| 83 | - public $shippingMethodContinueCompletedXpath = '//span[@id="shipping-method-please-wait"]'; |
|
| 82 | + public $shippingContinueCompletedXpath = '//span[@id="shipping-please-wait"]'; |
|
| 83 | + public $shippingMethodContinueCompletedXpath = '//span[@id="shipping-method-please-wait"]'; |
|
| 84 | 84 | |
| 85 | 85 | public $shippingMethodContinueButtonXpath = '//div[@id="shipping-method-buttons-container"]/descendant::button'; |
| 86 | - public $defaultShippingXpath = '//input[@name="shipping_method"]'; |
|
| 86 | + public $defaultShippingXpath = '//input[@name="shipping_method"]'; |
|
| 87 | 87 | |
| 88 | 88 | public $paymentMethodContinueCompleteXpath = '//span[@id="payment-please-wait"]'; |
| 89 | 89 | |
| 90 | 90 | public $paymentMethodContinueButtonXpath = '//div[@id="payment-buttons-container"]/descendant::button'; |
| 91 | 91 | |
| 92 | - public $placeOrderButtonXpath = '//div[@id="review-buttons-container"]/descendant::button[@title="Place Order"]'; |
|
| 92 | + public $placeOrderButtonXpath = '//div[@id="review-buttons-container"]/descendant::button[@title="Place Order"]'; |
|
| 93 | 93 | |
| 94 | 94 | public $orderReceivedCompleteXpath = '//h1[.="Your order has been received."]'; |
| 95 | 95 | |
| 96 | 96 | public $shippingMethodFormXpath = '//form[@id="co-shipping-method-form"]'; |
| 97 | 97 | |
| 98 | 98 | public $passwordInputXpath = '//input[@id="billing:customer_password"]'; |
| 99 | - public $confirmPasswordInputXpath = '//input[@id="billing:confirm_password"]'; |
|
| 99 | + public $confirmPasswordInputXpath = '//input[@id="billing:confirm_password"]'; |
|
| 100 | 100 | |
| 101 | 101 | /** |
| 102 | 102 | * This is a hard one. Each of the summary checkout products will be iterated over until they cannot be found. Having |
@@ -113,10 +113,10 @@ discard block |
||
| 113 | 113 | public $cartSummaryCheckoutProductLoopQtyXpath = '(//table[@id="checkout-review-table"]/tbody/descendant::td[@data-rwd-label="{{Qty}}"])[%d]'; |
| 114 | 114 | public $cartSummaryCheckoutProductLoopSubtotalXpath = '(//table[@id="checkout-review-table"]/tbody/descendant::td[@data-rwd-label="{{Subtotal}}"])[%d]'; |
| 115 | 115 | |
| 116 | - public $cartSummaryCheckoutSubTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Subtotal}} "]/../td[2]'; |
|
| 117 | - public $cartSummaryCheckoutTax = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Tax}} "]/../td[2]'; |
|
| 118 | - public $cartSummaryCheckoutGrandTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Grand Total}} "]/../td[2]'; |
|
| 119 | - public $cartSummaryCheckoutShippingTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[contains(concat(" ",normalize-space(.)," "), " {{Shipping & Handling}} (")]/../td[2]'; |
|
| 116 | + public $cartSummaryCheckoutSubTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Subtotal}} "]/../td[2]'; |
|
| 117 | + public $cartSummaryCheckoutTax = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Tax}} "]/../td[2]'; |
|
| 118 | + public $cartSummaryCheckoutGrandTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[concat(" ",normalize-space(.)," ") = " {{Grand Total}} "]/../td[2]'; |
|
| 119 | + public $cartSummaryCheckoutShippingTotal = '//table[@id="checkout-review-table"]/tfoot/tr/td[contains(concat(" ",normalize-space(.)," "), " {{Shipping & Handling}} (")]/../td[2]'; |
|
| 120 | 120 | |
| 121 | 121 | |
| 122 | 122 | } |
| 123 | 123 | \ No newline at end of file |
@@ -15,20 +15,20 @@ discard block |
||
| 15 | 15 | /** |
| 16 | 16 | * @var string The Xpath string that finds the base of the navigation menu |
| 17 | 17 | */ |
| 18 | - public $navigationBaseXPathSelector = '//nav[@id="nav"]/ol'; |
|
| 18 | + public $navigationBaseXPathSelector = '//nav[@id="nav"]/ol'; |
|
| 19 | 19 | |
| 20 | 20 | /** |
| 21 | 21 | * @var string The Xpath string that can be used iteratively to find child navigation nodes |
| 22 | 22 | */ |
| 23 | 23 | |
| 24 | - public $navigationChildXPathSelector = 'a[concat(" ",normalize-space(.)," ") = " %s "]/..'; |
|
| 24 | + public $navigationChildXPathSelector = 'a[concat(" ",normalize-space(.)," ") = " %s "]/..'; |
|
| 25 | 25 | |
| 26 | 26 | /** |
| 27 | 27 | * @var string A simple, default path to use for categories. |
| 28 | 28 | */ |
| 29 | 29 | |
| 30 | - public $navigationPathToSimpleProductCategory = '{{Accessories}}/{{Jewelry}}'; |
|
| 31 | - public $navigationPathToConfigurableProductCategory = '{{Men}}/{{Shirts}}'; |
|
| 30 | + public $navigationPathToSimpleProductCategory = '{{Accessories}}/{{Jewelry}}'; |
|
| 31 | + public $navigationPathToConfigurableProductCategory = '{{Men}}/{{Shirts}}'; |
|
| 32 | 32 | |
| 33 | 33 | public $defaultSimpleProductName = '{{Blue Horizons Bracelets}}'; |
| 34 | 34 | public $defaultConfigurableProductName = '{{Plaid Cotton Shirt}}'; |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * @var string Xpath to add a Simple product to the cart from the product's page |
| 38 | 38 | */ |
| 39 | 39 | |
| 40 | - public $addToCartXpath = '//button[@title="{{Add to Cart}}" and contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 40 | + public $addToCartXpath = '//button[@title="{{Add to Cart}}" and contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 41 | 41 | |
| 42 | 42 | /** |
| 43 | 43 | * @var string Xpath to add a Simple product to the cart from the category page |
@@ -49,16 +49,16 @@ discard block |
||
| 49 | 49 | * @var string Xpath to find a product's link on a category page. Used to navigate to the product from the category |
| 50 | 50 | */ |
| 51 | 51 | |
| 52 | - public $categoryProductPageXpath = '//h2[@class="product-name"]/descendant::a'; |
|
| 52 | + public $categoryProductPageXpath = '//h2[@class="product-name"]/descendant::a'; |
|
| 53 | 53 | |
| 54 | - public $categorySpecificProductPageXpath = '//h2[@class="product-name"]/descendant::a[.="%s"]'; |
|
| 54 | + public $categorySpecificProductPageXpath = '//h2[@class="product-name"]/descendant::a[.="%s"]'; |
|
| 55 | 55 | |
| 56 | 56 | |
| 57 | 57 | /** |
| 58 | 58 | * @var string Xpath used after a product has been added to the cart to verify that the product has been added to the cart |
| 59 | 59 | */ |
| 60 | 60 | |
| 61 | - public $addToCartSuccessXpath = '//li[@class="success-msg" and contains(., "{{was added to your shopping cart}}")]'; |
|
| 61 | + public $addToCartSuccessXpath = '//li[@class="success-msg" and contains(., "{{was added to your shopping cart}}")]'; |
|
| 62 | 62 | |
| 63 | 63 | /** |
| 64 | 64 | * @var string The base URL of the installation |
@@ -72,12 +72,12 @@ discard block |
||
| 72 | 72 | * @var array Instructions in an Xpath array syntax to get to the login page. |
| 73 | 73 | */ |
| 74 | 74 | |
| 75 | - public $navigateToCustomerPageInstructions = [ |
|
| 75 | + public $navigateToCustomerPageInstructions = [ |
|
| 76 | 76 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="account-cart-wrapper"]/descendant::span[.="{{Account}}"]'], |
| 77 | 77 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@id="header-account"]/descendant::a[@title="{{My Account}}"]'] |
| 78 | 78 | ]; |
| 79 | 79 | |
| 80 | - public $cartNavigationInstructions = [ |
|
| 80 | + public $cartNavigationInstructions = [ |
|
| 81 | 81 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="account-cart-wrapper"]/descendant::span[.="{{Account}}"]'], |
| 82 | 82 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@id="header-account"]/descendant::a[contains(concat(" ",normalize-space(@class)," ")," top-link-cart ")]'] |
| 83 | 83 | ]; |
@@ -86,7 +86,7 @@ discard block |
||
| 86 | 86 | * @var array Instructions in an Xpath array syntax to get to the start of the checkout page |
| 87 | 87 | */ |
| 88 | 88 | |
| 89 | - public $checkoutNavigationInstructions = [ |
|
| 89 | + public $checkoutNavigationInstructions = [ |
|
| 90 | 90 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="header-minicart"]/descendant::span[.="{{Cart}}"]'], |
| 91 | 91 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="minicart-actions"]/descendant::a[@title="{{Checkout}}"]'] |
| 92 | 92 | ]; |
@@ -95,7 +95,7 @@ discard block |
||
| 95 | 95 | * @var array Instructions in an Xpath array syntax to get to the customer registration page |
| 96 | 96 | */ |
| 97 | 97 | |
| 98 | - public $registrationNavigationInstructions = [ |
|
| 98 | + public $registrationNavigationInstructions = [ |
|
| 99 | 99 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="account-cart-wrapper"]/descendant::span[.="{{Account}}"]'], |
| 100 | 100 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@id="header-account"]/descendant::a[@title="{{Register}}"]'] |
| 101 | 101 | ]; |
@@ -104,7 +104,7 @@ discard block |
||
| 104 | 104 | * @var array Instructions in an Xpath array syntax to get to the customer registration page |
| 105 | 105 | */ |
| 106 | 106 | |
| 107 | - public $logoutNavigationInstructions = [ |
|
| 107 | + public $logoutNavigationInstructions = [ |
|
| 108 | 108 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@class="account-cart-wrapper"]/descendant::span[.="{{Account}}"]'], |
| 109 | 109 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//div[@id="header-account"]/descendant::a[@title="{{Log Out}}"]'] |
| 110 | 110 | ]; |
@@ -132,7 +132,7 @@ discard block |
||
| 132 | 132 | public $productListOriginalPriceXpath = '/descendant::div[@class="price-box"]/descendant::p[@class="old-price"]/descendant::*[@class="price"]'; |
| 133 | 133 | public $productListPriceXpath = '/descendant::div[@class="price-box"]/descendant::*[@class="regular-price" or @class="special-price"]/descendant::span[@class="price"]'; |
| 134 | 134 | public $productListWishlistLinkXpath = '/descendant::ul[@class="add-to-links"]/descendant::a[@class="link-wishlist"]'; |
| 135 | - public $productListAddToCartLinkXpath = '/descendant::p[@class="action"]/descendant::button[contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 135 | + public $productListAddToCartLinkXpath = '/descendant::p[@class="action"]/descendant::button[contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 136 | 136 | |
| 137 | 137 | public $productGridBaseXpath = '//ul[contains(concat(" ",normalize-space(@class)," ")," products-grid ")]/li[%d]'; |
| 138 | 138 | public $productGridDescriptionXpath = '/*[.="no description in the grid view"]'; |
@@ -143,15 +143,15 @@ discard block |
||
| 143 | 143 | public $productGridOriginalPriceXpath = '/descendant::div[@class="price-box"]/descendant::p[@class="old-price"]/descendant::*[@class="price"]'; |
| 144 | 144 | public $productGridPriceXpath = '/descendant::div[@class="price-box"]/descendant::*[@class="regular-price" or @class="special-price"]/descendant::span[@class="price"]'; |
| 145 | 145 | public $productGridWishlistLinkXpath = '/descendant::ul[@class="add-to-links"]/descendant::a[@class="link-wishlist"]'; |
| 146 | - public $productGridAddToCartLinkXpath = '/descendant::div[@class="actions"]/descendant::button[contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 146 | + public $productGridAddToCartLinkXpath = '/descendant::div[@class="actions"]/descendant::button[contains(concat(" ",normalize-space(@class)," ")," btn-cart ")]'; |
|
| 147 | 147 | |
| 148 | 148 | public $productCollectionViewModeXpath = '//p[@class="view-mode"]/strong'; |
| 149 | 149 | public $productCollectionSortByXpath = '//div[@class="sort-by"]/descendant::option[@selected]'; // We select using the div, not the title because the title may be translated |
| 150 | 150 | public $productCollectionShowCountXpath = '//div[@class="limiter"]/descendant::option[@selected]'; // dittos |
| 151 | - public $productCollectionShowCountOptionsXpath = '//div[@class="limiter"]/descendant::option'; |
|
| 151 | + public $productCollectionShowCountOptionsXpath = '//div[@class="limiter"]/descendant::option'; |
|
| 152 | 152 | public $productCollectionProductCountXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," pager ")]/descendant::p[contains(concat(" ",normalize-space(@class)," ")," amount ")]'; |
| 153 | 153 | |
| 154 | - public $layeredNavigationBaseXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," block-layered-nav ")]'; |
|
| 154 | + public $layeredNavigationBaseXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," block-layered-nav ")]'; |
|
| 155 | 155 | |
| 156 | 156 | public $searchInputXpath = '//input[@id="search"]'; |
| 157 | 157 | public $searchSubmitXpath = '//form[@id="search_mini_form"]/descendant::button[@title="Search"]'; |
@@ -164,7 +164,7 @@ discard block |
||
| 164 | 164 | public $configurableProductLabelXpath = '//div[@id="product-options-wrapper"]/descendant::label'; |
| 165 | 165 | public $configurableSwatchSelectorXpath = '(%s)[%d]/ancestor::dt/following-sibling::dd[1]/descendant::a[%d]'; |
| 166 | 166 | public $configurableSwatchImgXpath = '(%s)[%d]/ancestor::dt/following-sibling::dd[1]/descendant::a[%d]/descendant::img'; |
| 167 | - public $configurableSwatchNotAvailableXpath = '(%s)[%d]/ancestor::dt/following-sibling::dd[1]/descendant::a[%d]/ancestor::li[contains(concat(" ",normalize-space(@class)," ")," not-available ")]'; |
|
| 167 | + public $configurableSwatchNotAvailableXpath = '(%s)[%d]/ancestor::dt/following-sibling::dd[1]/descendant::a[%d]/ancestor::li[contains(concat(" ",normalize-space(@class)," ")," not-available ")]'; |
|
| 168 | 168 | |
| 169 | 169 | public $configurableProductOptionXpath = '(%s)[%d]/ancestor::dt/following-sibling::dd[1]/descendant::option[starts-with(., "%s")]'; |
| 170 | 170 | |
@@ -173,17 +173,17 @@ discard block |
||
| 173 | 173 | public $breadCrumbMemberXpath = '/descendant::a[concat(" ",normalize-space(.)," ")=" {{%s}} "]'; |
| 174 | 174 | public $breadCrumbSelectorXpath = '/descendant::a[%d]'; |
| 175 | 175 | |
| 176 | - public $layeredNavigationFilterNameXpath = '//dl[@id="narrow-by-list"]/dt'; |
|
| 176 | + public $layeredNavigationFilterNameXpath = '//dl[@id="narrow-by-list"]/dt'; |
|
| 177 | 177 | |
| 178 | 178 | public $layeredNavigationFilterTypesXpath = '//dt[.="%s"]/following-sibling::dd[1]/descendant::li'; |
| 179 | 179 | public $layeredNavigationSwatchFilterTypesXpath = '//dt[.="%s"]/following-sibling::dd[1]/descendant::li'; |
| 180 | 180 | public $layeredNavigationFilterLinkXpath = '//dt[.="%s"]/following-sibling::dd[1]/descendant::li/descendant::a'; |
| 181 | - public $layeredNavigationFilterNameElementXpath = '//dl[@id="narrow-by-list"]/dt[normalize-space(.) = "%s"]'; |
|
| 181 | + public $layeredNavigationFilterNameElementXpath = '//dl[@id="narrow-by-list"]/dt[normalize-space(.) = "%s"]'; |
|
| 182 | 182 | |
| 183 | 183 | public $layeredNavigationSwatchAppliesXpath = '//dt[.="%s"]/following-sibling::dd[1]/descendant::ol[contains(concat(" ",normalize-space(@class)," ")," configurable-swatch-list ")]'; |
| 184 | 184 | public $layeredNavigationSwatchTitleAttribute = 'title'; |
| 185 | 185 | |
| 186 | - public $storeSwitcherInstructionsXpath = [ |
|
| 186 | + public $storeSwitcherInstructionsXpath = [ |
|
| 187 | 187 | [\Magium\WebDriver\WebDriver::INSTRUCTION_MOUSE_CLICK, '//select[@id="select-language"]/descendant::option[contains(@value,"___store=%s")]'], |
| 188 | 188 | ]; |
| 189 | 189 | |
@@ -7,26 +7,26 @@ discard block |
||
| 7 | 7 | class ThemeConfiguration extends AbstractThemeConfiguration |
| 8 | 8 | { |
| 9 | 9 | |
| 10 | - public $accountNavigationXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," block-account ")]/descendant::a[.="%s"]'; |
|
| 10 | + public $accountNavigationXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," block-account ")]/descendant::a[.="%s"]'; |
|
| 11 | 11 | public $accountSectionHeaderXpath = '//div[contains(concat(" ",normalize-space(@class)," ")," col-main ")]/descendant::h1[.="%s"]'; |
| 12 | 12 | |
| 13 | - public $orderPageName = '{{My Orders}}'; |
|
| 13 | + public $orderPageName = '{{My Orders}}'; |
|
| 14 | 14 | |
| 15 | 15 | public $viewOrderLinkXpath = '//td[@class="number" and .="%s"]/../td/descendant::a[.="{{View Order}}"]'; |
| 16 | 16 | |
| 17 | - public $orderPageTitleContainsText = '{{Order}} #'; |
|
| 17 | + public $orderPageTitleContainsText = '{{Order}} #'; |
|
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | 20 | * @var string Xpath for the customer email form element |
| 21 | 21 | */ |
| 22 | 22 | |
| 23 | - public $loginUsernameField = '//input[@type="email" and @id="email"]'; |
|
| 23 | + public $loginUsernameField = '//input[@type="email" and @id="email"]'; |
|
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * @var string Xpath for the customer password form element |
| 27 | 27 | */ |
| 28 | 28 | |
| 29 | - public $loginPasswordField = '//input[@type="password" and @id="pass"]'; |
|
| 29 | + public $loginPasswordField = '//input[@type="password" and @id="pass"]'; |
|
| 30 | 30 | |
| 31 | 31 | |
| 32 | 32 | /** |
@@ -41,19 +41,19 @@ discard block |
||
| 41 | 41 | public $orderShippingMethod = '//h2[.="{{Shipping Method}}"]/../../descendant::div[contains(concat(" ",normalize-space(@class)," ")," box-content ")]'; |
| 42 | 42 | public $orderPaymentMethod = '//h2[.="{{Payment Method}}"]/../../descendant::div[contains(concat(" ",normalize-space(@class)," ")," box-content ")]'; |
| 43 | 43 | |
| 44 | - public $orderItemNameXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::h3[contains(concat(" ",normalize-space(@class)," ")," product-name ")]'; |
|
| 44 | + public $orderItemNameXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::h3[contains(concat(" ",normalize-space(@class)," ")," product-name ")]'; |
|
| 45 | 45 | public $orderItemSkuXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="SKU"]'; |
| 46 | - public $orderItemPriceXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="Price"]/descendant::span[@class="price"]'; |
|
| 46 | + public $orderItemPriceXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="Price"]/descendant::span[@class="price"]'; |
|
| 47 | 47 | public $orderItemQtyXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="Qty"]'; |
| 48 | 48 | |
| 49 | 49 | public $orderItemQtyOrderedRegex = '/{{Ordered}}:\s+(\d+)/'; |
| 50 | 50 | public $orderItemQtyShippedRegex = '/{{Shipped}}:\s+(\d+)/'; |
| 51 | 51 | |
| 52 | - public $orderItemSubtotalXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="Subtotal"]/descendant::span[@class="price"]'; |
|
| 52 | + public $orderItemSubtotalXpath = '//table[@id="my-orders-table"]/tbody/tr[%d]/descendant::td[@data-rwd-label="Subtotal"]/descendant::span[@class="price"]'; |
|
| 53 | 53 | |
| 54 | 54 | public $orderSubtotalXpath = '//table[@id="my-orders-table"]/descendant::tr[contains(concat(" ",normalize-space(@class)," ")," subtotal ")]/td[2]/span[@class="price"]'; |
| 55 | 55 | public $orderShippingAndHandlingXpath = '//table[@id="my-orders-table"]/descendant::tr[contains(concat(" ",normalize-space(@class)," ")," shipping ")]/td[2]/span[@class="price"]'; |
| 56 | - public $orderTaxXpath = '//table[@id="my-orders-table"]/descendant::td[concat(" ",normalize-space(.)," ") = " {{Tax}} "]/following-sibling::td[1]/span[@class="price"]'; |
|
| 56 | + public $orderTaxXpath = '//table[@id="my-orders-table"]/descendant::td[concat(" ",normalize-space(.)," ") = " {{Tax}} "]/following-sibling::td[1]/span[@class="price"]'; |
|
| 57 | 57 | public $orderGrandTotalXpath = '//table[@id="my-orders-table"]/descendant::tr[contains(concat(" ",normalize-space(@class)," ")," grand_total ")]/td[2]/descendant::span[@class="price"]'; |
| 58 | 58 | |
| 59 | 59 | public $orderDateXpath = '//p[@class="order-date"]'; |