Source of file CouponFormTest.php
Size: 1,574 Bytes - Last Modified: 2021-12-23T10:25:05+00:00
/var/www/docs.ssmods.com/process/src/tests/CouponFormTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | <?php namespace SilverShop\Discounts\Tests; use SilverShop\Model\Order; use SilverStripe\Dev\FunctionalTest; use SilverShop\Page\Product; use SilverShop\Page\CheckoutPage; use SilverShop\Page\CheckoutPageController; use SilverStripe\Control\Session; use SilverShop\Discounts\Model\OrderCoupon; use SilverShop\Discounts\Form\CouponForm; class CouponFormTest extends FunctionalTest { protected static $fixture_file = [ 'shop.yml', 'Page.yml' ]; protected function setUp() { parent::setUp(); $this->objFromFixture(Product::class, 'socks')->publishRecursive(); } public function testCouponForm() { OrderCoupon::create( [ 'Title' => '40% off each item', 'Code' => '5B97AA9D75', 'Type' => 'Percent', 'Percent' => 0.40 ] )->write(); $checkoutpage = $this->objFromFixture(CheckoutPage::class, 'checkout'); $checkoutpage->publishRecursive(); $controller = new CheckoutPageController($checkoutpage); $order = $this->objFromFixture(Order::class, 'cart'); $form = new CouponForm($controller, CouponForm::class, $order); $data = ['Code' => '5B97AA9D75']; $form->loadDataFrom($data); $this->assertTrue($form->validationResult()->isValid()); $form->applyCoupon($data, $form); $coupon = $controller->getRequest()->getSession()->get('cart.couponcode'); $this->assertEquals('5B97AA9D75', $coupon); $form->removeCoupon([], $form); } } |