@@ -2434,6 +2434,72 @@ describe('USDTieredSTOWrapper', () => {
2434
2434
} ) ;
2435
2435
} ) ;
2436
2436
2437
+ describe ( 'ModifyOracle' , ( ) => {
2438
+ test ( 'should modifyOracle' , async ( ) => {
2439
+ // Mock Only Owner and Security Token
2440
+ const expectedOwnerResult = '0x5555555555555555555555555555555555555555' ;
2441
+ // Security Token Address expected
2442
+ const expectedSecurityTokenAddress = '0x3333333333333333333333333333333333333333' ;
2443
+ // Setup get Security Token Address
2444
+ const mockedGetSecurityTokenAddressMethod = mock ( MockedCallMethod ) ;
2445
+ when ( mockedContract . securityToken ) . thenReturn ( instance ( mockedGetSecurityTokenAddressMethod ) ) ;
2446
+ when ( mockedGetSecurityTokenAddressMethod . callAsync ( ) ) . thenResolve ( expectedSecurityTokenAddress ) ;
2447
+ when ( mockedContractFactory . getSecurityTokenContract ( expectedSecurityTokenAddress ) ) . thenResolve (
2448
+ instance ( mockedSecurityTokenContract ) ,
2449
+ ) ;
2450
+ const mockedSecurityTokenOwnerMethod = mock ( MockedCallMethod ) ;
2451
+ when ( mockedSecurityTokenOwnerMethod . callAsync ( ) ) . thenResolve ( expectedOwnerResult ) ;
2452
+ when ( mockedSecurityTokenContract . owner ) . thenReturn ( instance ( mockedSecurityTokenOwnerMethod ) ) ;
2453
+
2454
+ // Mock web3 wrapper owner
2455
+ when ( mockedWrapper . getAvailableAddressesAsync ( ) ) . thenResolve ( [ expectedOwnerResult ] ) ;
2456
+
2457
+ const mockedParams = {
2458
+ oracleAddress : '0x1111111111111111111111111111111111111111' ,
2459
+ fundRaiseType : FundRaiseType . ETH ,
2460
+ txData : { } ,
2461
+ safetyFactor : 10 ,
2462
+ } ;
2463
+
2464
+ const expectedResult = getMockedPolyResponse ( ) ;
2465
+ // Mocked method
2466
+ const mockedMethod = mock ( MockedSendMethod ) ;
2467
+ // Stub the method
2468
+ when ( mockedContract . modifyOracle ) . thenReturn ( instance ( mockedMethod ) ) ;
2469
+ // Stub the request
2470
+ when (
2471
+ mockedMethod . sendTransactionAsync (
2472
+ mockedParams . fundRaiseType ,
2473
+ mockedParams . oracleAddress ,
2474
+ mockedParams . txData ,
2475
+ mockedParams . safetyFactor ,
2476
+ ) ,
2477
+ ) . thenResolve ( expectedResult ) ;
2478
+
2479
+ // Real call
2480
+ const result = await target . modifyOracle ( mockedParams ) ;
2481
+
2482
+ // Result expectation
2483
+ expect ( result ) . toBe ( expectedResult ) ;
2484
+ // Verifications
2485
+ verify ( mockedContract . modifyOracle ) . once ( ) ;
2486
+ verify (
2487
+ mockedMethod . sendTransactionAsync (
2488
+ mockedParams . fundRaiseType ,
2489
+ mockedParams . oracleAddress ,
2490
+ mockedParams . txData ,
2491
+ mockedParams . safetyFactor ,
2492
+ ) ,
2493
+ ) . once ( ) ;
2494
+ verify ( mockedContract . securityToken ) . once ( ) ;
2495
+ verify ( mockedGetSecurityTokenAddressMethod . callAsync ( ) ) . once ( ) ;
2496
+ verify ( mockedContractFactory . getSecurityTokenContract ( expectedSecurityTokenAddress ) ) . once ( ) ;
2497
+ verify ( mockedSecurityTokenOwnerMethod . callAsync ( ) ) . once ( ) ;
2498
+ verify ( mockedSecurityTokenContract . owner ) . once ( ) ;
2499
+ verify ( mockedWrapper . getAvailableAddressesAsync ( ) ) . once ( ) ;
2500
+ } ) ;
2501
+ } ) ;
2502
+
2437
2503
describe ( 'ModifyLimits' , ( ) => {
2438
2504
test ( 'should modifyLimits' , async ( ) => {
2439
2505
// Mock Only Owner and Security Token
0 commit comments