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,92 @@
<?php
/**
* Created by PhpStorm.
* User: ondra
* Date: 14.2.18
* Time: 9:17.
*/
namespace KupShop\OSSVatsBundle\Tests;
use KupShop\DevelopmentBundle\Util\Tests\CartTestTrait;
use KupShop\KupShopBundle\Util\Compat\ServiceContainer;
class OSSDeliveryTest extends \DatabaseTestCase
{
use CartTestTrait;
protected $contextManager;
protected function setUp(): void
{
parent::setUp();
$dbcfg = \Settings::getDefault();
$dbcfg->oss_vats['homeCountry'] = 'CZ';
$dbcfg->oss_vats['active'] = 'Y';
$this->contextManager = ServiceContainer::getService(\KupShop\KupShopBundle\Context\ContextManager::class);
}
/**
* @dataProvider data_deliveryPriceDontCountinFrom
*/
public function testDeliveryPriceDontCountinFrom(
string $country,
int $productId,
int $deliveryType,
int $expectedDeliveryPrice,
bool $logged,
string $message,
): void {
if ($logged) {
$this->loginUser(1);
}
$this->createCart();
$this->insertProduct($productId);
$this->setDeliveryType($deliveryType);
$this->cart->updateAddresses(
[
'email' => 'test@wpj.cz',
'name' => 'Wpj',
'surname' => 'Wpj',
'street' => 'Wpj 123',
'city' => 'Vrchlabi',
'zip' => 12345,
'country' => $country,
'phone' => '123456789',
],
null
);
$this->cart->createFromDB();
$this->assertEquals(
$expectedDeliveryPrice,
$this->cart->getDeliveryType()->getDelivery()->getPrice()->getPriceWithVat()->asFloat(),
$message
);
}
public function data_deliveryPriceDontCountinFrom(): array
{
return [
['CZ', 3, 2, 99, false, 'Delivery dont_countin_from is 99 Kc, item price is 91 Kc. Delivery should not be free.'],
['CZ', 2, 2, 0, false, 'Delivery dont_countin_from is 99 Kc, item price is 99 Kc. Delivery should be free.'],
['CZ', 4, 2, 99, false, 'Delivery dont_countin_from is 99 Kc and dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is not logged. Delivery should not be free.'],
['CZ', 4, 2, 0, true, 'Delivery dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is logged. Delivery should be free.'],
['HR', 3, 2, 102, false, 'Delivery dont_countin_from is 99 Kc, item price is 91 Kc. Delivery should not be free.'],
['HR', 2, 2, 0, false, 'Delivery dont_countin_from is 99 Kc, item price is 99 Kc. Delivery should be free.'],
['HR', 4, 2, 102, false, 'Delivery dont_countin_from is 99 Kc and dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is not logged. Delivery should not be free.'],
['HR', 4, 2, 0, true, 'Delivery dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is logged. Delivery should be free.'],
['HU', 3, 2, 104, false, 'Delivery dont_countin_from is 99 Kc, item price is 91 Kc. Delivery should not be free.'],
['HU', 2, 2, 0, false, 'Delivery dont_countin_from is 99 Kc, item price is 99 Kc. Delivery should be free.'],
['HU', 4, 2, 104, false, 'Delivery dont_countin_from is 99 Kc and dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is not logged. Delivery should not be free.'],
['HU', 4, 2, 0, true, 'Delivery dont_countin_from_reg is 50 Kc, item price is 60 Kc and user is logged. Delivery should be free.'],
];
}
public function getDataSet()
{
return $this->getJsonDataSetFromFile();
}
}