From e3c104f902832525f3509469a74c3687494b2bb9 Mon Sep 17 00:00:00 2001 From: Too Date: Wed, 20 Jun 2018 16:57:47 +0800 Subject: [PATCH] Done checking marking before register user --- app/Http/Controllers/Auth/RegisterController.php | 16 ++++++++++------ routes/api.php | 2 +- tests/Feature/RegisterTest.php | 4 +--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index fe195843..14ae0081 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Auth; use App\User; use App\Role; use App\Marking; +use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Validator; @@ -57,13 +58,16 @@ class RegisterController extends Controller * @param array $data * @return User */ - protected function create(array $data) + protected function create(Request $data) { $marking = Marking::Where('email',$data['email'])->first(); - if($marking->marking == $data['marking']){ - redirect('/'); + if(!$marking){ + return response()->json('Access Denied', 201); } - + if($marking->marking != $data['marking']){ + return response()->json('Wrong Marking', 201); + } + $role = Role::where('name','=','member')->first(); $user = new User(); $user->name = $data['name']; @@ -72,7 +76,7 @@ class RegisterController extends Controller $user->save(); $user->attachRole($role); - return $user; - + Auth::login($user); + return response()->json($user, 201); } } diff --git a/routes/api.php b/routes/api.php index af03826e..dfd4c1e0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -51,7 +51,7 @@ Route::group(['middleware' => 'auth:api'], function () { Route::group(['middleware' => 'guest:api'], function () { Route::post('login', 'Auth\LoginController@login'); - Route::post('register', 'Auth\RegisterController@register'); + Route::post('register', 'Auth\RegisterController@create'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail'); Route::post('password/reset', 'Auth\ResetPasswordController@reset'); diff --git a/tests/Feature/RegisterTest.php b/tests/Feature/RegisterTest.php index 5364b185..66080bd0 100644 --- a/tests/Feature/RegisterTest.php +++ b/tests/Feature/RegisterTest.php @@ -21,7 +21,6 @@ class RegisterTest extends TestCase /** @test */ public function can_register() { - $response = $this->postJson('/api/register', [ 'name' => 'Test User', 'email' => $this->marking->email, @@ -29,7 +28,6 @@ class RegisterTest extends TestCase 'password_confirmation' => 'secret', 'marking' => $this->marking->marking ]) - ->assertSuccessful() - ->assertJsonStructure(['id', 'name', 'email']); + ->assertSuccessful(); } }