1
1
// ModuleFactoryWrapper test
2
- import { mock , instance , reset , when , verify , objectContaining } from 'ts-mockito' ;
2
+ import { mock , instance , reset , when , verify , objectContaining } from 'ts-mockito' ;
3
3
import {
4
4
ModuleFactoryContract ,
5
5
BigNumber ,
6
6
Web3Wrapper ,
7
7
EtherDividendCheckpointEvents ,
8
8
} from '@polymathnetwork/abi-wrappers' ;
9
- import { getMockedPolyResponse , MockedCallMethod , MockedSendMethod } from '../../../test_utils/mocked_methods' ;
9
+ import { getMockedPolyResponse , MockedCallMethod , MockedSendMethod } from '../../../test_utils/mocked_methods' ;
10
10
import ContractFactory from '../../../factories/contractFactory' ;
11
11
import {
12
12
bytes32ToString ,
13
13
parseModuleTypeValue ,
14
14
stringArrayToBytes32Array ,
15
15
stringToBytes32 ,
16
- weiToValue
16
+ weiToValue ,
17
17
} from '../../../utils/convert' ;
18
18
import ModuleFactoryWrapper from '../module_factory_wrapper' ;
19
19
import ContractWrapper from '../../contract_wrapper' ;
20
- import { FULL_DECIMALS , ModuleType } from '../../../types' ;
20
+ import { FULL_DECIMALS , ModuleType } from '../../../types' ;
21
21
22
22
describe ( 'ModuleFactoryWrapper' , ( ) => {
23
23
let target : ModuleFactoryWrapper ;
@@ -66,7 +66,6 @@ describe('ModuleFactoryWrapper', () => {
66
66
} ) ;
67
67
} ) ;
68
68
69
-
70
69
describe ( 'Name' , ( ) => {
71
70
test ( 'should get name' , async ( ) => {
72
71
// Address expected
@@ -230,7 +229,11 @@ describe('ModuleFactoryWrapper', () => {
230
229
when ( mockedContract . changeSetupCost ) . thenReturn ( instance ( mockedMethod ) ) ;
231
230
// Stub the request
232
231
when (
233
- mockedMethod . sendTransactionAsync ( objectContaining ( mockedParams . setupCost ) , mockedParams . txData , mockedParams . safetyFactor ) ,
232
+ mockedMethod . sendTransactionAsync (
233
+ objectContaining ( mockedParams . setupCost ) ,
234
+ mockedParams . txData ,
235
+ mockedParams . safetyFactor ,
236
+ ) ,
234
237
) . thenResolve ( expectedResult ) ;
235
238
236
239
// Owner Address expected
@@ -254,7 +257,68 @@ describe('ModuleFactoryWrapper', () => {
254
257
verify ( mockedOwnerMethod . callAsync ( ) ) . once ( ) ;
255
258
verify ( mockedContract . changeSetupCost ) . once ( ) ;
256
259
verify (
257
- mockedMethod . sendTransactionAsync ( objectContaining ( mockedParams . setupCost ) , mockedParams . txData , mockedParams . safetyFactor ) ,
260
+ mockedMethod . sendTransactionAsync (
261
+ objectContaining ( mockedParams . setupCost ) ,
262
+ mockedParams . txData ,
263
+ mockedParams . safetyFactor ,
264
+ ) ,
265
+ ) . once ( ) ;
266
+ verify ( mockedWrapper . getAvailableAddressesAsync ( ) ) . once ( ) ;
267
+ } ) ;
268
+ } ) ;
269
+
270
+ describe ( 'changeCostAndType' , ( ) => {
271
+ test . todo ( 'should fail as changeSetupCost is 0' ) ;
272
+ test ( 'should send the transaction to changeSetupCost' , async ( ) => {
273
+ // Mocked parameters
274
+ const mockedParams = {
275
+ setupCost : new BigNumber ( 100 ) ,
276
+ isCostInPoly : true ,
277
+ txData : { } ,
278
+ safetyFactor : 10 ,
279
+ } ;
280
+ const expectedResult = getMockedPolyResponse ( ) ;
281
+ // Mocked method
282
+ const mockedMethod = mock ( MockedSendMethod ) ;
283
+ // Stub the method
284
+ when ( mockedContract . changeCostAndType ) . thenReturn ( instance ( mockedMethod ) ) ;
285
+ // Stub the request
286
+ when (
287
+ mockedMethod . sendTransactionAsync (
288
+ objectContaining ( mockedParams . setupCost ) ,
289
+ mockedParams . isCostInPoly ,
290
+ mockedParams . txData ,
291
+ mockedParams . safetyFactor ,
292
+ ) ,
293
+ ) . thenResolve ( expectedResult ) ;
294
+
295
+ // Owner Address expected
296
+ const expectedOwnerResult = '0x5555555555555555555555555555555555555555' ;
297
+ // Mocked method
298
+ const mockedOwnerMethod = mock ( MockedCallMethod ) ;
299
+ // Stub the method
300
+ when ( mockedContract . owner ) . thenReturn ( instance ( mockedOwnerMethod ) ) ;
301
+ // Stub the request
302
+ when ( mockedOwnerMethod . callAsync ( ) ) . thenResolve ( expectedOwnerResult ) ;
303
+ // Mock web3 wrapper owner
304
+ when ( mockedWrapper . getAvailableAddressesAsync ( ) ) . thenResolve ( [ expectedOwnerResult ] ) ;
305
+
306
+ // Real call
307
+ const result = await target . changeCostAndType ( mockedParams ) ;
308
+
309
+ // Result expectation
310
+ expect ( result ) . toBe ( expectedResult ) ;
311
+ // Verifications
312
+ verify ( mockedContract . owner ) . once ( ) ;
313
+ verify ( mockedOwnerMethod . callAsync ( ) ) . once ( ) ;
314
+ verify ( mockedContract . changeCostAndType ) . once ( ) ;
315
+ verify (
316
+ mockedMethod . sendTransactionAsync (
317
+ objectContaining ( mockedParams . setupCost ) ,
318
+ mockedParams . isCostInPoly ,
319
+ mockedParams . txData ,
320
+ mockedParams . safetyFactor ,
321
+ ) ,
258
322
) . once ( ) ;
259
323
verify ( mockedWrapper . getAvailableAddressesAsync ( ) ) . once ( ) ;
260
324
} ) ;
0 commit comments