OrderIssueTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Authority;
  4. use App\Commodity;
  5. use App\CommodityBarcode;
  6. use App\MeasuringMachine;
  7. use App\Order;
  8. use App\OrderIssue;
  9. use App\OrderIssueRejectedBill;
  10. use App\OrderPackage;
  11. use App\OrderPackageCommodities;
  12. use App\RejectedBill;
  13. use App\RejectedBillItem;
  14. use App\Role;
  15. use App\User;
  16. use Illuminate\Support\Facades\DB;
  17. use Tests\TestCase;
  18. use Illuminate\Foundation\Testing\WithFaker;
  19. use Illuminate\Foundation\Testing\RefreshDatabase;
  20. use function Matrix\add;
  21. class OrderIssueTest extends TestCase{
  22. public function testSyncRejectingStatusComparisonIsEqual()
  23. {
  24. $orderIssue = factory(OrderIssue::class)->create(['rejecting_status' => '未退回']);
  25. $orderPackage = factory(OrderPackage::class)->create(['order_id'=>$orderIssue->order->id]);
  26. $commodities = factory(Commodity::class)->times(3)->create();
  27. $orderPackageCommodities = collect();
  28. $commodities_barcodes = collect();
  29. foreach ($commodities as $commodity){
  30. $commodities_barcode = factory(CommodityBarcode::class)->create(['commodity_id'=>$commodity->id]);
  31. $commodities_barcodes->push($commodities_barcode);
  32. $orderPackageCommodity = factory(OrderPackageCommodities::class)->create(['order_package_id'=>$orderPackage->id,'amount'=>1,'commodity_id' =>$commodity->id]);
  33. $orderPackageCommodities->push($orderPackageCommodity);
  34. }
  35. $rejectedBill = factory(RejectedBill::class)->create(['logistic_number_return' => $orderIssue->logistic_number_return]);
  36. $rejectedBill_items = collect();
  37. foreach ($commodities_barcodes as $commodities_barcode){
  38. $item = factory(RejectedBillItem::class)->create(['id_rejected_bill'=>$rejectedBill->id,'barcode_goods' => $commodities_barcode->code,'amount'=>1]);
  39. $rejectedBill_items->push($item);
  40. }
  41. $orderIssueRejectedBill = factory(OrderIssueRejectedBill::class)->create(['order_issue_id'=>$orderIssue->id,'logistic_number_return'=>$rejectedBill->logistic_number_return]);
  42. $orderIssue->update(['logistic_number_return' =>$rejectedBill->logistic_number_return ]);
  43. $orderIssue= OrderIssue::query()->find($orderIssue->id);
  44. $orderIssue->syncRejectingStatus();
  45. $this->assertEquals($orderIssue->rejecting_status,"完全退回");
  46. $orderIssue->order->delete();
  47. $orderIssue->forceDelete();
  48. $orderPackage->forceDelete();
  49. $orderPackageCommodities->map(function($item){
  50. $item->delete();
  51. return 1;
  52. });
  53. $rejectedBill->forceDelete();
  54. $rejectedBill_items->map(function($item){
  55. $item->delete();
  56. return 1;
  57. });
  58. $orderIssueRejectedBill->delete();
  59. }
  60. public function testOrderIssue()
  61. {
  62. $orderIssue = OrderIssue::query()->find(1);
  63. }
  64. }