本文整理汇总了PHP中Magento\Mtf\ObjectManager类的典型用法代码示例。如果您正苦于以下问题:PHP ObjectManager类的具体用法?PHP ObjectManager怎么用?PHP ObjectManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ObjectManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processAssert
/**
* Assert order is not visible in customer account on frontend
*
* @param OrderInjectable $order
* @param Customer $customer
* @param ObjectManager $objectManager
* @param CustomerAccountIndex $customerAccountIndex
* @param OrderHistory $orderHistory
* @param string $status
* @return void
*/
public function processAssert(OrderInjectable $order, Customer $customer, ObjectManager $objectManager, CustomerAccountIndex $customerAccountIndex, OrderHistory $orderHistory, $status)
{
$filter = ['id' => $order->getId(), 'status' => $status];
$customerLogin = $objectManager->create('Magento\\Customer\\Test\\TestStep\\LoginCustomerOnFrontendStep', ['customer' => $customer]);
$customerLogin->run();
$customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders');
\PHPUnit_Framework_Assert::assertFalse($orderHistory->getOrderHistoryBlock()->isOrderVisible($filter), 'Order with following data \'' . implode(', ', $filter) . '\' is present in Orders block on frontend.');
}
示例2: processAssert
/**
* Assert that order is present in Orders grid on frontend.
*
* @param OrderInjectable $order
* @param Customer $customer
* @param ObjectManager $objectManager
* @param CustomerAccountIndex $customerAccountIndex
* @param OrderHistory $orderHistory
* @param string $status
* @param string $orderId
* @param string|null $statusToCheck
* @return void
*/
public function processAssert(OrderInjectable $order, Customer $customer, ObjectManager $objectManager, CustomerAccountIndex $customerAccountIndex, OrderHistory $orderHistory, $status, $orderId = '', $statusToCheck = null)
{
$filter = ['id' => $order->hasData('id') ? $order->getId() : $orderId, 'status' => $statusToCheck === null ? $status : $statusToCheck];
$objectManager->create('Magento\\Customer\\Test\\TestStep\\LoginCustomerOnFrontendStep', ['customer' => $customer])->run();
$customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Orders');
$errorMessage = implode(', ', $filter);
\PHPUnit_Framework_Assert::assertTrue($orderHistory->getOrderHistoryBlock()->isOrderVisible($filter), 'Order with following data \'' . $errorMessage . '\' is absent in Orders block on frontend.');
}
示例3: run
/**
* Run a Mtf application
*
* @param $applicationName
* @param array $arguments
* @return mixed
* @throws \DomainException
*/
public function run($applicationName, array $arguments = [])
{
try {
if (!$this->_locator) {
$locatorFactory = new \Magento\Mtf\ObjectManagerFactory();
$this->_locator = $locatorFactory->create();
}
return $this->_locator->create($applicationName, $arguments)->launch();
} catch (\Exception $exception) {
$message = "Error happened during application run.\n";
$message .= $exception->getMessage();
throw new \DomainException($message);
}
}
示例4: processAssert
/**
* Place order and verify there is no checkbox Terms and Conditions.
*
* @param FixtureFactory $fixtureFactory
* @param ObjectManager $objectManager
* @param string $product
* @param BrowserInterface $browser
* @param CatalogProductView $catalogProductView
* @param CheckoutCart $checkoutCart
* @param CheckoutOnepage $checkoutOnepage
* @param CheckoutAgreement $agreement
* @param array $shipping
* @param array $payment
* @return void
*
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function processAssert(FixtureFactory $fixtureFactory, ObjectManager $objectManager, $product, BrowserInterface $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, CheckoutOnepage $checkoutOnepage, CheckoutAgreement $agreement, $shipping, $payment)
{
$createProductsStep = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', ['products' => $product]);
$product = $createProductsStep->run();
$billingAddress = $fixtureFactory->createByCode('address', ['dataset' => 'default']);
$browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html');
$catalogProductView->getViewBlock()->clickAddToCartButton();
$catalogProductView->getMessagesBlock()->waitSuccessMessage();
$checkoutCart->open();
$checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout();
$checkoutOnepage->getLoginBlock()->clickContinue();
$checkoutOnepage->getBillingBlock()->fill($billingAddress);
$checkoutOnepage->getBillingBlock()->clickContinue();
$checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping);
$checkoutOnepage->getShippingMethodBlock()->clickContinue();
$checkoutOnepage->getPaymentBlock()->selectPaymentMethod($payment);
\PHPUnit_Framework_Assert::assertFalse($checkoutOnepage->getAgreementReview()->checkAgreement($agreement), 'Checkout Agreement \'' . $agreement->getName() . '\' is present in the Place order step.');
}
示例5: __construct
/**
* @construct
* @param array $params
* @param string $data
*/
public function __construct(array $params, $data = '')
{
$this->params = $params;
/** @var \Magento\Mtf\Config\DataInterface $systemConfig */
if ($data == '%current_password%') {
$systemConfig = ObjectManager::getInstance()->create('Magento\\Mtf\\Config\\DataInterface');
$data = $systemConfig->get('application/0/backendPassword/0/value');
}
$this->data = $data;
}
示例6: __construct
/**
* @constructor
* @param array $params
* @param array $data
*/
public function __construct(array $params, array $data = [])
{
$this->params = $params;
$this->products = isset($data['products']) ? $data['products'] : [];
foreach ($this->products as $product) {
$classItem = 'Magento\\' . $this->getModuleName($product) . '\\Test\\Fixture\\Cart\\Item';
$item = ObjectManager::getInstance()->create($classItem, ['product' => $product]);
$this->data[] = $item;
}
}
示例7: prepareData
/**
* Prepare data
*
* @param array $viewsReport
* @return array
*/
protected function prepareData(array $viewsReport)
{
foreach ($viewsReport as $key => $reportFilter) {
if (in_array($key, $this->dateFields)) {
$date = ObjectManager::getInstance()->create('\\Magento\\Backend\\Test\\Fixture\\Source\\Date', ['params' => [], 'data' => ['pattern' => $reportFilter]]);
$viewsReport[$key] = $date->getData();
}
}
return $viewsReport;
}
示例8: open
/**
* Open backend page and log in if needed.
*
* @param array $params
* @return $this
*/
public function open(array $params = [])
{
$systemConfig = ObjectManager::getInstance()->create('Magento\\Mtf\\Config\\DataInterface');
$admin = ['username' => ['value' => $systemConfig->get('application/0/backendLogin/0/value')], 'password' => ['value' => $systemConfig->get('application/0/backendPassword/0/value')]];
$this->adminAuthLogin = ObjectManager::getInstance()->create('Mage\\Adminhtml\\Test\\Page\\AdminAuthLogin');
$this->dashboard = ObjectManager::getInstance()->create('Mage\\Adminhtml\\Test\\Page\\Adminhtml\\Dashboard');
if (!$this->dashboard->getAdminPanelHeader()->isVisible()) {
$this->loginSuperAdmin($admin);
}
return parent::open($params);
}
示例9: prepareData
/**
* Prepare data
*
* @param array $customersReport
* @return array
*/
protected function prepareData(array $customersReport)
{
foreach ($customersReport as $name => $reportFilter) {
if ($name === 'report_period') {
continue;
}
$date = ObjectManager::getInstance()->create('\\Magento\\Backend\\Test\\Fixture\\Source\\Date', ['params' => [], 'data' => ['pattern' => $reportFilter]]);
$customersReport[$name] = $date->getData();
}
return $customersReport;
}
示例10: processAssert
/**
* Check that checkbox is present on the last checkout step - Order Review.
* Check that after Place order without click on checkbox "Terms and Conditions" order was not successfully placed.
* Check that after clicking on "Terms and Conditions" checkbox and "Place Order" button success place order message
* appears.
*
* @param FixtureFactory $fixtureFactory
* @param ObjectManager $objectManager
* @param string $product
* @param BrowserInterface $browser
* @param CatalogProductView $catalogProductView
* @param CheckoutCart $checkoutCart
* @param CheckoutOnepage $checkoutOnepage
* @param CheckoutOnepageSuccess $checkoutOnepageSuccess
* @param AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage
* @param array $shipping
* @param array $payment
* @return void
*
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function processAssert(FixtureFactory $fixtureFactory, ObjectManager $objectManager, $product, BrowserInterface $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, CheckoutOnepage $checkoutOnepage, CheckoutOnepageSuccess $checkoutOnepageSuccess, AssertOrderSuccessPlacedMessage $assertOrderSuccessPlacedMessage, $shipping, $payment)
{
$createProductsStep = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', ['products' => $product]);
$product = $createProductsStep->run();
$billingAddress = $fixtureFactory->createByCode('address', ['dataset' => 'default']);
$browser->open($_ENV['app_frontend_url'] . $product['products'][0]->getUrlKey() . '.html');
$catalogProductView->getViewBlock()->clickAddToCartButton();
$catalogProductView->getMessagesBlock()->waitSuccessMessage();
$checkoutCart->open();
$checkoutCart->getCartBlock()->getOnepageLinkBlock()->proceedToCheckout();
$checkoutOnepage->getLoginBlock()->clickContinue();
$checkoutOnepage->getBillingBlock()->fill($billingAddress);
$checkoutOnepage->getBillingBlock()->clickContinue();
$checkoutOnepage->getShippingMethodBlock()->selectShippingMethod($shipping);
$checkoutOnepage->getShippingMethodBlock()->clickContinue();
$checkoutOnepage->getPaymentBlock()->selectPaymentMethod($payment);
$checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder();
\PHPUnit_Framework_Assert::assertEquals(self::NOTIFICATION_MESSAGE, $checkoutOnepage->getAgreementReview()->getNotificationMassage(), 'Notification required message of Terms and Conditions is absent.');
$checkoutOnepage->getAgreementReview()->setAgreement('Yes');
$checkoutOnepage->getAgreementReview()->placeOrder();
$assertOrderSuccessPlacedMessage->processAssert($checkoutOnepageSuccess);
}
示例11: processAssert
/**
* Verify Terms and Conditions checkbox is absent on checkout page.
*
* @param ObjectManager $objectManager
* @param $products
* @param CheckoutOnepage $checkoutOnepage
* @param $shipping
* @param $payment
* @param CheckoutAgreement $agreement
*
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
*/
public function processAssert(ObjectManager $objectManager, $products, CheckoutOnepage $checkoutOnepage, $shipping, $payment, CheckoutAgreement $agreement)
{
$shippingAddressData = ['shippingAddress' => ['dataSet' => 'US_address_1']];
$productsData = ['products' => $products];
$shippingMethodData = ['shipping' => $shipping];
$paymentData = ['payment' => $payment];
$products = $objectManager->create('Magento\\Catalog\\Test\\TestStep\\CreateProductsStep', $productsData)->run();
$objectManager->create('Magento\\Checkout\\Test\\TestStep\\AddProductsToTheCartStep', $products)->run();
$objectManager->create('Magento\\Checkout\\Test\\TestStep\\ProceedToCheckoutStep')->run();
$objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingAddressStep', $shippingAddressData)->run();
$objectManager->create('Magento\\Checkout\\Test\\TestStep\\FillShippingMethodStep', $shippingMethodData)->run();
$objectManager->create('Magento\\Checkout\\Test\\TestStep\\SelectPaymentMethodStep', $paymentData)->run();
\PHPUnit_Framework_Assert::assertFalse($checkoutOnepage->getAgreementReview()->checkAgreement($agreement), 'Checkout Agreement \'' . $agreement->getName() . '\' is present in the Place order step.');
}
示例12: apply
/**
* Apply set up configuration profile.
*
* @return void
*/
public function apply()
{
parent::apply();
if (file_exists(dirname(dirname(dirname(MTF_BP))) . '/app/etc/config.php')) {
$this->objectManager->create('\\Magento\\Config\\Test\\TestStep\\SetupConfigurationStep', ['configData' => $this->config])->run();
}
}
示例13: run
/**
* Review order contents and place order.
*
* @return array
*/
public function run()
{
$this->orderReviewExpress->getReviewBlock()->selectShippingMethod($this->shipping);
foreach ($this->prices as $priceName => $value) {
$assertName = 'Assert' . ucfirst($priceName) . 'OrderReview';
$assert = $this->objectManager->create('Magento\\Checkout\\Test\\Constraint\\' . $assertName);
$assert->processAssert($this->checkoutOnepage, $value);
}
$this->orderReviewExpress->getReviewBlock()->placeOrder();
return ['orderId' => $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId()];
}
示例14: run
/**
* Fill customer addresses and proceed to next step.
*
* @return void
*/
public function run()
{
$addresses = $this->customer->getDataFieldConfig('address')['source']->getAddresses();
$bindings = [];
foreach ($this->products as $key => $product) {
$productName = $product->getName();
$addressRender = $this->objectManager->create(\Magento\Customer\Test\Block\Address\Renderer::class, ['address' => $addresses[$key], 'type' => 'oneline']);
$bindings[$productName] = $addressRender->render();
}
$this->addresses->getAddressesBlock()->selectAddresses($bindings);
}
示例15: run
/**
* @inheritdoc
*
* @return array
*/
public function run()
{
$this->objectManager->create(\Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class, ['customer' => $this->customer])->run();
$this->customerAccountIndex->getAccountMenuBlock()->openMenuItem('My Credit Cards');
$myCreditCardsBlock = $this->myCreditCardsPage->getCreditCardsBlock();
$creditCardData = $this->creditCard->getData();
$creditCardNumber = preg_grep('/([a-z]+)_number/', array_flip($creditCardData));
$lastFourDigits = substr(key($creditCardNumber), -4, 4);
$availableCreditCards = $myCreditCardsBlock->getCreditCards();
if (key_exists($lastFourDigits, $availableCreditCards)) {
$myCreditCardsBlock->deleteCreditCard($availableCreditCards[$lastFourDigits]);
}
$this->assertCreditCardDeletedMessage->processAssert($this->myCreditCardsPage);
return ['deletedCreditCard' => $lastFourDigits];
}