/**
  * Login customer.
  *
  * @return void
  */
 public function run()
 {
     $this->cmsIndex->open();
     $this->cmsIndex->getTopLinksBlock()->openAccount();
     if ($this->cmsIndex->getLinksBlock()->isLinkVisible("Log Out")) {
         $this->cmsIndex->getLinksBlock()->openLink("Log Out");
         $this->cmsIndex->getCmsPageBlock()->waitUntilTextIsVisible('Home Page');
         $this->cmsIndex->getTopLinksBlock()->openAccount();
     }
     $this->cmsIndex->getLinksBlock()->openLink("Log In");
     $this->customerAccountLogin->getLoginBlock()->login($this->customer);
 }
 /**
  * Run create existing customer account on frontend test.
  *
  * @param Customer $customer
  * @return void
  */
 public function test(Customer $customer)
 {
     //Steps
     $this->cmsIndex->open();
     $this->cmsIndex->getTopLinksBlock()->openAccount();
     $this->cmsIndex->getLinksBlock()->openLink('Register');
     $this->customerAccountCreate->getRegisterForm()->registerCustomer($customer);
 }
 /**
  * Assert that product is not present in Wishlist on frontend.
  *
  * @param WishlistIndex $wishlistIndex
  * @param CmsIndex $cmsIndex
  * @param Customer $customer
  * @param FrontendActionsForCustomer $frontendActionsForCustomer
  * @param InjectableFixture[] $products
  * @return void
  */
 public function processAssert(WishlistIndex $wishlistIndex, CmsIndex $cmsIndex, Customer $customer, FrontendActionsForCustomer $frontendActionsForCustomer, array $products)
 {
     $frontendActionsForCustomer->loginCustomer($customer);
     $cmsIndex->getTopLinksBlock()->openAccountLink("My Wishlist");
     $itemBlock = $wishlistIndex->getItemsBlock();
     foreach ($products as $itemProduct) {
         \PHPUnit_Framework_Assert::assertFalse($itemBlock->getItemProductBlock($itemProduct)->isVisible(), "Product '{$itemProduct->getName()}' is present in Wishlist on frontend.");
     }
 }
 /**
  * Assert that the correct option details are displayed on the "View Details" tool tip.
  *
  * @param CmsIndex $cmsIndex
  * @param WishlistIndex $wishlistIndex
  * @param InjectableFixture $product
  * @param FixtureFactory $fixtureFactory
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, WishlistIndex $wishlistIndex, InjectableFixture $product, FixtureFactory $fixtureFactory)
 {
     $cmsIndex->getTopLinksBlock()->openAccount();
     $cmsIndex->getLinksBlock()->openLink("My Wishlist");
     $actualOptions = $wishlistIndex->getItemsBlock()->getItemProductBlock($product)->getOptions();
     $cartFixture = $fixtureFactory->createByCode('cart', ['data' => ['items' => ['products' => [$product]]]]);
     $expectedOptions = $this->prepareOptions($cartFixture);
     $errors = $this->verifyData($expectedOptions, $this->sortDataByPath($actualOptions, '::title'));
     \PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
 }
 /**
  * Assert that products are present in custom wishlist.
  *
  * @param CmsIndex $cmsIndex
  * @param Wishlist $multipleWishlist
  * @param WishlistIndex $wishlistIndex
  * @param InjectableFixture[] $products
  * @param int[]|null $qtyToAction
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, Wishlist $multipleWishlist, WishlistIndex $wishlistIndex, array $products, $qtyToAction = null)
 {
     $this->wishlistIndex = $wishlistIndex;
     $cmsIndex->getTopLinksBlock()->openAccount();
     $cmsIndex->getLinksBlock()->openLink("My Wishlist");
     $wishlistIndex->getManagementBlock()->selectWishlist($multipleWishlist);
     foreach ($products as $key => $product) {
         $expectedQty = $qtyToAction !== null && isset($qtyToAction[$key]) ? $qtyToAction[$key] : null;
         $this->verifyItemProduct($product, $expectedQty);
     }
 }
 /**
  * Assert that created store view can be localized.
  *
  * @param Store $store
  * @param CmsIndex $cmsIndex
  * @param FixtureFactory $fixtureFactory
  * @param ConfigData $config
  * @param Cache $adminCache
  * @return void
  */
 public function processAssert(Store $store, CmsIndex $cmsIndex, FixtureFactory $fixtureFactory, ConfigData $config, Cache $adminCache)
 {
     // Flush cache
     $adminCache->open();
     $adminCache->getPageActions()->flushCacheStorage();
     $adminCache->getMessagesBlock()->waitSuccessMessage();
     $this->cmsIndexPage = $cmsIndex;
     $this->setConfig($store, $fixtureFactory, $config);
     $cmsIndex->open();
     $this->selectStore($store);
     \PHPUnit_Framework_Assert::assertEquals(strtolower($cmsIndex->getTopLinksBlock()->getAccountLabelText()), self::EXPECTED_TEXT);
 }
 /**
  * Run Change customer password test.
  *
  * @param Customer $initialCustomer
  * @param Customer $customer
  * @return void
  */
 public function test(Customer $initialCustomer, Customer $customer)
 {
     // Preconditions
     $initialCustomer->persist();
     // Steps
     $this->objectManager->create('Mage\\Customer\\Test\\TestStep\\LoginCustomerOnFrontendStep', ['customer' => $initialCustomer])->run();
     $this->cmsIndex->getTopLinksBlock()->openAccount();
     $this->cmsIndex->getLinksBlock()->openLink('My Account');
     $this->customerAccountIndex->getInfoBlock()->openChangePassword();
     $this->customerAccountEdit->getAccountInfoForm()->fill($customer);
     $this->customerAccountEdit->getAccountInfoForm()->submit();
 }
 /**
  * Assert that rma is correct display on frontend (MyAccount - My Returns):
  * - status on rma history page
  * - details and items on rma view page
  *
  * @param Rma $rma
  * @param CmsIndex $cmsIndex
  * @param CustomerAccountIndex $customerAccountIndex
  * @param RmaReturnHistory $rmaReturnHistory
  * @param RmaReturnView $rmaReturnView
  * @return void
  */
 public function processAssert(Rma $rma, CmsIndex $cmsIndex, CustomerAccountIndex $customerAccountIndex, RmaReturnHistory $rmaReturnHistory, RmaReturnView $rmaReturnView)
 {
     $this->rmaReturnHistory = $rmaReturnHistory;
     $this->rmaReturnView = $rmaReturnView;
     $this->order = $rma->getDataFieldConfig('order_id')['source']->getOrder();
     $this->customer = $this->order->getDataFieldConfig('customer_id')['source']->getCustomer();
     $this->productHandlerClass = $this->getProductHandlerClass();
     $this->login();
     $cmsIndex->getTopLinksBlock()->openAccountLink('My Account');
     $customerAccountIndex->getAccountNavigationBlock()->openNavigationItem('My Returns');
     $this->assertRmaStatus($rma);
     $rmaReturnHistory->getRmaHistory()->getItemRow($rma)->open();
     $this->assertRequestInformation($rma);
     $this->assertItemsData($rma);
 }
 /**
  * Assert wish list is empty.
  *
  * @param CmsIndex $cmsIndex
  * @param WishlistIndex $wishlistIndex
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, WishlistIndex $wishlistIndex)
 {
     $cmsIndex->getTopLinksBlock()->openAccountLink("My Wishlist");
     \PHPUnit_Framework_Assert::assertTrue($wishlistIndex->getWishlistBlock()->isEmptyBlockVisible(), 'Wish list is not empty.');
 }
 /**
  * Assert that product is present in default wishlist.
  *
  * @param CmsIndex $cmsIndex
  * @param WishlistIndex $wishlistIndex
  * @param InjectableFixture $product
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex, WishlistIndex $wishlistIndex, InjectableFixture $product)
 {
     $cmsIndex->getTopLinksBlock()->openAccount();
     $cmsIndex->getLinksBlock()->openLink("My Wishlist");
     \PHPUnit_Framework_Assert::assertTrue($wishlistIndex->getItemsBlock()->getItemProductBlock($product)->isVisible(), $product->getName() . ' is not visible on wishlist page.');
 }
 /**
  * Assert that selected language currently displays on frontend.
  *
  * @param CmsIndex $cmsIndex
  * @return void
  */
 public function processAssert(CmsIndex $cmsIndex)
 {
     $cmsIndex->open();
     \PHPUnit_Framework_Assert::assertEquals(strtolower($cmsIndex->getTopLinksBlock()->getAccountLabelText()), self::EXPECTED_TEXT);
 }