@@ -2,10 +2,10 @@ import * as sinon from 'sinon';
2
2
import { ImportMock , MockManager } from 'ts-mock-imports' ;
3
3
import BigNumber from 'bignumber.js' ;
4
4
import * as contractWrappersObject from '@polymathnetwork/contract-wrappers' ;
5
+ import { SinonStub } from 'sinon' ;
5
6
import * as contextObject from '../../Context' ;
6
7
import * as wrappersObject from '../../PolymathBase' ;
7
8
import { CreateSecurityToken } from '../../procedures/CreateSecurityToken' ;
8
- // import * as approveErc20Object from '../../procedures/ApproveErc20';
9
9
import { Procedure } from '~/procedures/Procedure' ;
10
10
import { Wallet } from '~/Wallet' ;
11
11
@@ -22,15 +22,18 @@ describe('CreateSecurityToken', () => {
22
22
let target : CreateSecurityToken ;
23
23
let contextMock : MockManager < contextObject . Context > ;
24
24
let wrappersMock : MockManager < wrappersObject . PolymathBase > ;
25
- // let approveErc20Mock: MockManager<approveErc20Object.ApproveErc20>;
25
+ let polyTokenMock : MockManager < contractWrappersObject . PolyToken > ;
26
+ let checkPolyBalanceStub : SinonStub < any , any > ;
27
+ let checkPolyAddressStub : SinonStub < any , any > ;
28
+ let checkPolyAllowanceStub : SinonStub < any , any > ;
26
29
27
30
let securityTokenRegistryMock : MockManager < contractWrappersObject . SecurityTokenRegistry > ;
28
31
29
32
beforeAll ( ( ) => {
30
33
// Mock the context, wrappers, and tokenFactory to test
31
34
contextMock = ImportMock . mockClass ( contextObject , 'Context' ) ;
32
35
wrappersMock = ImportMock . mockClass ( wrappersObject , 'PolymathBase' ) ;
33
- // approveErc20Mock = ImportMock.mockClass(approveErc20Object , 'ApproveErc20 ');
36
+ polyTokenMock = ImportMock . mockClass ( contractWrappersObject , 'PolyToken ' ) ;
34
37
35
38
securityTokenRegistryMock = ImportMock . mockClass (
36
39
contractWrappersObject ,
@@ -56,6 +59,15 @@ describe('CreateSecurityToken', () => {
56
59
} ) ;
57
60
contextMock . set ( 'currentWallet' , new Wallet ( { address : ( ) => ownerPromise } ) ) ;
58
61
62
+ // TODO We should replace this with a mock of ApproveErc20 but right now there is a bug
63
+ // Bug with import mockClass("TypeError: Invalid attempt to spread non-iterable instance")
64
+ checkPolyBalanceStub = polyTokenMock . mock ( 'balanceOf' , Promise . resolve ( new BigNumber ( 2 ) ) ) ;
65
+ checkPolyAddressStub = polyTokenMock . mock ( 'address' , Promise . resolve ( params1 . owner ) ) ;
66
+ checkPolyAllowanceStub = polyTokenMock . mock ( 'allowance' , Promise . resolve ( new BigNumber ( 0 ) ) ) ;
67
+
68
+ wrappersMock . set ( 'polyToken' , polyTokenMock . getMockInstance ( ) ) ;
69
+ wrappersMock . mock ( 'isTestnet' , Promise . resolve ( false ) ) ;
70
+
59
71
// Instantiate CreateSecurityToken
60
72
target = new CreateSecurityToken (
61
73
{
0 commit comments