55 lines
2.1 KiB
PHP
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']));
|
|
}
|
|
}
|