ReceiveAddressServiceTest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Module\UrausSys\Tests\Services;
  3. use App\Module\UrausSys\Enums\RECEIVE_ADDRESS_STATUS;
  4. use App\Module\UrausSys\Models\ReceiveAddress;
  5. use App\Module\UrausSys\Services\AddressService;
  6. use App\Module\UrausSys\Services\ReceiveAddressService;
  7. use Faker\Provider\Address;
  8. use Tests\TestCase;
  9. class ReceiveAddressServiceTest extends TestCase
  10. {
  11. protected ReceiveAddressService $service;
  12. public function setUp(): void
  13. {
  14. parent::setUp();
  15. $this->service = new ReceiveAddressService();
  16. }
  17. /**
  18. * 测试获取最新OK状态地址
  19. * 验证逻辑:当存在多个OK状态地址时,应返回最新创建的一个
  20. */
  21. public function test_get_latest_ok_status_address()
  22. {
  23. $address1 = ReceiveAddress::create([
  24. "name" => "phpunit",
  25. 'status' => RECEIVE_ADDRESS_STATUS::OK->value,
  26. 'address' => AddressService::generateBnbAddress()
  27. ]);
  28. $result = $this->service->getAvailableAddress();
  29. $this->assertEquals($address1->id, $result->id);
  30. dump($result);
  31. }
  32. /**
  33. * 测试无OK地址时随机获取ING状态地址
  34. * 验证逻辑:当没有OK状态地址时,应随机返回一个ING状态地址
  35. */
  36. public function test_get_random_ing_address_when_no_ok_available()
  37. {
  38. $result = $this->service->getAvailableAddress();
  39. $this->assertGreaterThan(0,$result->id);
  40. dump($result);
  41. }
  42. }