예제 #1
0
파일: Rate.php 프로젝트: kingsj/core
 public function testGetTotalRate()
 {
     $tax = \XLite\Core\Database::getRepo('XLite\\Module\\CDev\\VAT\\Model\\Tax')->getTax();
     foreach ($tax->getRates() as $rate) {
         \XLite\Core\Database::getEM()->remove($rate);
     }
     $tax->getRates()->clear();
     $tax->setEnabled(true);
     $rate = new \XLite\Module\CDev\VAT\Model\Tax\Rate();
     $rate->setValue(10);
     $rate->setPosition(1);
     \XLite\Core\Database::getEM()->persist($rate);
     $tax->addRates($rate);
     $rate->setTax($tax);
     $rate = new \XLite\Module\CDev\VAT\Model\Tax\Rate();
     $rate->setValue(20);
     $rate->setPosition(0);
     \XLite\Core\Database::getEM()->persist($rate);
     $tax->addRates($rate);
     $rate->setTax($tax);
     $memberships = \XLite\Core\Database::getRepo('XLite\\Model\\Membership')->findAll();
     $membership = array_shift($memberships);
     $rate->setMembership($membership);
     $tax->setVATMembership($membership);
     \XLite\Core\Database::getEM()->flush();
     $method = new \XLite\Model\Shipping\Method();
     $method->setEnabled(true);
     $rate = new \XLite\Model\Shipping\Rate();
     $rate->setBaseRate(10);
     $rate->setMarkupRate(10);
     $rate->setMethod($method);
     $this->assertEquals(16.67, \XLite::getInstance()->getCurrency()->formatValue($rate->getTotalRate()), 'check cost');
 }
예제 #2
0
파일: Rate.php 프로젝트: kingsj/core
 /**
  * testCreate
  *
  * @return void
  * @access public
  * @see    ____func_see____
  * @since  1.0.0
  */
 public function testCreate()
 {
     // Prepare data for rate
     $method = $this->getMethodByName('Courier');
     $methodName = $method->getName();
     $markups = \XLite\Core\Database::getRepo('XLite\\Model\\Shipping\\Markup')->findAll();
     $this->assertTrue(0 < count($markups), 'markups list length checking');
     $markup = array_shift($markups);
     $markupId = $markup->getMarkupId();
     unset($markups);
     $extraData = new \XLite\Core\CommonCell();
     $extraData->testparam1 = 'test value 1';
     $extraData->testparam2 = 'test value 2';
     $newRate = new \XLite\Model\Shipping\Rate();
     $newRate->setMethod($method);
     $newRate->setBaseRate(100);
     $newRate->setMarkup($markup);
     $newRate->setMarkupRate(200);
     $newRate->setExtraData($extraData);
     // Check all parameters
     $this->assertEquals($markupId, $newRate->getMarkup()->getMarkupId(), 'Markup wrong');
     $this->assertEquals(100, $newRate->getBaseRate(), 'Base rate wrong');
     $this->assertEquals(200, $newRate->getMarkupRate(), 'Markup rate wrong');
     $this->assertEquals(300, $newRate->getTotalRate(), 'Total rate wrong');
     $this->assertEquals('test value 1', $newRate->getExtraData()->testparam1, 'Extra data #1 wrong');
     $this->assertEquals('test value 2', $newRate->getExtraData()->testparam2, 'Extra data #2 wrong');
     $this->assertEquals($methodName, $newRate->getMethodName(), 'getMethodName() returned wrong value');
 }