From 7b000bcab03c51ebf1bec5b0ec42adeda8f2b4cd Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Mon, 30 Jul 2018 15:45:08 +0800 Subject: [PATCH] Add method for retrieving all players --- app/Http/Controllers/PlayerController.php | 8 ++++++++ routes/web.php | 1 + tests/PlayerControllerTest.php | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/app/Http/Controllers/PlayerController.php b/app/Http/Controllers/PlayerController.php index fdcad560..985edb41 100644 --- a/app/Http/Controllers/PlayerController.php +++ b/app/Http/Controllers/PlayerController.php @@ -55,6 +55,14 @@ class PlayerController extends Controller ->with('user', $user); } + public function listAll() + { + return Auth::user() + ->players() + ->select('pid', 'player_name', 'preference', 'tid_steve', 'tid_alex') + ->get(); + } + public function add(Request $request) { $user = Auth::user(); diff --git a/routes/web.php b/routes/web.php index 1964a911..3b3e9cb4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -54,6 +54,7 @@ Route::group(['middleware' => ['web', 'auth'], 'prefix' => 'user'], function () // Player Route::any ('/player', 'PlayerController@index'); + Route::get ('/player/list', 'PlayerController@listAll'); Route::post('/player/add', 'PlayerController@add'); Route::any ('/player/show', 'PlayerController@show'); Route::post('/player/preference', 'PlayerController@setPreference'); diff --git a/tests/PlayerControllerTest.php b/tests/PlayerControllerTest.php index 8c3e908b..db932c45 100644 --- a/tests/PlayerControllerTest.php +++ b/tests/PlayerControllerTest.php @@ -25,6 +25,27 @@ class PlayerControllerTest extends TestCase ->assertViewHas('user'); } + public function testListAll() + { + $user = factory(User::class)->create(); + $default = factory(Player::class)->create(['uid' => $user->uid]); + $slim = factory(Player::class, 'slim')->create(['uid' => $user->uid]); + $this->actingAs($user) + ->get('/user/player/list') + ->assertJson([ + [ + 'pid' => $default->pid, + 'player_name' => $default->player_name, + 'preference' => $default->preference, + ], + [ + 'pid' => $slim->pid, + 'player_name' => $slim->player_name, + 'preference' => $slim->preference, + ] + ]); + } + public function testAdd() { // Without player name