Skip to content

Commit e33b098

Browse files
committed
Resolved - A guest or an authenticated user can list questions (laravel-portugal#26) - add resolved_at to QuestionResource, code style
1 parent b70747c commit e33b098

File tree

4 files changed

+22
-3
lines changed

4 files changed

+22
-3
lines changed

domains/Discussions/Controllers/QuestionsIndexController.php

+6-3
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,13 @@ public function __invoke(Request $request): AnonymousResourceCollection
4040
->when($request->get('title'),
4141
fn(Builder $query, string $title) => $query->where('title', 'like', '%'.strtoupper($title).'%'))
4242
->when($request->get('created'),
43-
fn(Builder $query, array $created) => $query->whereBetween('created_at', [$created['from'], $created['to']]))
44-
->when($request->get('resolved'),
43+
fn(Builder $query, array $created) => $query->whereBetween('created_at', [
44+
$created['from'],
45+
$created['to'],
46+
]))
47+
->when($request->get('resolved') == "1",
4548
fn(Builder $query, bool $resolved) => $query->whereNotNull('resolved_at'))
46-
->when(!$request->get('resolved'),
49+
->when($request->get('resolved') == "0",
4750
fn(Builder $query, bool $resolved) => $query->whereNull('resolved_at'))
4851
->simplePaginate(15);
4952

domains/Discussions/Resources/QuestionResource.php

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public function toArray($request): array
1717
'author' => UserResource::make($this->author),
1818
'created_at' => $this->created_at,
1919
'updated_at' => $this->updated_at,
20+
'resolved_at' => $this->resolved_at,
2021
'deleted_at' => $this->deleted_at,
2122
];
2223
}

domains/Discussions/Tests/Feature/QuestionsIndexTest.php

+13
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public function it_list_non_deleted_question(): void
4343
'author',
4444
'created_at',
4545
'updated_at',
46+
'resolved_at',
4647
'deleted_at',
4748
]
4849
],
@@ -172,12 +173,24 @@ public function it_search_by_resolved(): void
172173
->count(5)
173174
->create();
174175

176+
$this->json('GET', route('discussions.questions.index'))
177+
->seeJsonContains([
178+
'to' => 15,
179+
]);
180+
175181
$this->json('GET', route('discussions.questions.index', [
176182
'resolved' => true,
177183
]))
178184
->seeJsonContains([
179185
'to' => 5,
180186
]);
187+
188+
$this->json('GET', route('discussions.questions.index', [
189+
'resolved' => false,
190+
]))
191+
->seeJsonContains([
192+
'to' => 10,
193+
]);
181194
}
182195

183196
/** @test */

domains/Discussions/Tests/Feature/QuestionsViewTest.php

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public function it_allow_guest_see_a_question(): void
4646
],
4747
'created_at' => $this->question->created_at,
4848
'updated_at' => $this->question->updated_at,
49+
'resolved_at' => $this->question->resolved_at,
4950
'deleted_at' => $this->question->deleted_at
5051
]
5152
]);
@@ -65,6 +66,7 @@ public function it_allow_authenticated_user_see_a_question(): void
6566
'author',
6667
'created_at',
6768
'updated_at',
69+
'resolved_at',
6870
'deleted_at'
6971
]
7072
]);

0 commit comments

Comments
 (0)