Browse Source

Remove user role assignment from customer and vendor to worker

pull/1/head
Nafies Luthfi 8 years ago
parent
commit
84a64ee6a5
  1. 2
      app/Http/Controllers/AuthController.php
  2. 2
      database/seeds/UserRolesPermissionsTableSeeder.php
  3. 5
      tests/Feature/Auth/MemberChangePasswordTest.php
  4. 2
      tests/Feature/Auth/MemberLoginTest.php
  5. 65
      tests/Feature/ManageUsersTest.php
  6. 3
      tests/Unit/Models/UserTest.php

2
app/Http/Controllers/AuthController.php

@ -28,7 +28,7 @@ class AuthController extends Controller
$registerData = $request->only('name', 'email', 'password'); $registerData = $request->only('name', 'email', 'password');
$user = User::create($registerData); $user = User::create($registerData);
$user->assignRole('customer');
$user->assignRole('admin');
Auth::login($user); Auth::login($user);
flash()->success(trans('auth.welcome', ['name' => $user->name])); flash()->success(trans('auth.welcome', ['name' => $user->name]));

2
database/seeds/UserRolesPermissionsTableSeeder.php

@ -16,9 +16,7 @@ class UserRolesPermissionsTableSeeder extends Seeder
DB::table($this->tableToSeed)->truncate(); DB::table($this->tableToSeed)->truncate();
DB::table($this->tableToSeed)->insert([ DB::table($this->tableToSeed)->insert([
['type' => 0, 'name' => 'admin', 'label' => 'Admin'], ['type' => 0, 'name' => 'admin', 'label' => 'Admin'],
['type' => 0, 'name' => 'customer', 'label' => 'Customer'],
['type' => 0, 'name' => 'worker', 'label' => 'Worker'], ['type' => 0, 'name' => 'worker', 'label' => 'Worker'],
['type' => 0, 'name' => 'vendor', 'label' => 'Vendor'],
]); ]);
} }
} }

5
tests/Feature/Auth/MemberChangePasswordTest.php

@ -2,7 +2,6 @@
namespace Tests\Feature\Auth; namespace Tests\Feature\Auth;
use App\Entities\Users\User;
use Tests\TestCase; use Tests\TestCase;
class MemberChangePasswordTest extends TestCase class MemberChangePasswordTest extends TestCase
@ -10,9 +9,7 @@ class MemberChangePasswordTest extends TestCase
/** @test */ /** @test */
public function member_can_change_password() 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->visit(route('home'));
$this->click(trans('auth.change_password')); $this->click(trans('auth.change_password'));

2
tests/Feature/Auth/MemberLoginTest.php

@ -11,7 +11,7 @@ class MemberLoginTest extends TestCase
public function user_can_login_and_logout() public function user_can_login_and_logout()
{ {
$user = factory(User::class)->create(['name' => 'Nama Member', 'email' => 'email@mail.com']); $user = factory(User::class)->create(['name' => 'Nama Member', 'email' => 'email@mail.com']);
$user->assignRole('customer');
$user->assignRole('worker');
$this->visit(route('auth.login')); $this->visit(route('auth.login'));

65
tests/Feature/ManageUsersTest.php

@ -10,13 +10,11 @@ class ManageUsersTest extends TestCase
/** @test */ /** @test */
public function admin_can_insert_new_user() 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->click(trans('user.create'));
$this->seePageIs('users/create');
$this->seePageIs(route('users.create'));
$this->submitForm(trans('user.create'), [ $this->submitForm(trans('user.create'), [
'name' => 'Nama User', 'name' => 'Nama User',
'email' => 'user@mail.com', 'email' => 'user@mail.com',
@ -24,51 +22,68 @@ class ManageUsersTest extends TestCase
'password_confirmation' => '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(trans('user.created'));
$this->see('Nama User'); $this->see('Nama User');
$this->see('user@mail.com'); $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 */ /** @test */
public function admin_can_edit_user_data() 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 = 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('Ganti nama User', 'name');
$this->type('member@mail.dev', 'email'); $this->type('member@mail.dev', 'email');
$this->press(trans('user.update')); $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(trans('user.updated'));
$this->see('Ganti nama User'); $this->see('Ganti nama User');
$this->see('member@mail.dev'); $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 */ /** @test */
public function admin_can_deleta_a_user() 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 = 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->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->press(trans('app.delete_confirm_button'));
$this->seePageIs('users');
$this->seePageIs(route('users.index'));
$this->see(trans('user.deleted')); $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,
]);
} }
} }

3
tests/Unit/Models/UserTest.php

@ -53,9 +53,8 @@ class UserTest extends TestCase
public function it_can_queried_by_roles() public function it_can_queried_by_roles()
{ {
$user = factory(User::class)->create(); $user = factory(User::class)->create();
$user->assignRole('vendor');
$user->assignRole('worker'); $user->assignRole('worker');
$this->assertCount(1, User::orderBy('name')->hasRoles(['vendor', 'worker'])->get());
$this->assertCount(2, User::orderBy('name')->hasRoles(['worker'])->get());
} }
} }
Loading…
Cancel
Save