Add coinbase and fix unit test of personal api.

This commit is contained in:
sc0Vu 2018-01-12 16:49:50 +08:00
parent 0a4060e6dd
commit 0e71553343
3 changed files with 43 additions and 11 deletions

View File

@ -28,6 +28,13 @@ class TestCase extends BaseTestCase
*/
protected $testHost = 'http://localhost:8545';
/**
* coinbase
*
* @var string
*/
protected $coinbase;
/**
* setUp
*
@ -37,6 +44,13 @@ class TestCase extends BaseTestCase
{
$web3 = new Web3($this->testHost);
$this->web3 = $web3;
$web3->eth->coinbase(function ($err, $coinbase) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->coinbase = $coinbase;
});
}
/**

View File

@ -75,7 +75,7 @@ class EthApiTest extends TestCase
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->assertEquals($coinbase, '0x561a2aa10f9a8589c93665554c871106342f70af');
$this->assertEquals($coinbase, $this->coinbase);
});
}

View File

@ -104,19 +104,37 @@ class PersonalApiTest extends TestCase
{
$personal = $this->personal;
$personal->sendTransaction([
'from' => "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
'to' => "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
'gas' => "0x76c0",
'gasPrice' => "0x9184e72a000",
'value' => "0x9184e72a",
'data' => "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
], '123456', function ($err, $transaction) {
// create account
$personal->newAccount('123456', function ($err, $account) {
if ($err !== null) {
// infura banned us to use send transaction
return $this->assertTrue($err->getCode() === 405);
return $this->fail($e->getMessage());
}
$this->newAccount = $account;
$this->assertTrue(is_string($account));
});
$this->web3->eth->sendTransaction([
'from' => $this->coinbase,
'to' => $this->newAccount,
'value' => '0xfffffffff',
], function ($err, $transaction) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->assertTrue(is_string($transaction));
$this->assertTrue(mb_strlen($transaction) === 66);
});
$personal->sendTransaction([
'from' => $this->newAccount,
'to' => $this->coinbase,
'value' => '0x01',
], '123456', function ($err, $transaction) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->assertTrue(is_string($transaction));
$this->assertTrue(mb_strlen($transaction) === 66);
});
}