diff --git a/lib/Magento/Actions/Admin/Cache/AbstractCacheAction.php b/lib/Magento/Actions/Admin/Cache/AbstractCacheAction.php index cf0fe31..54e4a20 100644 --- a/lib/Magento/Actions/Admin/Cache/AbstractCacheAction.php +++ b/lib/Magento/Actions/Admin/Cache/AbstractCacheAction.php @@ -3,12 +3,13 @@ namespace Magium\Magento\Actions\Admin\Cache; use Facebook\WebDriver\WebDriverBy; +use Magium\Actions\StaticActionInterface; use Magium\Magento\Actions\Admin\WaitForPageLoaded; use Magium\Magento\Navigators\Admin\AdminMenu; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -abstract class AbstractCacheAction +abstract class AbstractCacheAction implements StaticActionInterface { const TARGET_CONFIGURATION = 'config'; diff --git a/lib/Magento/Actions/Admin/Configuration/Save.php b/lib/Magento/Actions/Admin/Configuration/Save.php index ab02538..b88aee6 100644 --- a/lib/Magento/Actions/Admin/Configuration/Save.php +++ b/lib/Magento/Actions/Admin/Configuration/Save.php @@ -3,12 +3,13 @@ namespace Magium\Magento\Actions\Admin\Configuration; use Magium\AbstractTestCase; +use Magium\Actions\StaticActionInterface; use Magium\Magento\AbstractMagentoTestCase; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Save +class Save implements StaticActionInterface { const ACTION = 'Admin\Configuration\Save'; @@ -39,4 +40,9 @@ public function save() $this->testCase->assertElementDisplayed($this->adminThemeConfiguration->getSystemConfigSaveSuccessfulXpath(), WebDriver::BY_XPATH); } + public function execute() + { + $this->save(); + } + } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/Login/Login.php b/lib/Magento/Actions/Admin/Login/Login.php index 6ba40f9..aaa1f4a 100644 --- a/lib/Magento/Actions/Admin/Login/Login.php +++ b/lib/Magento/Actions/Admin/Login/Login.php @@ -2,6 +2,7 @@ namespace Magium\Magento\Actions\Admin\Login; +use Magium\Actions\StaticActionInterface; use Magium\Commands\Open; use Magium\Magento\AbstractMagentoTestCase; use Magium\Magento\Extractors\Admin\Login\Messages; @@ -11,7 +12,7 @@ use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Login +class Login implements StaticActionInterface { const ACTION = 'Admin\Login\Login'; diff --git a/lib/Magento/Actions/Admin/Orders/Invoice.php b/lib/Magento/Actions/Admin/Orders/Invoice.php index f6d86ac..063b85f 100644 --- a/lib/Magento/Actions/Admin/Orders/Invoice.php +++ b/lib/Magento/Actions/Admin/Orders/Invoice.php @@ -3,6 +3,7 @@ namespace Magium\Magento\Actions\Admin\Orders; use Magium\AbstractTestCase; +use Magium\Actions\StaticActionInterface; use Magium\Actions\SubAction\SubActionInterface; use Magium\Actions\SubAction\SubActionSupported; use Magium\Magento\Actions\Admin\WaitForPageLoaded; @@ -10,7 +11,7 @@ use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -class Invoice implements SubActionSupported +class Invoice implements SubActionSupported, StaticActionInterface { const ACTION = 'Admin\Orders\Invoice'; diff --git a/lib/Magento/Actions/Admin/Orders/Ship.php b/lib/Magento/Actions/Admin/Orders/Ship.php index 56e6f25..bfb721c 100644 --- a/lib/Magento/Actions/Admin/Orders/Ship.php +++ b/lib/Magento/Actions/Admin/Orders/Ship.php @@ -3,6 +3,7 @@ namespace Magium\Magento\Actions\Admin\Orders; use Magium\AbstractTestCase; +use Magium\Actions\StaticActionInterface; use Magium\Actions\SubAction\SubActionInterface; use Magium\Actions\SubAction\SubActionSupported; use Magium\Magento\Actions\Admin\WaitForPageLoaded; @@ -10,7 +11,7 @@ use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -class Ship implements SubActionSupported +class Ship implements SubActionSupported, StaticActionInterface { const ACTION = 'Admin\Orders\Ship'; diff --git a/lib/Magento/Actions/Admin/Orders/Ship/AddTrackingNumber.php b/lib/Magento/Actions/Admin/Orders/Ship/AddTrackingNumber.php index 301522f..8ccfcdd 100644 --- a/lib/Magento/Actions/Admin/Orders/Ship/AddTrackingNumber.php +++ b/lib/Magento/Actions/Admin/Orders/Ship/AddTrackingNumber.php @@ -4,11 +4,12 @@ use Facebook\WebDriver\WebDriverSelect; use Magium\AbstractTestCase; +use Magium\Actions\StaticActionInterface; use Magium\Actions\SubAction\SubActionInterface; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -class AddTrackingNumber implements SubActionInterface +class AddTrackingNumber implements SubActionInterface, StaticActionInterface { const ACTION = 'Admin\Orders\Ship\AddTrackingNumber'; diff --git a/lib/Magento/Actions/Admin/Tables/ClearTableFilters.php b/lib/Magento/Actions/Admin/Tables/ClearTableFilters.php index f8635b9..fed6c78 100644 --- a/lib/Magento/Actions/Admin/Tables/ClearTableFilters.php +++ b/lib/Magento/Actions/Admin/Tables/ClearTableFilters.php @@ -3,9 +3,10 @@ namespace Magium\Magento\Actions\Admin\Tables; use Facebook\WebDriver\WebDriverBy; +use Magium\Actions\StaticActionInterface; use Magium\WebDriver\WebDriver; -class ClearTableFilters +class ClearTableFilters implements StaticActionInterface { const ACTION = 'Admin\Tables\ClearTableFilters'; @@ -26,4 +27,10 @@ public function clear() $element->clear(); } } + + public function execute() + { + $this->clear(); + } + } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/Tables/ClickButton.php b/lib/Magento/Actions/Admin/Tables/ClickButton.php index a109f16..c7f635c 100644 --- a/lib/Magento/Actions/Admin/Tables/ClickButton.php +++ b/lib/Magento/Actions/Admin/Tables/ClickButton.php @@ -3,11 +3,12 @@ namespace Magium\Magento\Actions\Admin\Tables; +use Magium\Actions\ConfigurableActionInterface; use Magium\Magento\AbstractMagentoTestCase; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -class ClickButton +class ClickButton implements ConfigurableActionInterface { const ACTION = 'Admin\Tables\ClickButton'; @@ -35,4 +36,9 @@ public function click($text) } + public function execute($param) + { + $this->click($param); + } + } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/Tables/RemoveTermsAndConditions.php b/lib/Magento/Actions/Admin/Tables/RemoveTermsAndConditions.php index 08ab964..e1c3123 100644 --- a/lib/Magento/Actions/Admin/Tables/RemoveTermsAndConditions.php +++ b/lib/Magento/Actions/Admin/Tables/RemoveTermsAndConditions.php @@ -2,13 +2,14 @@ namespace Magium\Magento\Actions\Admin\Tables; +use Magium\Actions\OptionallyConfigurableActionInterface; use Magium\Magento\Actions\Admin\Widget\ClickActionButton; use Magium\Magento\Navigators\Admin\AdminMenu; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\Util\Translator\Translator; use Magium\WebDriver\WebDriver; -class RemoveTermsAndConditions +class RemoveTermsAndConditions implements OptionallyConfigurableActionInterface { const ACTION = 'Admin\Tables\RemoveTermsAndConditions'; @@ -50,4 +51,9 @@ public function removeAll($navigate = false) } + public function execute($param = null) + { + $this->removeAll($param); + } + } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/WaitForLoadingMask.php b/lib/Magento/Actions/Admin/WaitForLoadingMask.php index ef89356..15e88a7 100644 --- a/lib/Magento/Actions/Admin/WaitForLoadingMask.php +++ b/lib/Magento/Actions/Admin/WaitForLoadingMask.php @@ -2,10 +2,11 @@ namespace Magium\Magento\Actions\Admin; +use Magium\Actions\StaticActionInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class WaitForLoadingMask +class WaitForLoadingMask implements StaticActionInterface { const ACTION = 'Admin\WaitForLoadingMask'; @@ -23,4 +24,9 @@ public function wait() $this->webDriver->wait()->until(ExpectedCondition::not(ExpectedCondition::visibilityOf($this->webDriver->byId('loading-mask')))); } + public function execute() + { + $this->wait(); + } + } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/Widget/ClickActionButton.php b/lib/Magento/Actions/Admin/Widget/ClickActionButton.php index b685785..5bf2f3c 100644 --- a/lib/Magento/Actions/Admin/Widget/ClickActionButton.php +++ b/lib/Magento/Actions/Admin/Widget/ClickActionButton.php @@ -2,11 +2,12 @@ namespace Magium\Magento\Actions\Admin\Widget; +use Magium\Actions\ConfigurableActionInterface; use Magium\InvalidInstructionException; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\WebDriver\WebDriver; -class ClickActionButton +class ClickActionButton implements ConfigurableActionInterface { const ACTION = 'Admin\Widget\ClickActionButton'; @@ -35,9 +36,9 @@ public function click($label) $this->webDriver->byXpath($xpath)->click(); } - public function execute() + public function execute($label) { - throw new InvalidInstructionException('Use click() instead'); + $this->click($label); } } \ No newline at end of file diff --git a/lib/Magento/Actions/Admin/Widget/TermsAndConditions.php b/lib/Magento/Actions/Admin/Widget/TermsAndConditions.php index 43090ce..b02ce02 100644 --- a/lib/Magento/Actions/Admin/Widget/TermsAndConditions.php +++ b/lib/Magento/Actions/Admin/Widget/TermsAndConditions.php @@ -6,13 +6,14 @@ use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\WebDriverElement; use Facebook\WebDriver\WebDriverSelect; +use Magium\Actions\OptionallyConfigurableActionInterface; use Magium\Magento\Extractors\Admin\Widget\Attribute; use Magium\Magento\Navigators\Admin\AdminMenu; use Magium\Magento\Themes\Admin\ThemeConfiguration; use Magium\Util\Translator\Translator; use Magium\WebDriver\WebDriver; -class TermsAndConditions +class TermsAndConditions implements OptionallyConfigurableActionInterface { const ACTION = 'Admin\Widget\TermsAndConditions'; diff --git a/lib/Magento/Actions/Cart/AddConfigurableProductToCart.php b/lib/Magento/Actions/Cart/AddConfigurableProductToCart.php index 4ac4b62..b9005fd 100644 --- a/lib/Magento/Actions/Cart/AddConfigurableProductToCart.php +++ b/lib/Magento/Actions/Cart/AddConfigurableProductToCart.php @@ -2,6 +2,7 @@ namespace Magium\Magento\Actions\Cart; +use Magium\Actions\ActionInterface; use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Extractors\Catalog\Cart\AddToCart; use Magium\Magento\Extractors\Catalog\Product\ConfigurableProductOptions; @@ -12,7 +13,7 @@ use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\WebDriver\WebDriver; -class AddConfigurableProductToCart extends AddSimpleProductToCart +class AddConfigurableProductToCart extends AddSimpleProductToCart implements ActionInterface { const ACTION = 'Cart\AddConfigurableProductToCart'; diff --git a/lib/Magento/Actions/Cart/AddSimpleProductToCart.php b/lib/Magento/Actions/Cart/AddSimpleProductToCart.php index dc104bb..9cb39e1 100644 --- a/lib/Magento/Actions/Cart/AddSimpleProductToCart.php +++ b/lib/Magento/Actions/Cart/AddSimpleProductToCart.php @@ -2,12 +2,13 @@ namespace Magium\Magento\Actions\Cart; +use Magium\Actions\ActionInterface; use Magium\Magento\Extractors\Catalog\Cart\AddToCart; use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class AddSimpleProductToCart +class AddSimpleProductToCart implements ActionInterface { const ACTION = 'Cart\AddSimpleProductToCart'; diff --git a/lib/Magento/Navigators/Admin/Customer.php b/lib/Magento/Navigators/Admin/Customer.php index ef23b64..5827685 100644 --- a/lib/Magento/Navigators/Admin/Customer.php +++ b/lib/Magento/Navigators/Admin/Customer.php @@ -8,10 +8,11 @@ use Magium\Magento\Actions\Admin\WaitForLoadingMask; use Magium\Magento\Navigators\Admin\Customer\AbstractCustomerNavigation; use Magium\Magento\Themes\Admin\ThemeConfiguration; +use Magium\Navigators\NavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Customer +class Customer implements NavigatorInterface { const NAVIGATOR = 'Admin\Customer'; diff --git a/lib/Magento/Navigators/Admin/Order.php b/lib/Magento/Navigators/Admin/Order.php index aed9eed..4cf28ff 100644 --- a/lib/Magento/Navigators/Admin/Order.php +++ b/lib/Magento/Navigators/Admin/Order.php @@ -8,10 +8,11 @@ use Magium\Magento\Actions\Admin\Tables\ClickButton; use Magium\Magento\Actions\Admin\WaitForLoadingMask; use Magium\Magento\Themes\Admin\ThemeConfiguration; +use Magium\Navigators\NavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Order +class Order implements NavigatorInterface { const NAVIGATOR = 'Admin\Order'; diff --git a/lib/Magento/Navigators/Admin/SystemConfiguration.php b/lib/Magento/Navigators/Admin/SystemConfiguration.php index 53d6070..37756fb 100644 --- a/lib/Magento/Navigators/Admin/SystemConfiguration.php +++ b/lib/Magento/Navigators/Admin/SystemConfiguration.php @@ -7,9 +7,10 @@ use Magium\InvalidInstructionException; use Magium\Magento\AbstractMagentoTestCase; use Magium\Magento\Themes\Admin\ThemeConfiguration; +use Magium\Navigators\ConfigurableNavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class SystemConfiguration +class SystemConfiguration implements ConfigurableNavigatorInterface { const NAVIGATOR = 'Admin\SystemConfiguration'; diff --git a/lib/Magento/Navigators/Admin/Widget/Tab.php b/lib/Magento/Navigators/Admin/Widget/Tab.php index 9c155c6..d8ed7dc 100644 --- a/lib/Magento/Navigators/Admin/Widget/Tab.php +++ b/lib/Magento/Navigators/Admin/Widget/Tab.php @@ -4,10 +4,11 @@ use Magium\Magento\Actions\Admin\WaitForLoadingMask; use Magium\Magento\Themes\Admin\ThemeConfiguration; +use Magium\Navigators\ConfigurableNavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Tab +class Tab implements ConfigurableNavigatorInterface { const NAVIGATOR = 'Admin\Widget\Tab'; diff --git a/lib/Magento/Navigators/BaseMenu.php b/lib/Magento/Navigators/BaseMenu.php index bd56e0a..1ec64d2 100644 --- a/lib/Magento/Navigators/BaseMenu.php +++ b/lib/Magento/Navigators/BaseMenu.php @@ -6,11 +6,12 @@ use Facebook\WebDriver\WebDriverElement; use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Themes\NavigableThemeInterface; +use Magium\Navigators\ConfigurableNavigatorInterface; use Magium\Util\Log\Logger; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class BaseMenu +class BaseMenu implements ConfigurableNavigatorInterface { const NAVIGATOR = 'BaseMenu'; protected $webdriver; diff --git a/lib/Magento/Navigators/Cart/Cart.php b/lib/Magento/Navigators/Cart/Cart.php index 708d5cc..84490a3 100644 --- a/lib/Magento/Navigators/Cart/Cart.php +++ b/lib/Magento/Navigators/Cart/Cart.php @@ -4,8 +4,9 @@ use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\Navigators\InstructionNavigator; +use Magium\Navigators\StaticNavigatorInterface; -class Cart +class Cart implements StaticNavigatorInterface { const NAVIGATOR = 'Cart\Cart'; diff --git a/lib/Magento/Navigators/Catalog/AbstractDefaultCategory.php b/lib/Magento/Navigators/Catalog/AbstractDefaultCategory.php index 74b2f03..53da55f 100644 --- a/lib/Magento/Navigators/Catalog/AbstractDefaultCategory.php +++ b/lib/Magento/Navigators/Catalog/AbstractDefaultCategory.php @@ -4,8 +4,9 @@ use Magium\Magento\Navigators\BaseMenu; use Magium\Magento\Themes\AbstractThemeConfiguration; +use Magium\Navigators\StaticNavigatorInterface; -abstract class AbstractDefaultCategory +abstract class AbstractDefaultCategory implements StaticNavigatorInterface { protected $theme; @@ -20,6 +21,4 @@ public function __construct( $this->navigator = $navigator; } - abstract function navigateTo(); - } \ No newline at end of file diff --git a/lib/Magento/Navigators/Catalog/AbstractDefaultProduct.php b/lib/Magento/Navigators/Catalog/AbstractDefaultProduct.php index 824f8e0..7dd8493 100644 --- a/lib/Magento/Navigators/Catalog/AbstractDefaultProduct.php +++ b/lib/Magento/Navigators/Catalog/AbstractDefaultProduct.php @@ -4,8 +4,9 @@ use Magium\Magento\Navigators\BaseMenu; use Magium\Magento\Themes\AbstractThemeConfiguration; +use Magium\Navigators\StaticNavigatorInterface; -abstract class AbstractDefaultProduct +abstract class AbstractDefaultProduct implements StaticNavigatorInterface { protected $theme; @@ -20,6 +21,4 @@ public function __construct( $this->product = $product; } - abstract function navigateTo(); - } \ No newline at end of file diff --git a/lib/Magento/Navigators/Catalog/Product.php b/lib/Magento/Navigators/Catalog/Product.php index bc441df..f9198c6 100644 --- a/lib/Magento/Navigators/Catalog/Product.php +++ b/lib/Magento/Navigators/Catalog/Product.php @@ -4,9 +4,11 @@ use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Themes\AbstractThemeConfiguration; +use Magium\Navigators\ConfigurableNavigatorInterface; +use Magium\Navigators\StaticNavigatorInterface; use Magium\WebDriver\WebDriver; -class Product +class Product implements ConfigurableNavigatorInterface { const NAVIGATOR = 'Catalog\Product'; diff --git a/lib/Magento/Navigators/Checkout/CheckoutStart.php b/lib/Magento/Navigators/Checkout/CheckoutStart.php index 57b4ca3..2050fe4 100644 --- a/lib/Magento/Navigators/Checkout/CheckoutStart.php +++ b/lib/Magento/Navigators/Checkout/CheckoutStart.php @@ -7,9 +7,10 @@ use Magium\Magento\Actions\Checkout\Steps\StepInterface; use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\Navigators\InstructionNavigator; +use Magium\Navigators\StaticNavigatorInterface; use Magium\WebDriver\WebDriver; -class CheckoutStart implements StepInterface +class CheckoutStart implements StepInterface, StaticNavigatorInterface { const NAVIGATOR = 'Checkout\CheckoutStart'; diff --git a/lib/Magento/Navigators/Customer/Account.php b/lib/Magento/Navigators/Customer/Account.php index 8523f72..5a04ed3 100644 --- a/lib/Magento/Navigators/Customer/Account.php +++ b/lib/Magento/Navigators/Customer/Account.php @@ -4,10 +4,11 @@ use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Themes\Customer\AbstractThemeConfiguration; +use Magium\Navigators\NavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class Account +class Account implements NavigatorInterface { const NAVIGATOR = 'Customer\Account'; protected $webDriver; diff --git a/lib/Magento/Navigators/Customer/AccountHome.php b/lib/Magento/Navigators/Customer/AccountHome.php index 53d624a..23fc054 100644 --- a/lib/Magento/Navigators/Customer/AccountHome.php +++ b/lib/Magento/Navigators/Customer/AccountHome.php @@ -5,8 +5,9 @@ use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\Navigators\InstructionNavigator; +use Magium\Navigators\StaticNavigatorInterface; -class AccountHome +class AccountHome implements StaticNavigatorInterface { const NAVIGATOR = 'Customer\AccountHome'; protected $theme; diff --git a/lib/Magento/Navigators/Customer/NavigateToOrder.php b/lib/Magento/Navigators/Customer/NavigateToOrder.php index 1180b72..599cb73 100644 --- a/lib/Magento/Navigators/Customer/NavigateToOrder.php +++ b/lib/Magento/Navigators/Customer/NavigateToOrder.php @@ -4,10 +4,11 @@ use Magium\Actions\WaitForPageLoaded; use Magium\Magento\Themes\Customer\AbstractThemeConfiguration; +use Magium\Navigators\ConfigurableNavigatorInterface; use Magium\WebDriver\ExpectedCondition; use Magium\WebDriver\WebDriver; -class NavigateToOrder +class NavigateToOrder implements ConfigurableNavigatorInterface { const NAVIGATOR = 'Customer\NavigateToOrder'; protected $webDriver; diff --git a/lib/Magento/Navigators/Customer/Registration.php b/lib/Magento/Navigators/Customer/Registration.php index 197ae2d..6304ae1 100644 --- a/lib/Magento/Navigators/Customer/Registration.php +++ b/lib/Magento/Navigators/Customer/Registration.php @@ -4,8 +4,9 @@ use Magium\Magento\Themes\AbstractThemeConfiguration; use Magium\Navigators\InstructionNavigator; +use Magium\Navigators\StaticNavigatorInterface; -class Registration +class Registration implements StaticNavigatorInterface { const NAVIGATOR = 'Customer\Registration';