From ff4812c6904a2fcfe452fce231933182e4e79163 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Thu, 12 Oct 2017 21:52:09 +0800 Subject: [PATCH] Refactor user registration and login testing and lang usage --- app/Http/Controllers/AuthController.php | 35 +++++++++++------------- resources/lang/id/auth.php | 1 + tests/Feature/Auth/MemberLoginTest.php | 19 +++++++++----- tests/Feature/Auth/MemberRegistrationTest.php | 38 ++++++++++++++++----------- 4 files changed, 50 insertions(+), 43 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index b47aea7..5a450ee 100755 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -3,7 +3,6 @@ namespace App\Http\Controllers; use App\Entities\Users\User; -use App\Http\Controllers\Controller; use App\Http\Requests\Accounts\ChangePasswordRequest; use App\Http\Requests\Accounts\LoginRequest; use App\Http\Requests\Accounts\RegisterRequest; @@ -13,10 +12,9 @@ use Illuminate\Contracts\Auth\Guard; use Illuminate\Contracts\Auth\PasswordBroker; use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ThrottlesLogins; -use Illuminate\Http\Request; - -class AuthController extends Controller { +class AuthController extends Controller +{ use ResetsPasswords, ThrottlesLogins; private $user; @@ -44,17 +42,16 @@ class AuthController extends Controller { return view('auth.login'); } - public function postLogin(LoginRequest $req) + public function postLogin(LoginRequest $request) { - $loginData = $req->only('email','password'); + $loginData = $request->only('email', 'password'); - if (Auth::attempt($loginData, $req->has('remember'))) - { - flash()->success('Selamat datang kembali ' . Auth::user()->name . '.'); + if (Auth::attempt($loginData, $request->has('remember'))) { + flash()->success(trans('auth.welcome', ['name' => Auth::user()->name])); return redirect()->intended('home'); } - flash()->error('Mohon maaf, anda tidak dapat login, cek kembali email/password anda!'); + flash()->error(trans('auth.failed')); return redirect()->back()->withInput(); } @@ -70,21 +67,20 @@ class AuthController extends Controller { return view('auth.register'); } - public function postRegister(RegisterRequest $req) + public function postRegister(RegisterRequest $request) { - $registerData = $req->only('name','email','password'); + $registerData = $request->only('name', 'email', 'password'); $user = User::create($registerData); $user->assignRole('customer'); Auth::login($user); - flash()->success('Selamat datang ' . $user->name . '.'); + flash()->success(trans('auth.welcome', ['name' => $user->name])); return redirect()->route('home'); } public function getActivate($code) { - } public function getChangePassword() @@ -92,12 +88,11 @@ class AuthController extends Controller { return view('auth.change-password'); } - public function postChangePassword(ChangePasswordRequest $req) + public function postChangePassword(ChangePasswordRequest $request) { - $input = $req->except('_token'); + $input = $request->except('_token'); - if (app('hash')->check($input['old_password'], $this->user->password)) - { + if (app('hash')->check($input['old_password'], $this->user->password)) { $this->user->password = $input['password']; $this->user->save(); @@ -115,9 +110,9 @@ class AuthController extends Controller { return view('auth.profile', compact('user')); } - public function patchProfile(UpdateProfileRequest $req) + public function patchProfile(UpdateProfileRequest $request) { - $this->user->name = $req->get('name'); + $this->user->name = $request->get('name'); $this->user->save(); flash()->success('Profil berhasil diupdate.'); diff --git a/resources/lang/id/auth.php b/resources/lang/id/auth.php index 72ee466..f421747 100644 --- a/resources/lang/id/auth.php +++ b/resources/lang/id/auth.php @@ -33,4 +33,5 @@ return [ 'send_reset_password_link' => 'Kirim Link Reset Password', 'old_password_failed' => 'Password lama tidak cocok!', 'welcome' => 'Selamat datang kembali :name.', + 'logged_out' => 'Anda telah logout.', ]; diff --git a/tests/Feature/Auth/MemberLoginTest.php b/tests/Feature/Auth/MemberLoginTest.php index 849a5cf..5cb0d43 100644 --- a/tests/Feature/Auth/MemberLoginTest.php +++ b/tests/Feature/Auth/MemberLoginTest.php @@ -8,20 +8,25 @@ use Tests\TestCase; class MemberLoginTest extends TestCase { /** @test */ - public function member_register_and_login_successfully() + public function user_can_login_and_logout() { $user = factory(User::class)->create(['name' => 'Nama Member', 'email' => 'email@mail.com']); $user->assignRole('customer'); $this->visit(route('auth.login')); - $this->type('email@mail.com', 'email'); - $this->type('member', 'password'); - $this->press(trans('auth.login')); + + $this->submitForm(trans('auth.login'), [ + 'email' => 'email@mail.com', + 'password' => 'member', + ]); + $this->seePageIs(route('home')); - $this->see('Selamat datang kembali Nama Member.'); + $this->see(trans('auth.welcome', ['name' => $user->name])); + $this->click(trans('auth.logout')); + $this->seePageIs(route('auth.login')); - $this->see('Anda telah logout.'); + $this->see(trans('auth.logged_out')); } /** @test */ @@ -32,6 +37,6 @@ class MemberLoginTest extends TestCase $this->type('password.112', 'password'); $this->press(trans('auth.login')); $this->seePageIs(route('auth.login')); - $this->see('Mohon maaf, anda tidak dapat login'); + $this->see(trans('auth.failed')); } } diff --git a/tests/Feature/Auth/MemberRegistrationTest.php b/tests/Feature/Auth/MemberRegistrationTest.php index 7fd59c6..bb8d54c 100644 --- a/tests/Feature/Auth/MemberRegistrationTest.php +++ b/tests/Feature/Auth/MemberRegistrationTest.php @@ -10,22 +10,27 @@ class MemberRegistrationTest extends TestCase public function registration_validation() { $this->visit(route('auth.register')); - $this->type('', 'name'); - $this->type('member@app.dev', 'email'); - $this->type('', 'password'); - $this->type('', 'password_confirmation'); - $this->press(trans('auth.register')); + + $this->submitForm(trans('auth.register'), [ + 'name' => '', + 'email' => 'member@app.dev', + 'password' => '', + 'password_confirmation' => '', + ]); + $this->seePageIs(route('auth.register')); $this->see('Nama harus diisi.'); $this->see('Email ini sudah terdaftar.'); $this->see('Password harus diisi.'); $this->see('Konfirmasi password harus diisi.'); - $this->type('Nama Member', 'name'); - $this->type('email', 'email'); - $this->type('password', 'password'); - $this->type('password..', 'password_confirmation'); - $this->press(trans('auth.register')); + $this->submitForm(trans('auth.register'), [ + 'name' => 'Nama Member', + 'email' => 'email', + 'password' => 'password', + 'password_confirmation' => 'password..', + ]); + $this->seePageIs(route('auth.register')); $this->see('Email tidak valid.'); $this->see('Konfirmasi password tidak sesuai.'); @@ -35,12 +40,13 @@ class MemberRegistrationTest extends TestCase public function member_register_successfully() { $this->visit(route('auth.register')); - $this->type('Nama Member', 'name'); - $this->type('email@mail.com', 'email'); - $this->type('password.111', 'password'); - $this->type('password.111', 'password_confirmation'); - $this->press(trans('auth.register')); + $this->submitForm(trans('auth.register'), [ + 'name' => 'Nama Member', + 'email' => 'email@mail.com', + 'password' => 'password.111', + 'password_confirmation' => 'password.111', + ]); $this->seePageIs(route('home')); - $this->see('Selamat datang Nama Member.'); + $this->see(trans('auth.welcome', ['name' => 'Nama Member'])); } }