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(); } }