|
5 | 5 | use App\Models\User; |
6 | 6 | use Laravelcm\Gamify\Models\Reputation; |
7 | 7 |
|
8 | | -beforeEach(function (): void { |
9 | | - $this->user = createUser(['reputation' => 0]); |
10 | | -}); |
11 | | - |
12 | 8 | describe(Reputation::class, function (): void { |
13 | 9 |
|
14 | 10 | it('gets user points', function (): void { |
15 | | - $user = createUser(['reputation' => 10]); |
| 11 | + $user = User::factory()->create([ |
| 12 | + 'name' => 'John Doe', |
| 13 | + 'username' => 'johndoe', |
| 14 | + 'reputation' => 10 |
| 15 | + ]); |
16 | 16 |
|
17 | 17 | expect($user->getPoints())->toBe(10); |
18 | 18 | }); |
19 | 19 |
|
20 | 20 | it('gives reputation point to a user', function (): void { |
21 | | - expect($this->user->getPoints())->toBe(0); |
| 21 | + $user = User::factory()->create(); |
| 22 | + |
| 23 | + expect($user->getPoints())->toBe(0); |
22 | 24 |
|
23 | 25 | $user->addPoint(10); |
24 | 26 |
|
25 | | - expect($this->user->fresh()->getPoints())->toBe(10); |
| 27 | + expect($user->fresh()->getPoints())->toBe(10); |
26 | 28 | }); |
27 | 29 |
|
28 | 30 | it('reduces reputation point for a user', function (): void { |
29 | | - $user = createUser(['reputation' => 20]); |
| 31 | + $user = User::factory()->create(['reputation' => 20]); |
30 | 32 | expect($user->reputation)->toBe(20); |
31 | 33 |
|
32 | 34 | $user->reducePoint(5); |
|
35 | 37 | }); |
36 | 38 |
|
37 | 39 | it('zeros reputation point of a user', function (): void { |
38 | | - $user = createUser(['reputation' => 50]); |
| 40 | + $user = User::factory()->create(['reputation' => 50]); |
39 | 41 | expect($user->getPoints())->toBe(50); |
40 | 42 |
|
41 | 43 | $user->resetPoint(); |
42 | 44 |
|
43 | 45 | expect($user->fresh()->getPoints())->toBe(0); |
44 | 46 | }); |
45 | | - |
46 | | - function createUser(array $attributes = []): User |
47 | | - { |
48 | | - $user = new User; |
49 | | - |
50 | | - $user->forceFill(array_merge($attributes, [ |
51 | | - 'name' => 'Demo', |
52 | | - 'email' => 'demo@laravelcm.com', |
53 | | - 'password' => 'password', |
54 | | - ]))->save(); |
55 | | - |
56 | | - return $user->fresh(); |
57 | | - } |
58 | | - |
59 | 47 | }); |
0 commit comments