1 | <?php |
||
16 | class UserQueryTest extends \Codeception\Test\Unit |
||
17 | { |
||
18 | use Specify; |
||
19 | |||
20 | /** @var Module */ |
||
21 | protected $module; |
||
22 | |||
23 | public function testFind() |
||
24 | { |
||
25 | expect("we can find user", User::findOne(1))->notNull(); |
||
26 | expect("we can't find wrong user", User::findOne(9999))->null(); |
||
27 | |||
28 | foreach ([User::STATUS_ACTIVE, User::STATUS_BLOCKED, User::STATUS_CONFIRM, User::STATUS_RESTORE] as $status) { |
||
29 | $realCount = (new Query)->from(User::tableName()) |
||
30 | ->where('[[status]]=:s', [':s' => $status]) |
||
31 | ->count('*', User::getDb()); |
||
32 | $query = User::find(); |
||
33 | switch ($status) { |
||
34 | case User::STATUS_ACTIVE: |
||
35 | $query->active(); |
||
36 | break; |
||
37 | case User::STATUS_BLOCKED: |
||
38 | $query->blocked(); |
||
39 | break; |
||
40 | case User::STATUS_CONFIRM: |
||
41 | $query->notConfirmed(); |
||
42 | break; |
||
43 | case User::STATUS_RESTORE: |
||
44 | $query->restoring(); |
||
45 | break; |
||
46 | } |
||
47 | $users = $query->all(); |
||
48 | expect("result must be as array", is_array($users))->true(); |
||
49 | expect("count of active user must equals", count($users))->equals($realCount); |
||
50 | if (!empty($users)) { |
||
51 | expect("result must contain User objects", $users[0])->isInstanceOf(User::className()); |
||
52 | } |
||
53 | } |
||
54 | } |
||
55 | |||
56 | protected function tearDown() |
||
57 | { |
||
58 | parent::tearDown(); |
||
59 | } |
||
60 | |||
61 | protected function setUp() |
||
62 | { |
||
63 | parent::setUp(); |
||
64 | $this->module = Yii::$app->getModule('activeuser'); |
||
65 | } |
||
66 | |||
67 | protected function _before() |
||
68 | { |
||
69 | parent::_before(); |
||
70 | $this->tester->haveFixtures([ |
||
71 | 'users' => UserFixture::className(), |
||
72 | 'profiles' => ProfileFixture::className(), |
||
73 | ]); |
||
74 | } |
||
75 | } |
||
76 |