Browse Source

Remove user role assignment from customer and vendor to worker

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

4
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]));

2
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'],
]);
}
}

13
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'));

4
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',
]);

73
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,
]);
}
}

3
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());
}
}
Loading…
Cancel
Save