MeasureMonitorTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Authority;
  4. use App\Role;
  5. use App\User;
  6. use Illuminate\Support\Facades\DB;
  7. use Tests\TestCase;
  8. use Illuminate\Foundation\Testing\WithFaker;
  9. use Illuminate\Foundation\Testing\RefreshDatabase;
  10. class MeasureMonitorTest extends TestCase
  11. {
  12. public function testUserMark(){
  13. $userMark=factory(User::class)->create();
  14. $this->assertNotEmpty($userMark->id);
  15. return $userMark;
  16. }
  17. public function testRole(){
  18. $role=Role::create([
  19. 'name'=>'测试admin'
  20. ]);
  21. $this->assertNotEmpty($role->id);
  22. $authorities= Authority::get();
  23. foreach ($authorities as $authority){
  24. DB::table('authority_role')->insert(['id_authority'=>$authority->id,'id_role'=>$role->id]);
  25. }
  26. return $role;
  27. }
  28. /**
  29. * @depends testRole
  30. */
  31. public function testUser(Role $role){
  32. $user=factory(User::class)->create();
  33. DB::table('user_role')->insert(['id_user'=>$user->id,'id_role'=>$role->id]);
  34. $user->touchToken();
  35. $this->assertNotEmpty($user->id);
  36. return $user;
  37. }
  38. /**
  39. * @depends testUserMark
  40. * @depends testUser
  41. */
  42. public function testIndex(User $userMark,User $user){
  43. $response=$this->actingAs($user)->get('package/measureMonitor');
  44. $response->assertOk();
  45. $response=$this->actingAs($userMark)->get('package/measureMonitor');
  46. $response->assertStatus(302)->assertRedirect('/');
  47. }
  48. }