@@ -27,6 +27,7 @@ jest.mock('@metamask/stake-sdk', () => ({
2727 getPooledStakingEligibility : jest . fn ( ) ,
2828 getVaultData : jest . fn ( ) ,
2929 getVaultDailyApys : jest . fn ( ) ,
30+ getVaultApyAverages : jest . fn ( ) ,
3031 } ) ) ,
3132} ) ) ;
3233
@@ -178,6 +179,15 @@ const mockPooledStakingVaultDailyApys = [
178179 } ,
179180] ;
180181
182+ const mockPooledStakingVaultApyAverages = {
183+ oneDay : '3.047713358665092375' ,
184+ oneWeek : '3.25756026351317301786' ,
185+ oneMonth : '3.25616054301749304217' ,
186+ threeMonths : '3.31863306662107446672' ,
187+ sixMonths : '3.05557344496273894133' ,
188+ oneYear : '0' ,
189+ } ;
190+
181191const setupController = ( {
182192 options = { } ,
183193
@@ -257,6 +267,9 @@ describe('EarnController', () => {
257267 getVaultDailyApys : jest
258268 . fn ( )
259269 . mockResolvedValue ( mockPooledStakingVaultDailyApys ) ,
270+ getVaultApyAverages : jest
271+ . fn ( )
272+ . mockResolvedValue ( mockPooledStakingVaultApyAverages ) ,
260273 } as Partial < StakingApiService > ;
261274
262275 StakingApiServiceMock . mockImplementation (
@@ -278,6 +291,7 @@ describe('EarnController', () => {
278291 vaultMetadata : mockVaultMetadata ,
279292 isEligible : true ,
280293 vaultDailyApys : mockPooledStakingVaultDailyApys ,
294+ vaultApyAverages : mockPooledStakingVaultApyAverages ,
281295 } ,
282296 lastUpdated : 1234567890 ,
283297 } ;
@@ -362,6 +376,7 @@ describe('EarnController', () => {
362376 exchangeRate : '1.5' ,
363377 vaultMetadata : mockVaultMetadata ,
364378 vaultDailyApys : mockPooledStakingVaultDailyApys ,
379+ vaultApyAverages : mockPooledStakingVaultApyAverages ,
365380 isEligible : true ,
366381 } ) ;
367382 expect ( controller . state . lastUpdated ) . toBeDefined ( ) ;
@@ -420,13 +435,14 @@ describe('EarnController', () => {
420435 consoleErrorSpy . mockRestore ( ) ;
421436 } ) ;
422437
423- // if no account is selected, it should not fetch stakes data but still update vault metadata
438+ // if no account is selected, it should not fetch stakes data but still update vault metadata, vault daily apys and vault apy averages.
424439 it ( 'does not fetch staking data if no account is selected' , async ( ) => {
425440 const { controller } = setupController ( {
426441 mockGetSelectedAccount : jest . fn ( ( ) => null ) ,
427442 } ) ;
428443
429444 expect ( mockedStakingApiService . getPooledStakes ) . not . toHaveBeenCalled ( ) ;
445+
430446 await controller . refreshPooledStakingData ( ) ;
431447
432448 expect ( controller . state . pooled_staking . pooledStakes ) . toStrictEqual (
@@ -435,6 +451,12 @@ describe('EarnController', () => {
435451 expect ( controller . state . pooled_staking . vaultMetadata ) . toStrictEqual (
436452 mockVaultMetadata ,
437453 ) ;
454+ expect ( controller . state . pooled_staking . vaultDailyApys ) . toStrictEqual (
455+ mockPooledStakingVaultDailyApys ,
456+ ) ;
457+ expect ( controller . state . pooled_staking . vaultApyAverages ) . toStrictEqual (
458+ mockPooledStakingVaultApyAverages ,
459+ ) ;
438460 expect ( controller . state . pooled_staking . isEligible ) . toBe ( false ) ;
439461 } ) ;
440462 } ) ;
0 commit comments