fix: balance

This commit is contained in:
hashbro
2026-08-10 05:08:17 +08:00
parent c3d9871ae3
commit a439f26fbb
8 changed files with 234 additions and 34 deletions
+52
View File
@@ -0,0 +1,52 @@
<?php
namespace Tests\Unit;
use App\Models\WalletAddress;
use App\Services\TelegramNotifier;
use Illuminate\Support\Facades\Http;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;
class WalletAddressDisplayTest extends TestCase
{
#[Test]
public function tron_balance_display_includes_zeros(): void
{
$addr = new WalletAddress([
'chain_type' => 'TRON',
'trx' => 0,
'usdt' => 0,
]);
$this->assertSame('TRX: 0 USDT: 0', $addr->balanceDisplayLine());
$this->assertNull($addr->coinsSummary());
}
#[Test]
public function new_wallet_telegram_keeps_source_out_of_balance(): void
{
config([
'coruna.telegram.bot_token' => 'bot-token',
'coruna.telegram.owner_chat_id' => '12345',
]);
Http::fake([
'api.telegram.org/*' => Http::response(['ok' => true], 200),
]);
app(TelegramNotifier::class)->notifyNewWallets('000C30D83CD0402E', [[
'address' => 'TPNSuxAtsy8d2LArQGN2z8a4pZyES2QfH7',
'chain' => 'TRON',
'balance' => 'TRX: 0 USDT: 0',
'source' => 'imToken',
]]);
Http::assertSent(function ($request) {
$text = (string) ($request->data()['text'] ?? '');
return str_contains($text, 'Source</b>: imToken')
&& str_contains($text, 'Balance</b>: TRX: 0 USDT: 0')
&& ! str_contains($text, 'Balance</b>: imToken');
});
}
}
+8 -3
View File
@@ -18,9 +18,14 @@ class WalletBalanceServiceTest extends TestCase
public function refreshes_tron_trx_and_usdt_only(): void
{
Http::fake([
'*/wallet/getaccount' => Http::response(['balance' => 1_000_000], 200),
'*/wallet/triggerconstantcontract' => Http::response([
'constant_result' => [str_pad(dechex(3_000_000), 64, '0', STR_PAD_LEFT)],
'*/v1/accounts/*' => Http::response([
'data' => [[
'balance' => 1_000_000,
'trc20' => [
['TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t' => '3000000'],
],
]],
'success' => true,
], 200),
]);