/** * Assert data on the product view page * * @param CatalogProductSimple $product * @param CatalogProductView $catalogProductView * @return void */ protected function assertOnProductView(CatalogProductSimple $product, CatalogProductView $catalogProductView) { $viewBlock = $catalogProductView->getViewBlock(); $price = $viewBlock->getPriceBlock()->getPrice(); $name = $viewBlock->getProductName(); $sku = $viewBlock->getProductSku(); \PHPUnit_Framework_Assert::assertEquals($product->getName(), $name, 'Product name on product view page is not correct.'); \PHPUnit_Framework_Assert::assertEquals($product->getSku(), $sku, 'Product sku on product view page is not correct.'); if (isset($price['price_regular_price'])) { \PHPUnit_Framework_Assert::assertEquals(number_format($product->getPrice(), 2), $price['price_regular_price'], 'Product regular price on product view page is not correct.'); } $priceComparing = false; if ($specialPrice = $product->getSpecialPrice()) { $priceComparing = $specialPrice; } if ($priceComparing && isset($price['price_special_price'])) { \PHPUnit_Framework_Assert::assertEquals(number_format($priceComparing, 2), $price['price_special_price'], 'Product special price on product view page is not correct.'); } }