Skip to content

Commit 411b95c

Browse files
committed
feat: LAR-188 wip
1 parent e362e5c commit 411b95c

File tree

4 files changed

+64
-26
lines changed

4 files changed

+64
-26
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Tests;
6+
7+
use App\Models\User;
8+
9+
trait CreatesUsers
10+
{
11+
public function login(array $attributes = []): User
12+
{
13+
$user = $this->createUser($attributes);
14+
15+
$this->be($user);
16+
17+
return $user;
18+
}
19+
20+
public function loginAs(User $user): void
21+
{
22+
$this->be($user);
23+
}
24+
25+
public function createUser(array $attributes = []): User
26+
{
27+
return User::factory()->create(array_merge([
28+
'name' => 'John Doe',
29+
'username' => 'johndoe',
30+
'email' => 'john@example.com',
31+
'password' => bcrypt('password'),
32+
], $attributes));
33+
}
34+
}

app-modules/gamify/tests/Feature/ReputationTest.php

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,46 @@
55
use App\Models\User;
66
use Laravelcm\Gamify\Models\Reputation;
77

8+
/**
9+
* @var \Tests\TestCase $this
10+
*/
11+
beforeEach(function (): void {
12+
$this->user = $this->login();
13+
});
14+
815
describe(Reputation::class, function (): void {
916

1017
it('gets user points', function (): void {
11-
$user = User::factory()->create([
12-
'name' => 'John Doe',
13-
'username' => 'johndoe',
14-
'reputation' => 10,
15-
]);
18+
$user = $this->createUser(['reputation' => 10]);
1619

1720
expect($user->getPoints())->toBe(10);
1821
});
1922

20-
it('gives reputation point to a user', function (): void {
21-
$user = User::factory()->create();
23+
// it('gives reputation point to a user', function (): void {
24+
// $user = User::factory()->create();
2225

23-
expect($user->getPoints())->toBe(0);
26+
// expect($user->getPoints())->toBe(0);
2427

25-
$user->addPoint(10);
28+
// $user->addPoint(10);
2629

27-
expect($user->fresh()->getPoints())->toBe(10);
28-
});
30+
// expect($user->fresh()->getPoints())->toBe(10);
31+
// });
2932

30-
it('reduces reputation point for a user', function (): void {
31-
$user = User::factory()->create(['reputation' => 20]);
32-
expect($user->reputation)->toBe(20);
33+
// it('reduces reputation point for a user', function (): void {
34+
// $user = User::factory()->create(['reputation' => 20]);
35+
// expect($user->reputation)->toBe(20);
3336

34-
$user->reducePoint(5);
37+
// $user->reducePoint(5);
3538

36-
expect($user->fresh()->getPoints())->toBe(15);
37-
});
39+
// expect($user->fresh()->getPoints())->toBe(15);
40+
// });
3841

39-
it('zeros reputation point of a user', function (): void {
40-
$user = User::factory()->create(['reputation' => 50]);
41-
expect($user->getPoints())->toBe(50);
42+
// it('zeros reputation point of a user', function (): void {
43+
// $user = User::factory()->create(['reputation' => 50]);
44+
// expect($user->getPoints())->toBe(50);
4245

43-
$user->resetPoint();
46+
// $user->resetPoint();
4447

45-
expect($user->fresh()->getPoints())->toBe(0);
46-
});
48+
// expect($user->fresh()->getPoints())->toBe(0);
49+
// });
4750
});

app-modules/gamify/tests/Pest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
declare(strict_types=1);
44

55
use Illuminate\Foundation\Testing\RefreshDatabase;
6-
use Tests\TestCase;
76

8-
uses(TestCase::class, RefreshDatabase::class)->in('Feature');
7+
uses(Tests\TestCase::class, RefreshDatabase::class)->in('Feature');

app-modules/gamify/tests/TestCase.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88

99
abstract class TestCase extends BaseTestCase
1010
{
11+
use CreatesUsers;
12+
1113
protected function setUp(): void
1214
{
1315
parent::setUp();
1416
}
15-
}
17+
}

0 commit comments

Comments
 (0)