コード例 #1
0
ファイル: UnitTest.php プロジェクト: saiber/livecart
 public function setUp()
 {
     ActiveRecordModel::getApplication()->clearCachedVars();
     ActiveRecordModel::beginTransaction();
     if (empty($this->autoincrements)) {
         foreach ($this->getUsedSchemas() as $table) {
             $res = $this->db->executeQuery("SHOW TABLE STATUS LIKE '{$table}'");
             $res->next();
             $this->autoincrements[$table] = (int) $res->getInt("Auto_increment");
         }
     }
     if ($this instanceof BackendControllerTestCase) {
         ClassLoader::import('application.model.user.SessionUser');
         ClassLoader::import('application.model.user.UserGroup');
         // set up user
         $group = UserGroup::getNewInstance('Unit tester');
         $group->save();
         $group->setAllRoles();
         $group->save();
         $user = User::getNewInstance('*****@*****.**', null, $group);
         $user->save();
         SessionUser::setUser($user);
     }
     if ($this instanceof ControllerTestCase) {
         $this->request = self::getApplication()->getRequest();
     }
 }
コード例 #2
0
 public function setUp()
 {
     parent::setUp();
     $this->role = Role::getNewInstance('__testrole__');
     $this->role->save();
     $this->userGroup = UserGroup::getNewInstance('Any random group name');
     $this->userGroup->save();
 }
コード例 #3
0
 /**
  * @role create
  */
 public function create()
 {
     $userGroup = UserGroup::getNewInstance($this->translate('_new_user_group'));
     $userGroup->save();
     return new JSONResponse($userGroup->toArray(), 'success', $this->translate('_new_user_group_successfully_created'));
 }
コード例 #4
0
 public function setAdmin()
 {
     if (!$this->buildAdminValidator()->isValid()) {
         return new ActionRedirectResponse('install', 'admin');
     }
     ClassLoader::import('application.model.user.UserGroup');
     ClassLoader::import('application.model.user.User');
     ClassLoader::import('application.model.user.SessionUser');
     ActiveRecordModel::beginTransaction();
     // create user group for administrators
     $group = UserGroup::getNewInstance('Administrators');
     $group->setAllRoles();
     $group->save();
     // create administrator account
     $user = User::getNewInstance($this->request->get('email'), null, $group);
     $user->loadRequestData($this->request);
     $user->setPassword($this->request->get('password'));
     $user->isEnabled->set(true);
     $user->save();
     ActiveRecordModel::commit();
     // log in
     SessionUser::setUser($user);
     // set store email
     $this->config->set('MAIN_EMAIL', $this->request->get('email'));
     $this->config->set('NOTIFICATION_EMAIL', $this->request->get('email'));
     $this->config->set('NEWSLETTER_EMAIL', $this->request->get('email'));
     $this->config->save();
     return new ActionRedirectResponse('install', 'config');
 }
コード例 #5
0
ファイル: OsCommerceImport.php プロジェクト: saiber/livecart
 public function getNextUserGroup()
 {
     try {
         if (!($data = $this->loadRecord('SELECT * FROM ' . $this->getTablePrefix() . 'customers_groups'))) {
             return null;
         }
     } catch (Exception $e) {
         return null;
     }
     $name = null;
     foreach (array('customers_group_name', 'customer_group_name') as $key) {
         if (!empty($data[$key])) {
             return UserGroup::getNewInstance($data[$key]);
         }
     }
     return null;
 }
コード例 #6
0
ファイル: UserGroupTest.php プロジェクト: saiber/livecart
 public function testHasConcreteAccess()
 {
     $group = UserGroup::getNewInstance('testing1337', 'testing1337');
     $group->save();
     $role = Role::getNewInstance('testing1337.update');
     $role->save();
     $group->applyRole($role);
     $group->save();
     $this->assertFalse($group->hasAccess('testing1337'));
     $this->assertTrue($group->hasAccess('testing1337.update'));
     $this->assertFalse($group->hasAccess('testing1337.create'));
 }
コード例 #7
0
ファイル: UserTest.php プロジェクト: saiber/livecart
 public function setUp()
 {
     parent::setUp();
     $this->group = UserGroup::getNewInstance('test', 'test');
     $this->group->save();
 }
コード例 #8
0
ファイル: OrderTest.php プロジェクト: saiber/livecart
 public function testQuantityPrices()
 {
     $product = $this->products[0];
     $this->order->addProduct($product, 5);
     $price = $product->getPricingHandler()->getPriceByCurrencyCode('USD');
     $this->assertIsA($price, 'ProductPrice');
     $price->setPriceRule(5, null, 15);
     $this->assertEquals($this->order->getTotal(true), 75);
     $price->removePriceRule(5, null);
     $this->assertEquals($this->order->getTotal(true), 500);
     $price->setPriceRule(4, null, 15);
     $this->assertEquals($this->order->getTotal(true), 75);
     $price->removePriceRule(4, null);
     $price->setPriceRule(6, null, 15);
     $this->assertEquals($this->order->getTotal(true), 500);
     $price->setPriceRule(9, null, 15);
     $this->assertEquals($this->order->getTotal(true), 500);
     // user group pricing
     $group = UserGroup::getNewInstance('test');
     $group->save();
     $price->setPriceRule(4, null, 15);
     $price->setPriceRule(4, $group, 10);
     $this->assertEquals($this->order->getTotal(true), 75);
     $user = $this->order->user->get();
     $user->userGroup->set($group);
     $user->save();
     $this->assertEquals($this->order->getTotal(true), 50);
     $price->removePriceRule(4, null);
     $price->removePriceRule(4, $group);
     $price->setPriceRule(4, null, 15);
     $price->setPriceRule(6, $group, 10);
     $this->assertEquals($this->order->getTotal(true), 75);
     $price->setPriceRule(5, $group, 10);
     $this->assertEquals($this->order->getTotal(true), 50);
     $price->setPriceRule(2, $group, 7);
     $price->setPriceRule(3, $group, 8);
     $price->setPriceRule(4, $group, 9);
     $price->setPriceRule(6, $group, 11);
     $this->assertEquals($this->order->getTotal(true), 50);
 }