From 84a64ee6a55ca99333951d284be0c6113890b25f Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sat, 28 Oct 2017 15:19:08 +0800 Subject: [PATCH] Remove user role assignment from customer and vendor to worker --- app/Http/Controllers/AuthController.php | 4 +- database/seeds/UserRolesPermissionsTableSeeder.php | 2 - tests/Feature/Auth/MemberChangePasswordTest.php | 13 ++-- tests/Feature/Auth/MemberLoginTest.php | 4 +- tests/Feature/ManageUsersTest.php | 73 +++++++++++++--------- tests/Unit/Models/UserTest.php | 3 +- 6 files changed, 54 insertions(+), 45 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index be75fa5..95431b6 100755 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -12,7 +12,7 @@ class AuthController extends Controller { public function __construct(Guard $auth, PasswordBroker $passwords) { - $this->auth = $auth; + $this->auth = $auth; $this->passwords = $passwords; $this->middleware('guest'); @@ -28,7 +28,7 @@ class AuthController extends Controller $registerData = $request->only('name', 'email', 'password'); $user = User::create($registerData); - $user->assignRole('customer'); + $user->assignRole('admin'); Auth::login($user); flash()->success(trans('auth.welcome', ['name' => $user->name])); diff --git a/database/seeds/UserRolesPermissionsTableSeeder.php b/database/seeds/UserRolesPermissionsTableSeeder.php index 0c344c3..d6b60a6 100644 --- a/database/seeds/UserRolesPermissionsTableSeeder.php +++ b/database/seeds/UserRolesPermissionsTableSeeder.php @@ -16,9 +16,7 @@ class UserRolesPermissionsTableSeeder extends Seeder DB::table($this->tableToSeed)->truncate(); DB::table($this->tableToSeed)->insert([ ['type' => 0, 'name' => 'admin', 'label' => 'Admin'], - ['type' => 0, 'name' => 'customer', 'label' => 'Customer'], ['type' => 0, 'name' => 'worker', 'label' => 'Worker'], - ['type' => 0, 'name' => 'vendor', 'label' => 'Vendor'], ]); } } diff --git a/tests/Feature/Auth/MemberChangePasswordTest.php b/tests/Feature/Auth/MemberChangePasswordTest.php index 6a26113..67bba6f 100644 --- a/tests/Feature/Auth/MemberChangePasswordTest.php +++ b/tests/Feature/Auth/MemberChangePasswordTest.php @@ -2,7 +2,6 @@ namespace Tests\Feature\Auth; -use App\Entities\Users\User; use Tests\TestCase; class MemberChangePasswordTest extends TestCase @@ -10,16 +9,14 @@ class MemberChangePasswordTest extends TestCase /** @test */ public function member_can_change_password() { - $user = factory(User::class)->create(); - $user->assignRole('customer'); - $this->actingAs($user); + $user = $this->adminUserSigningIn(); $this->visit(route('home')); $this->click(trans('auth.change_password')); $this->submitForm(trans('auth.change_password'), [ - 'old_password' => 'member1', - 'password' => 'rahasia', + 'old_password' => 'member1', + 'password' => 'rahasia', 'password_confirmation' => 'rahasia', ]); $this->see(trans('auth.old_password_failed')); @@ -29,8 +26,8 @@ class MemberChangePasswordTest extends TestCase ); $this->submitForm(trans('auth.change_password'), [ - 'old_password' => 'member', - 'password' => 'rahasia', + 'old_password' => 'member', + 'password' => 'rahasia', 'password_confirmation' => 'rahasia', ]); $this->see(trans('auth.password_changed')); diff --git a/tests/Feature/Auth/MemberLoginTest.php b/tests/Feature/Auth/MemberLoginTest.php index 5cb0d43..c12129b 100644 --- a/tests/Feature/Auth/MemberLoginTest.php +++ b/tests/Feature/Auth/MemberLoginTest.php @@ -11,12 +11,12 @@ class MemberLoginTest extends TestCase public function user_can_login_and_logout() { $user = factory(User::class)->create(['name' => 'Nama Member', 'email' => 'email@mail.com']); - $user->assignRole('customer'); + $user->assignRole('worker'); $this->visit(route('auth.login')); $this->submitForm(trans('auth.login'), [ - 'email' => 'email@mail.com', + 'email' => 'email@mail.com', 'password' => 'member', ]); diff --git a/tests/Feature/ManageUsersTest.php b/tests/Feature/ManageUsersTest.php index 2555066..748d684 100644 --- a/tests/Feature/ManageUsersTest.php +++ b/tests/Feature/ManageUsersTest.php @@ -10,65 +10,80 @@ class ManageUsersTest extends TestCase /** @test */ public function admin_can_insert_new_user() { - $user = factory(User::class)->create(); - $user->assignRole('admin'); - $this->actingAs($user); + $user = $this->adminUserSigningIn(); - $this->visit('/users'); + $this->visit(route('users.index')); $this->click(trans('user.create')); - $this->seePageIs('users/create'); + $this->seePageIs(route('users.create')); $this->submitForm(trans('user.create'), [ - 'name' => 'Nama User', - 'email' => 'user@mail.com', - 'password' => 'password', + 'name' => 'Nama User', + 'email' => 'user@mail.com', + 'password' => 'password', 'password_confirmation' => 'password', - 'role' => [1,2], + 'role' => [1, 2], ]); - $this->seePageIs('users'); + + $this->seePageIs(route('users.index')); $this->see(trans('user.created')); $this->see('Nama User'); $this->see('user@mail.com'); - $this->seeInDatabase('users', ['name' => 'Nama User', 'email' => 'user@mail.com']); + + $this->seeInDatabase('users', [ + 'name' => 'Nama User', + 'email' => 'user@mail.com', + ]); } /** @test */ public function admin_can_edit_user_data() { - $user = factory(User::class)->create(); - $user->assignRole('admin'); - $this->actingAs($user); - + $user = $this->adminUserSigningIn(); $user2 = factory(User::class)->create(); - $user2->assignRole('customer'); + $user2->assignRole('worker'); - $this->visit('users/'.$user2->id.'/edit'); + $this->visit(route('users.edit', $user2->id)); $this->type('Ganti nama User', 'name'); $this->type('member@mail.dev', 'email'); $this->press(trans('user.update')); - $this->seePageIs('users/'.$user2->id.'/edit'); + + $this->seePageIs(route('users.edit', $user2->id)); $this->see(trans('user.updated')); $this->see('Ganti nama User'); $this->see('member@mail.dev'); - $this->seeInDatabase('users', ['id' => $user2->id, 'name' => 'Ganti nama User','email' => 'member@mail.dev']); + $this->seeInDatabase('users', [ + 'id' => $user2->id, + 'name' => 'Ganti nama User', + 'email' => 'member@mail.dev', + ]); } /** @test */ public function admin_can_deleta_a_user() { - $user = factory(User::class)->create(); - $user->assignRole('admin'); - $this->actingAs($user); - + $user = $this->adminUserSigningIn(); $user2 = factory(User::class)->create(); - $user2->assignRole('customer'); + $user2->assignRole('worker'); + + $this->visit(route('users.edit', $user2->id)); + + $this->seeInDatabase('users', [ + 'id' => $user2->id, + 'name' => $user2->name, + 'email' => $user2->email, + ]); - $this->visit('users/'.$user2->id.'/edit'); - $this->seeInDatabase('users', ['id' => $user2->id, 'name' => $user2->name,'email' => $user2->email]); $this->click(trans('app.delete')); - $this->seePageIs('users/'.$user2->id.'/delete'); + $this->seePageIs(route('users.delete', $user2->id)); $this->press(trans('app.delete_confirm_button')); - $this->seePageIs('users'); + + $this->seePageIs(route('users.index')); $this->see(trans('user.deleted')); - $this->notSeeInDatabase('users', ['id' => $user2->id, 'name' => $user2->name, 'username' => $user2->username,'email' => $user2->email]); + + $this->notSeeInDatabase('users', [ + 'id' => $user2->id, + 'name' => $user2->name, + 'username' => $user2->username, + 'email' => $user2->email, + ]); } } diff --git a/tests/Unit/Models/UserTest.php b/tests/Unit/Models/UserTest.php index dde0b96..c992975 100644 --- a/tests/Unit/Models/UserTest.php +++ b/tests/Unit/Models/UserTest.php @@ -53,9 +53,8 @@ class UserTest extends TestCase public function it_can_queried_by_roles() { $user = factory(User::class)->create(); - $user->assignRole('vendor'); $user->assignRole('worker'); - $this->assertCount(1, User::orderBy('name')->hasRoles(['vendor', 'worker'])->get()); + $this->assertCount(2, User::orderBy('name')->hasRoles(['worker'])->get()); } }