|
11 | 11 | use App\Models\User; |
12 | 12 | use App\Service\DeletionService; |
13 | 13 | use Illuminate\Support\Facades\Config; |
| 14 | +use Illuminate\Support\Facades\Hash; |
14 | 15 | use Livewire\Livewire; |
15 | 16 | use Mockery\MockInterface; |
16 | 17 | use PHPUnit\Framework\Attributes\UsesClass; |
@@ -67,6 +68,47 @@ public function test_can_see_view_page_of_user(): void |
67 | 68 | $response->assertSuccessful(); |
68 | 69 | } |
69 | 70 |
|
| 71 | + public function test_can_see_create_page_of_user(): void |
| 72 | + { |
| 73 | + // Act |
| 74 | + $response = Livewire::test(UserResource\Pages\CreateUser::class); |
| 75 | + |
| 76 | + // Assert |
| 77 | + $response->assertSuccessful(); |
| 78 | + } |
| 79 | + |
| 80 | + public function test_can_create_user(): void |
| 81 | + { |
| 82 | + // Arrange |
| 83 | + $userFake = User::factory()->make(); |
| 84 | + |
| 85 | + // Act |
| 86 | + $response = Livewire::test(UserResource\Pages\CreateUser::class) |
| 87 | + ->fillForm([ |
| 88 | + 'name' => $userFake->name, |
| 89 | + 'email' => $userFake->email, |
| 90 | + 'password_create' => 'password', |
| 91 | + 'timezone' => $userFake->timezone, |
| 92 | + 'week_start' => $userFake->week_start->value, |
| 93 | + 'currency' => 'EUR', |
| 94 | + ]) |
| 95 | + ->call('create') |
| 96 | + ->assertHasNoFormErrors(); |
| 97 | + |
| 98 | + // Assert |
| 99 | + $response->assertSuccessful(); |
| 100 | + $user = User::where('email', $userFake->email)->first(); |
| 101 | + $this->assertNotNull($user); |
| 102 | + $this->assertSame($userFake->name, $user->name); |
| 103 | + $this->assertSame($userFake->email, $user->email); |
| 104 | + $this->assertSame($userFake->timezone, $user->timezone); |
| 105 | + $this->assertSame($userFake->week_start->value, $user->week_start->value); |
| 106 | + $organization = $user->ownedTeams()->first(); |
| 107 | + $this->assertNotNull($organization); |
| 108 | + $this->assertSame('EUR', $organization->currency); |
| 109 | + $this->assertTrue(Hash::check('password', $user->password)); |
| 110 | + } |
| 111 | + |
70 | 112 | public function test_can_delete_a_user(): void |
71 | 113 | { |
72 | 114 | // Arrange |
|
0 commit comments