fix tests

This commit is contained in:
Romulus21
2024-02-24 23:15:14 +01:00
parent a818daeb38
commit 6dd147c3e2
4 changed files with 28 additions and 9 deletions

View File

@@ -20,7 +20,7 @@ class ToDoFactory extends Factory
return [
'user_id' => User::inRandomOrder()->value('id'),
'name' => $this->faker->words(1, 4),
'checked' => $this->faker->boolean,
'checked' => rand(0, 1) ? now() : null,
];
}
}

View File

@@ -57,7 +57,7 @@ const ToDoShow = () => {
</> : <>
<button className="absolute right-5" onClick={handleEditTodoMode}><EditSVG className="w-5"/></button>
<h1 className="text-lg font-bold">{toDo?.name}</h1>
<p>Terminé le {toDo?.checked ? (new Date(toDo.checked)).toSmallFrDate() : ''}</p>
{toDo?.checked && <p>Terminé le {(new Date(toDo.checked)).toSmallFrDate()}</p>}
<p>{toDo?.description}</p>
</>}

View File

@@ -8,7 +8,7 @@ test('user can start a time tracker', function () {
Sanctum::actingAs($user = User::factory()->create());
$toDo = ToDo::factory()->create(['user_id' => $user->id, 'checked' => false]);
$this->postJson('/api/time-tracker', ['todo_id' => $toDo->id])
$this->postJson('/api/time-trackers', ['todo_id' => $toDo->id])
->assertCreated()
->assertJson([
'id' => $toDo->timeTrackers()->value('id'),
@@ -27,10 +27,10 @@ test('user can retrieve his current timer', function () {
Sanctum::actingAs($user = User::factory()->create());
$toDo = ToDo::factory()->create(['user_id' => $user->id, 'checked' => false]);
$this->postJson('/api/time-tracker', ['todo_id' => $toDo->id])
$this->postJson('/api/time-trackers', ['todo_id' => $toDo->id])
->assertCreated();
$this->get('/api/time-tracker/user')
$this->get('/api/time-trackers/user')
->assertOk()
->assertJson([
'id' => $toDo->timeTrackers()->value('id'),
@@ -48,7 +48,7 @@ test('user can retrieve his current timer', function () {
test('user has no content response if not current time tracker', function () {
Sanctum::actingAs($user = User::factory()->create());
$this->get('/api/time-tracker/user')
$this->get('/api/time-trackers/user')
->assertNoContent();
});
@@ -56,10 +56,10 @@ test('user can stop current time tracker', function () {
Sanctum::actingAs($user = User::factory()->create());
$toDo = ToDo::factory()->create(['user_id' => $user->id, 'checked' => false]);
$this->postJson('/api/time-tracker', ['todo_id' => $toDo->id])
$this->postJson('/api/time-trackers', ['todo_id' => $toDo->id])
->assertCreated();
$this->delete('/api/time-tracker/user')
$this->delete('/api/time-trackers/user')
->assertNoContent();
expect($toDo->timeTrackers->first())

View File

@@ -32,7 +32,7 @@ test('an user can retrieve his to dos', function () {
Sanctum::actingAs($this->user);
ToDo::factory()->count(10)->create([
'user_id' => $this->user->id,
'checked' => false,
'checked' => null,
]);
$response = $this->get('api/todos');
@@ -48,6 +48,25 @@ test('an user can retrieve his to dos', function () {
->assertJson($toDos);
});
test('an user can retrieve his finished to dos', function () {
Sanctum::actingAs($this->user);
ToDo::factory()->count(10)->create([
'user_id' => $this->user->id,
]);
$response = $this->get('api/todos/finished');
$toDos = $this->user->toDos()->whereNotNull('checked')->get()->map(fn ($toDo) => [
'id' => $toDo->id,
'user_id' => $toDo->user_id,
'name' => $toDo->name,
'checked' => now(),
])->toArray();
$response->assertOk()
->assertJson($toDos);
});
test('an user can retrieve a to do', function () {
Sanctum::actingAs($this->user);
$toDos = ToDo::factory()->count(10)->create([