first commit
This commit is contained in:
92
bundles/KupShop/OSSVatsBundle/Tests/OSSDeliveryTest.php
Normal file
92
bundles/KupShop/OSSVatsBundle/Tests/OSSDeliveryTest.php
Normal 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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user