1500, 'description' => 'First milestone' ]); $this->assertDatabaseHas('milestones', [ 'target' => 1500, 'description' => 'First milestone' ]); $this->assertEquals(1500, $milestone->target); $this->assertEquals('First milestone', $milestone->description); } public function test_can_fetch_milestones_via_api(): void { // Create test milestones Milestone::create(['target' => 1500, 'description' => 'First milestone']); Milestone::create(['target' => 3000, 'description' => 'Second milestone']); $response = $this->get('/milestones'); $response->assertStatus(200); $response->assertJsonCount(2); $response->assertJson([ ['target' => 1500, 'description' => 'First milestone'], ['target' => 3000, 'description' => 'Second milestone'] ]); } public function test_milestones_ordered_by_target(): void { // Create milestones in reverse order Milestone::create(['target' => 3000, 'description' => 'Third']); Milestone::create(['target' => 1000, 'description' => 'First']); Milestone::create(['target' => 2000, 'description' => 'Second']); $response = $this->get('/milestones'); $milestones = $response->json(); $this->assertEquals(1000, $milestones[0]['target']); $this->assertEquals(2000, $milestones[1]['target']); $this->assertEquals(3000, $milestones[2]['target']); } }