Files
kupshop/bundles/KupShop/ContentBundle/Tests/ProductUnifiedTest.php
2025-08-02 16:30:27 +02:00

63 lines
2.0 KiB
PHP

<?php
namespace KupShop\ContentBundle\Tests;
use KupShop\ContentBundle\Entity\ProductUnified;
use KupShop\KupShopBundle\Util\Price\ProductPrice;
class ProductUnifiedTest extends \DatabaseTestCase
{
/**
* Zkontrolovat, ze to vraci hodnoty.
*
* @dataProvider data_ProductUnifiedData
*/
public function testProductUnifiedData(int $productId, ?int $variationId): void
{
$product = new \Product();
$product->createFromDB($productId);
$unified = new ProductUnified($product, $product->fetchVariations());
if ($variationId) {
$unified->selectVariation($variationId);
}
$this->assertIsInt($unified->getId());
$this->assertIsString($unified->getTitle());
$this->assertIsFloat($unified->getInStore());
$this->assertInstanceOf(\Decimal::class, $unified->getBonusPoints());
$this->assertIsString($unified->getDeliveryTimeText());
$this->assertIsInt($unified->getDeliveryTime());
$this->assertIsInt($unified->getDeliveryTimeRaw());
$this->assertInstanceOf(\Decimal::class, $unified->getDiscount());
$this->assertInstanceOf(ProductPrice::class, $unified->getProductPrice());
$this->assertInstanceOf(ProductPrice::class, $unified->getPriceCommon());
}
public function data_ProductUnifiedData(): array
{
return [
[1, null],
[2, 9],
];
}
public function testVariationSelect(): void
{
$product = new \Product();
$product->createFromDB(2);
$unified = new ProductUnified($product, $product->fetchVariations());
$this->assertEquals('Adidas Mundial Goal Dalsi Test Velmi Dlouheho Produktoveho Nazvu', $unified->getTitle());
$this->assertEmpty($unified->getVariationId());
$unified->selectVariation(9);
$this->assertEquals('Velikost: 40', $unified->getTitle());
$this->assertNotEmpty($unified->getVariationId());
}
}