| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace App\Module\Fund\Tests\Unit;
- use App\Module\Fund\Dto\TransferDto;
- use App\Module\Fund\Enums\FUND_TYPE;
- use App\Module\Fund\Services\AccountService;
- use App\Module\Fund\Services\DtoService;
- use App\Module\Fund\Services\FundService;
- use App\Module\Fund\Models\FundModel;
- use Tests\TestCase;
- /**
- * 转账测试
- */
- class TtrTest extends TestCase
- {
- protected $fromUserId = 100;
- protected $toUserId = 101;
- public function setUp(): void
- {
- parent::setUp();
- AccountService::check4user($this->fromUserId);
- AccountService::check4user($this->toUserId);
- // 确保测试账户有足够余额
- $fund = new FundService($this->fromUserId, 1);
- if($fund->balance() < 10000){
- $fund->admin_operate(1, FUND_TYPE::FUND1, 10000, 'TEST');
- }
- }
- /**
- * 测试转账DTO
- */
- public function test_dto()
- {
- // 创建转账DTO
- $dto = new TransferDto();
- $dto->fundId = 1;
- $dto->remark = 'TEST';
- $dto->fromUserId = $this->fromUserId;
- $dto->toUserId = $this->toUserId;
- $dto->amount = 10;
- // 执行转账
- $res = DtoService::transfer_call($dto);
- // 验证结果
- $this->assertTrue($res);
- // 验证余额变化
- $fromFund = new FundService($this->fromUserId, 1);
- $toFund = new FundService($this->toUserId, 1);
- // 记录测试数据(允许留存)
- echo "转账测试完成:\n";
- echo "From用户余额: " . $fromFund->balance() . "\n";
- echo "To用户余额: " . $toFund->balance() . "\n";
- }
- }
|