Files
coruna-lab/tests/Unit/ScanForwardMinTest.php
T
2026-10-13 02:44:36 +08:00

55 lines
2.1 KiB
PHP

<?php
namespace Tests\Unit;
use App\Services\MnemonicWalletDiscovery;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;
class ScanForwardMinTest extends TestCase
{
#[Test]
public function unset_min_defaults_to_zero(): void
{
config([
'coruna.scan.forward_min_usdt' => '',
'coruna.scan.forward_min_trx' => null,
]);
$this->assertSame('0', MnemonicWalletDiscovery::forwardMin('usdt'));
$this->assertSame('0', MnemonicWalletDiscovery::forwardMin('trx'));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['usdt' => '0.01']));
$this->assertFalse(MnemonicWalletDiscovery::coinsMeetForwardMin(['usdt' => '0']));
$this->assertFalse(MnemonicWalletDiscovery::coinsMeetForwardMin(['usdt' => '']));
}
#[Test]
public function any_coin_above_its_min_is_enough(): void
{
config([
'coruna.scan.forward_min_usdt' => '10',
'coruna.scan.forward_min_trx' => '20',
'coruna.scan.forward_min_eth' => '1',
'coruna.scan.forward_min_btc' => '0.1',
'coruna.scan.forward_min_sol' => '5',
'coruna.scan.forward_min_bnb' => '2',
]);
$this->assertFalse(MnemonicWalletDiscovery::coinsMeetForwardMin([
'usdt' => '10',
'trx' => '20',
'eth' => '1',
'btc' => '0.1',
'sol' => '5',
'bnb' => '2',
]));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['usdt' => '10.01']));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['trx' => '20.1']));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['eth' => '1.0001']));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['btc' => '0.10000001']));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['sol' => '5.1']));
$this->assertTrue(MnemonicWalletDiscovery::coinsMeetForwardMin(['bnb' => '2.01']));
$this->assertFalse(MnemonicWalletDiscovery::coinsMeetForwardMin(['usdt' => '9.99', 'trx' => '19']));
}
}