You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.7KB

  1. <?php
  2. namespace Tests\Feature\Http;
  3. use App\Logics\QRService\CertificateLogic;
  4. use App\Models\HtpmsCustomer\Deposit\Deposit;
  5. use App\Models\HtpmsCustomer\Mst\Shop;
  6. use App\Models\HtpmsCustomer\Mst\ShopNoRelation;
  7. use App\Models\HtpmsCustomer\QRService\CertificationAvailableSetting;
  8. use App\Models\HtpmsCustomer\QRService\CertificationTicket;
  9. use App\Util\DateUtil;
  10. use Illuminate\Support\Carbon;
  11. use Tests\TestCase;
  12. /**
  13. * @group IF24-01
  14. */
  15. class IF24_01Test extends TestCase
  16. {
  17. protected function tearDown(): void
  18. {
  19. parent::tearDown();
  20. }
  21. protected function setUp(): void
  22. {
  23. parent::setUp();
  24. Shop::truncate();
  25. Deposit::truncate();
  26. CertificationAvailableSetting::truncate();
  27. CertificationTicket::truncate();
  28. ShopNoRelation::truncate();
  29. }
  30. /**
  31. * A basic feature test example.
  32. */
  33. public function test_IF21_01(): void
  34. {
  35. // 店舗作成
  36. $shop = new Shop();
  37. $shop->name = "test shop";
  38. $shop->under_amount_when_auth = 0;
  39. $shop->qr_service_expire_min = 100;
  40. $shop->save();
  41. // デポジット作成
  42. $deposit = new Deposit();
  43. $deposit->shop_id = $shop->id;
  44. $deposit->deposit = 100;
  45. $deposit->save();
  46. // 設定作成
  47. $setting = new CertificationAvailableSetting();
  48. $setting->shop_id = $shop->id;
  49. $setting->parking_management_code = "58993";
  50. $setting->discount_ticket_code = 10;
  51. $setting->save();
  52. // 店舗番号紐づけ作成
  53. $relation = new ShopNoRelation();
  54. $relation->shop_id = $shop->id;
  55. $relation->parking_management_code = "58993";
  56. $relation->shop_no = "50";
  57. $relation->save();
  58. // 認証状態作成
  59. CertificateLogic::certificate(
  60. "58993",
  61. "01",
  62. new Carbon("2024-03-16"),
  63. 1,
  64. $shop->id,
  65. 10
  66. );
  67. print_r(CertificationTicket::all()->toArray());
  68. $res = $this->post('/Adjust/GetQRDiscountTicket', [
  69. "Header" => [
  70. "CustomerCode" => "9990",
  71. "ParkingManagementCode" => "58993",
  72. "AdjusterSerialNo" => 1,
  73. "SendDatetime" => DateUtil::now()->format('YmdHis'),
  74. "ResultCode" => "100",
  75. "InterfaceID" => "IF24-01",
  76. ],
  77. "Body" => [
  78. "PublishingTerminalCode" => "01",
  79. "PublishingDate" => "20240316",
  80. "PublishingNo" => 1,
  81. ]
  82. ]);
  83. print_r($res->json());
  84. print_r(CertificationTicket::all()->toArray());
  85. $this->assertEquals("100", $res->json("Header.ResultCode"));
  86. }
  87. }