/** * Assert that displayed category data on edit page(backend) equals passed from fixture. * * @param CatalogCategory $category * @param CatalogCategoryIndex $catalogCategoryIndex * @return void */ public function processAssert(CatalogCategory $category, CatalogCategoryIndex $catalogCategoryIndex) { $data = $category->getData(); $catalogCategoryIndex->open(); $catalogCategoryIndex->getTreeCategories()->selectCategory($category); $dataForm = $catalogCategoryIndex->getCategoryForm()->getDataCategory($category); $error = $this->verifyData($data, $dataForm); \PHPUnit_Framework_Assert::assertEmpty($error, $error); }
/** * Assert that displayed category data on category page equals to passed from fixture. * * @param CatalogCategory $category * @param CatalogCategory $initialCategory * @param FixtureFactory $fixtureFactory * @param CatalogCategoryView $categoryView * @param Browser $browser * @return void */ public function processAssert(CatalogCategory $category, CatalogCategory $initialCategory, FixtureFactory $fixtureFactory, CatalogCategoryView $categoryView, Browser $browser) { $product = $fixtureFactory->createByCode('catalogProductSimple', ['dataSet' => 'default', 'data' => ['category_ids' => ['category' => $initialCategory]]]); $categoryData = array_merge($initialCategory->getData(), $category->getData()); $product->persist(); $url = $_ENV['app_frontend_url'] . strtolower($category->getUrlKey()) . '.html'; $browser->open($url); \PHPUnit_Framework_Assert::assertEquals($url, $browser->getUrl(), 'Wrong page URL.'); if (isset($categoryData['name'])) { \PHPUnit_Framework_Assert::assertEquals(strtoupper($categoryData['name']), $categoryView->getTitleBlock()->getTitle(), 'Wrong page title.'); } if (isset($categoryData['description'])) { \PHPUnit_Framework_Assert::assertEquals($categoryData['description'], $categoryView->getViewBlock()->getDescription(), 'Wrong category description.'); } if (isset($categoryData['default_sort_by'])) { $sortBy = strtolower($categoryData['default_sort_by']); $sortType = $categoryView->getTopToolbar()->getSelectSortType(); \PHPUnit_Framework_Assert::assertEquals($sortBy, $sortType, 'Wrong sorting type.'); } }
/** * Prepare category date. * * @param CatalogCategory $initialCategory * @param CatalogCategory $category * @return array */ protected function prepareCategoryData(CatalogCategory $initialCategory, CatalogCategory $category) { $categoryData = array_merge($initialCategory->getData(), $category->getData()); if (isset($categoryData['category_products'])) { $categoryData['category_products'] = $this->prepareCategoryProducts($initialCategory, $category); } $categoryData['parent_id'] = $this->prepareParentCategory($initialCategory, $category); return $categoryData; }