Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
GameRewardTest.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
38  {
39  public static function setUpBeforeClass()
40  {
41  parent::setUpBeforeClass();
42  SecurityTestHelper::createSuperAdmin();
43  }
44 
45  public function setUp()
46  {
47  parent::setUp();
48  Yii::app()->user->userModel = User::getByUsername('super');
49  }
50 
51  public function testCreateAndGetGameRewardById()
52  {
53  $user = UserTestHelper::createBasicUser('Steven');
54  $gameReward = new GameReward();
55  $gameReward->owner = $user;
56  $gameReward->cost = 5;
57  $gameReward->description = 'A cool gift card to reward you for your work';
58  $gameReward->expirationDateTime = '2025-05-05 04:00:00';
59  $gameReward->name = '50 dollar giftcard to somewhere';
60  $gameReward->quantity = 3;
61  $this->assertTrue($gameReward->save());
62  $id = $gameReward->id;
63  unset($gameReward);
64  $gameReward = GameReward::getById($id);
65  $this->assertEquals($user->id, $gameReward->owner->id);
66  $this->assertEquals(5, $gameReward->cost);
67  $this->assertEquals('A cool gift card to reward you for your work', $gameReward->description);
68  $this->assertEquals('2025-05-05 04:00:00', $gameReward->expirationDateTime);
69  $this->assertEquals('50 dollar giftcard to somewhere', $gameReward->name);
70  $this->assertEquals(3, $gameReward->quantity);
71  }
72 
76  public function testGameTransaction()
77  {
78  $sally = UserTestHelper::createBasicUser('Sally');
79  $gameRewards = GameReward::getAll();
80  $this->assertEquals(1, count($gameRewards));
81 
82  $gameRewardTransaction = new GameRewardTransaction();
83  $gameRewardTransaction->quantity = 1;
84  $gameRewardTransaction->person = $sally;
85 
86  $gameRewards[0]->transactions->add($gameRewardTransaction);
87  $this->assertTrue($gameRewards[0]->save());
88  $id = $gameRewards[0]->id;
89  unset($gameRewards);
90  $gameReward = GameReward::getById($id);
91  $this->assertEquals(1, count($gameReward->transactions));
92  $this->assertEquals(1, $gameReward->transactions[0]->quantity);
93  $this->assertEquals($sally->getClassId('Item'), $gameReward->transactions[0]->person->getClassId('Item'));
94  }
95 
99  public function testGetGameRewardsByName()
100  {
101  $gameReward = GameReward::getByName('50 dollar giftcard to somewhere');
102  $this->assertEquals(1, count($gameReward));
103  $this->assertEquals('50 dollar giftcard to somewhere', $gameReward[0]->name);
104  }
105 
109  public function testGetLabel()
110  {
111  $gameReward = GameReward::getByName('50 dollar giftcard to somewhere');
112  $this->assertEquals(1, count($gameReward));
113  $this->assertEquals('Game Reward', $gameReward[0]::getModelLabelByTypeAndLanguage('Singular'));
114  $this->assertEquals('Game Rewards', $gameReward[0]::getModelLabelByTypeAndLanguage('Plural'));
115  }
116 
121  {
122  $gameReward = GameReward::getByName('59 dollar giftcard to somewhere');
123  $this->assertEquals(0, count($gameReward));
124  }
125 
129  public function testSetAndGetOwner()
130  {
131  $user = UserTestHelper::createBasicUser('Dicky');
132 
133  $gameReward = GameReward::getByName('50 dollar giftcard to somewhere');
134  $this->assertEquals(1, count($gameReward));
135  $gameReward = $gameReward[0];
136  $gameReward->owner = $user;
137  $saved = $gameReward->save();
138  $this->assertTrue($saved);
139  unset($user);
140  $this->assertTrue($gameReward->owner->id > 0);
141  $user = $gameReward->owner;
142  $gameReward->owner = null;
143  $this->assertNotNull($gameReward->owner);
144  $this->assertFalse($gameReward->validate());
145  $gameReward->forget();
146  }
147 
151  public function testReplaceOwner()
152  {
153  $gameRewards = GameReward::getByName('50 dollar giftcard to somewhere');
154  $this->assertEquals(1, count($gameRewards));
155  $gameReward = $gameRewards[0];
156  $user = User::getByUsername('dicky');
157  $this->assertEquals($user->id, $gameReward->owner->id);
158  unset($user);
159  $gameReward->owner = User::getByUsername('sally');
160  $this->assertTrue($gameReward->owner !== null);
161  $user = $gameReward->owner;
162  $this->assertEquals('sally', $user->username);
163  unset($user);
164  }
165 
170  {
171  $gameRewards = GameReward::getByName('50 dollar giftcard to somewhere');
172  $gameReward = $gameRewards[0];
173  $this->assertEquals($gameReward->name, '50 dollar giftcard to somewhere');
174  $postData = array('name' => 'New Name');
175  $gameReward->setAttributes($postData);
176  $this->assertTrue($gameReward->save());
177 
178  $id = $gameReward->id;
179  unset($gameReward);
180  $gameReward = GameReward::getById($id);
181  $this->assertEquals('New Name', $gameReward->name);
182  }
183  }
184 ?>
static getByUsername($username)
Definition: User.php:49
testGetGameRewardsByNameForNonExistentName()
static getByName($name)
Definition: GameReward.php:33
static getById($id, $modelClassName=null)
static getAll($orderBy=null, $sortDescending=false, $modelClassName=null)
Generated on Fri Jul 3 2020 07:10:32
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.