* Powered by PhpStorm * Created on 2025/9/17 */ use Carbon\Carbon; use Singularity\HDK\Pay\Application\Command\InitialAccountCmd; use Singularity\HDK\Pay\Domain\Account\Enum\PointType; use Singularity\HDK\Pay\Infrastructure\Repository\AccountRepo; use function Hyperf\Support\make; it('should initial account balance', function () { $uid = uniqid('TDD'); $data = [ [ 'type' => 'aligner', 'basic' => 0, 'bonus' => 40, 'expired_at' => Carbon::now()->addYear(), 'version' => 'trial', ], [ 'type' => 'ema', 'basic' => 0, 'bonus' => 1, 'expired_at' => Carbon::now()->addYear(), 'version' => 'Trial', ], ]; $cmd = new InitialAccountCmd($uid); foreach ($data as $point_balance) { $cmd->addPointsBalance( type: PointType::from($point_balance['type']), basic: $point_balance['basic'], bonus: $point_balance['bonus'], expiredAt: $point_balance['expired_at'], version: $point_balance['version'], ); } $repo = make(AccountRepo::class); $repo->initial($cmd); expect(true)->toBeTrue(); });