MeasureMonitorTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. $this->assertNotEmpty($user->id);
  35. return $user;
  36. }
  37. /**
  38. * @depends testUserMark
  39. * @depends testUser
  40. */
  41. public function testIndex(User $userMark,User $user){
  42. $response=$this->actingAs($user)->get('weigh/measureMonitor');
  43. $response->assertOk();
  44. $response=$this->actingAs($userMark)->get('weigh/measureMonitor');
  45. $response->assertStatus(302)->assertRedirect('/');
  46. }
  47. }