PackageTest.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Authority;
  4. use App\Package;
  5. use App\Role;
  6. use App\User;
  7. use Illuminate\Support\Facades\DB;
  8. use Tests\TestCase;
  9. use Illuminate\Foundation\Testing\WithFaker;
  10. use Illuminate\Foundation\Testing\RefreshDatabase;
  11. class PackageTest extends TestCase
  12. {
  13. public function testUserMark(){
  14. $userMark=factory(User::class)->create();
  15. $this->assertNotEmpty($userMark->id);
  16. return $userMark;
  17. }
  18. public function testRole(){
  19. $role=Role::create([
  20. 'name'=>'测试admin'
  21. ]);
  22. $this->assertNotEmpty($role->id);
  23. $authorities= Authority::get();
  24. foreach ($authorities as $authority){
  25. DB::table('authority_role')->insert(['id_authority'=>$authority->id,'id_role'=>$role->id]);
  26. }
  27. return $role;
  28. }
  29. /**
  30. * @depends testRole
  31. */
  32. public function testUser(Role $role){
  33. $user=factory(User::class)->create();
  34. DB::table('user_role')->insert(['id_user'=>$user->id,'id_role'=>$role->id]);
  35. $user->touchToken();
  36. $this->assertNotEmpty($user->id);
  37. return $user;
  38. }
  39. public function testAddPackage(){
  40. $package=Package::create([
  41. 'logistic_number'=>'test214',
  42. ',type'=>'普通波次',
  43. 'weight'=>20,
  44. 'length'=>38,
  45. 'width'=>30,
  46. 'height'=>25,
  47. 'owner_id'=>'1',
  48. 'paper_box_id'=>'1',
  49. 'measuring_machine_id'=>'1',
  50. 'recipient'=>'Test浏览量',
  51. 'status'=>'无',
  52. ]);
  53. $this->assertNotEmpty($package);
  54. return $package;
  55. }
  56. /**
  57. * @depends testUser
  58. * @depends testUserMark
  59. * @depends testAddPackage
  60. */
  61. public function testIndex(User $user,User $userMark,Package $package){
  62. $response=$this->actingAs($user)->get('package');
  63. $response->assertOk()->assertSee('Test浏览量');
  64. $response=$this->actingAs($userMark)->get('package');
  65. $response->assertStatus(302)->assertRedirect('/');
  66. }
  67. /**
  68. * @depends testUser
  69. * @depends testUserMark
  70. * @depends testAddPackage
  71. */
  72. public function testDestroy(User $user,User $userMark,Package $package){
  73. $resultUser=$user->delete();
  74. $resultUserMark=$userMark->delete();
  75. $resultPackage=$package->delete();
  76. $this->assertTrue($resultUser);
  77. $this->assertTrue($resultUserMark);
  78. $this->assertTrue($resultPackage);
  79. }
  80. }