first commit

This commit is contained in:
2025-08-02 16:30:27 +02:00
commit 23646bfcee
14851 changed files with 1750626 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<?php
namespace KupShop\BonusProgramBundle\Tests;
use KupShop\KupShopBundle\Context\CurrencyContext;
class BonusProgramVariationsTest extends \DatabaseTestCase
{
public function testVariationPoints()
{
$product = $this->createProduct();
$variation = reset($product->variations['variations']);
$this->assertNull($variation['bonus_points']);
$points = $product->getBonusPoints($variation['id']);
// 5% of 800 = 40
$this->assertEquals(40, $points->asFloat());
}
public function testVariationPointsSK()
{
$currencyContext = $this->get(CurrencyContext::class);
$currencyContext->activate('EUR');
$product = $this->createProduct();
$variation = reset($product->variations['variations']);
$points = $product->getBonusPoints($variation['id']);
// 5% of 800 = 40
$this->assertEquals(40, $points->asFloat());
}
public function testZeroPoints()
{
sqlQueryBuilder()->update('products')
->set('bonus_points', '0')
->where('id = 1')->execute();
$product = $this->createProduct();
$this->assertEquals(0, $product->bonus_points->asInteger());
$variation = reset($product->variations['variations']);
$this->assertEquals(0, $variation['bonus_points']->asFloat());
$points = $product->getBonusPoints($variation['id']);
$this->assertEquals(0, $points->asFloat());
}
private function createProduct()
{
$product = new \Product();
$product->createFromDB(1);
$product->fetchVariations();
return $product;
}
public function getDataSet()
{
return $this->getJsonDataSetFromFile();
}
}