RoleFeatureTest.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace Tests\Feature\Admin\Roles;
  3. use App\Shop\Roles\Role;
  4. use Tests\TestCase;
  5. class RoleFeatureTest extends TestCase
  6. {
  7. /** @test */
  8. public function it_can_see_the_list_of_roles()
  9. {
  10. $this->actingAs($this->employee, 'employee')
  11. ->get(route('admin.roles.index'))
  12. ->assertSee('Name')
  13. ->assertSee('Display Name')
  14. ->assertSee('Description')
  15. ->assertSee($this->role->name)
  16. ->assertStatus(200);
  17. }
  18. /** @test */
  19. public function it_can_edit_the_role()
  20. {
  21. $role = factory(Role::class)->create();
  22. $data = [
  23. 'name' => 'superadministrator',
  24. 'display_name' => 'Super Administrator',
  25. 'description' => 'Super administrator user'
  26. ];
  27. $this->actingAs($this->employee, 'employee')
  28. ->put(route('admin.roles.update', $role->id), $data)
  29. ->assertSessionHas('message', 'Update role successful!')
  30. ->assertStatus(302)
  31. ->assertRedirect(route('admin.roles.edit', $role->id));
  32. }
  33. /** @test */
  34. public function it_can_show_the_edit_role_page()
  35. {
  36. $data = [
  37. 'name' => 'superadmin',
  38. 'description' => 'Super admin user'
  39. ];
  40. $role = factory(Role::class)->create($data);
  41. $this->actingAs($this->employee, 'employee')
  42. ->get(route('admin.roles.edit', $role->id))
  43. ->assertSee('Display name')
  44. ->assertSee($role->display_name)
  45. ->assertSee('Description')
  46. ->assertSee($role->description)
  47. ->assertStatus(200);
  48. }
  49. /** @test */
  50. public function it_can_create_the_role()
  51. {
  52. $data = [
  53. 'name' => 'superadmin',
  54. 'display_name' => 'Super Admin',
  55. 'description' => 'Super admin user'
  56. ];
  57. $this->actingAs($this->employee, 'employee')
  58. ->post(route('admin.roles.store'), $data)
  59. ->assertSessionHas('message', 'Create role successful!')
  60. ->assertStatus(302)
  61. ->assertRedirect(route('admin.roles.index'));
  62. }
  63. /** @test */
  64. public function it_can_show_the_create_role_form()
  65. {
  66. $this->actingAs($this->employee, 'employee')
  67. ->get(route('admin.roles.create'))
  68. ->assertSee('Name')
  69. ->assertSee('Display name')
  70. ->assertSee('Description')
  71. ->assertStatus(200);
  72. }
  73. }