Пример #1
0
 /**
  * @covers Thelia\Coupon\CouponManager::addAvailableCoupon
  * @covers Thelia\Coupon\CouponManager::getAvailableCoupons
  */
 public function testGetAvailableCoupons()
 {
     $stubFacade = $this->generateFacadeStub();
     $stubContainer = $this->getMock('\\Symfony\\Component\\DependencyInjection\\Container');
     $conditionFactory = new ConditionFactory($stubContainer);
     $stubFacade->expects($this->any())->method('getCurrentCoupons')->will($this->returnValue(array()));
     $conditions = new ConditionCollection();
     $stubConditionFactory = $this->getMockBuilder('\\Thelia\\Condition\\ConditionFactory')->disableOriginalConstructor()->getMock();
     $stubConditionFactory->expects($this->any())->method('unserializeConditionCollection')->will($this->returnValue($conditions));
     $couponManager = new RemoveXAmount($stubFacade);
     $stubContainer->expects($this->any())->method('get')->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory, $stubFacade));
     $stubContainer->expects($this->any())->method('has')->will($this->returnValue(true));
     $couponFactory = new CouponFactory($stubContainer);
     $model1 = $this->generateCouponModel($stubFacade, $conditionFactory);
     $coupon1 = $couponFactory->buildCouponFromModel($model1);
     $coupon2 = clone $coupon1;
     $couponManager = new CouponManager($stubContainer);
     $couponManager->addAvailableCoupon($coupon1);
     $couponManager->addAvailableCoupon($coupon2);
     $actual = $couponManager->getAvailableCoupons();
     $expected = array($coupon1, $coupon2);
     $this->assertEquals($expected, $actual);
 }