예제 #1
0
 public function testImportFile()
 {
     $codeMock = $this->getMockBuilder('MShop_Coupon_Manager_Code_Default')->setConstructorArgs(array($this->_context))->setMethods(array('saveItem'))->getMock();
     $codeMock->expects($this->exactly(3))->method('saveItem');
     $mock = $this->getMockBuilder('MShop_Coupon_Manager_Default')->setConstructorArgs(array($this->_context))->setMethods(array('getSubManager'))->getMock();
     $mock->expects($this->once())->method('getSubManager')->will($this->returnValue($codeMock));
     $name = 'ControllerExtJSCouponCodeDefaultRun';
     $this->_context->getConfig()->set('classes/coupon/manager/name', $name);
     MShop_Coupon_Manager_Factory::injectManager('MShop_Coupon_Manager_' . $name, $mock);
     $testfiledir = __DIR__ . DIRECTORY_SEPARATOR . 'testfiles' . DIRECTORY_SEPARATOR;
     exec(sprintf('cp -r %1$s %2$s', escapeshellarg($testfiledir) . '*', escapeshellarg($this->_testdir)));
     $params = new stdClass();
     $params->site = $this->_context->getLocale()->getSite()->getCode();
     $params->items = $this->_testdir . DIRECTORY_SEPARATOR . 'coupon.zip';
     $params->couponid = '-1';
     $this->_object->importFile($params);
 }