|
1 | 1 | import '../../UI/Bridge/_mocks_/initialState'; |
2 | | -import { deepClone } from '@metamask/snaps-utils'; |
3 | | -import { getSwapsIsLive, getIsSwapsAssetAllowed } from './utils'; |
4 | | -import { RootState } from '../../../reducers'; |
| 2 | +import { getIsSwapsAssetAllowed } from './utils'; |
5 | 3 | import { SolScope } from '@metamask/keyring-api'; |
6 | | -import { isPortfolioViewEnabled } from '../../../util/networks'; |
7 | 4 |
|
8 | 5 | jest.mock('../../../util/networks', () => ({ |
9 | 6 | ...jest.requireActual('../../../util/networks'), |
10 | 7 | isPortfolioViewEnabled: jest.fn().mockReturnValue(true), |
11 | 8 | })); |
12 | 9 |
|
13 | | -describe('getSwapsIsLive', () => { |
14 | | - const mockState = { |
15 | | - swaps: { |
16 | | - isLive: true, |
17 | | - '0x1': { isLive: true }, |
18 | | - }, |
19 | | - engine: { |
20 | | - backgroundState: { |
21 | | - RemoteFeatureFlagController: { |
22 | | - remoteFeatureFlags: { |
23 | | - bridgeConfig: { |
24 | | - minimumVersion: '0.0.0', |
25 | | - support: true, |
26 | | - chains: { |
27 | | - 1: { |
28 | | - isActiveDest: true, |
29 | | - isActiveSrc: true, |
30 | | - }, |
31 | | - 1151111081099710: { |
32 | | - isActiveDest: true, |
33 | | - isActiveSrc: true, |
34 | | - refreshRate: 10000, |
35 | | - topAssets: [ |
36 | | - 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', |
37 | | - '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', |
38 | | - 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', |
39 | | - '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxsDx8F8k8k3uYw1PDC', |
40 | | - '3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y', |
41 | | - '9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u', |
42 | | - 'DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263', |
43 | | - 'rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof', |
44 | | - '21AErpiB8uSb94oQKRcwuHqyHF93njAxBSbdUrpupump', |
45 | | - ], |
46 | | - }, |
47 | | - }, |
48 | | - maxRefreshCount: 5, |
49 | | - refreshRate: 30000, |
50 | | - }, |
51 | | - bridgeConfigV2: { |
52 | | - minimumVersion: '0.0.0', |
53 | | - support: true, |
54 | | - chains: { |
55 | | - 1: { |
56 | | - isActiveDest: true, |
57 | | - isActiveSrc: true, |
58 | | - }, |
59 | | - 1151111081099710: { |
60 | | - isActiveDest: true, |
61 | | - isActiveSrc: true, |
62 | | - refreshRate: 10000, |
63 | | - topAssets: [ |
64 | | - 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', |
65 | | - '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', |
66 | | - 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', |
67 | | - '7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxsDx8F8k8k3uYw1PDC', |
68 | | - '3iQL8BFS2vE7mww4ehAqQHAsbmRNCrPxizWAT2Zfyr9y', |
69 | | - '9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u', |
70 | | - 'DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263', |
71 | | - 'rndrizKT3MK1iimdxRdWabcF7Zg7AR5T4nud4EkHBof', |
72 | | - '21AErpiB8uSb94oQKRcwuHqyHF93njAxBSbdUrpupump', |
73 | | - ], |
74 | | - }, |
75 | | - }, |
76 | | - maxRefreshCount: 5, |
77 | | - refreshRate: 30000, |
78 | | - }, |
79 | | - }, |
80 | | - }, |
81 | | - }, |
82 | | - }, |
83 | | - } as unknown as RootState; |
84 | | - const mockChainId = '0x1'; |
85 | | - describe('EVM', () => { |
86 | | - it('should return true for EVM chain when swaps is live', () => { |
87 | | - const result = getSwapsIsLive(mockState, mockChainId); |
88 | | - expect(result).toBe(true); |
89 | | - }); |
90 | | - |
91 | | - it('should return false for EVM chain when swaps is not live', () => { |
92 | | - const result = getSwapsIsLive( |
93 | | - { |
94 | | - ...mockState, |
95 | | - swaps: { ...mockState.swaps, '0x1': { isLive: false } }, |
96 | | - }, |
97 | | - mockChainId, |
98 | | - ); |
99 | | - expect(result).toBe(false); |
100 | | - }); |
101 | | - |
102 | | - it('should return false for EVM chain when swaps state is null', () => { |
103 | | - const result = getSwapsIsLive( |
104 | | - { |
105 | | - ...mockState, |
106 | | - swaps: { ...mockState.swaps, '0x1': null }, |
107 | | - }, |
108 | | - mockChainId, |
109 | | - ); |
110 | | - expect(result).toBe(false); |
111 | | - }); |
112 | | - |
113 | | - it('should return the correct value for EVM chain when portfolio view is disabled', () => { |
114 | | - (isPortfolioViewEnabled as jest.Mock).mockReturnValue(false); |
115 | | - const result = getSwapsIsLive(mockState, mockChainId); |
116 | | - expect(result).toBe(true); |
117 | | - }); |
118 | | - }); |
119 | | - |
120 | | - describe('Solana', () => { |
121 | | - it('should return true for Solana chain when bridge is enabled', () => { |
122 | | - const result = getSwapsIsLive(mockState, SolScope.Mainnet); |
123 | | - expect(result).toBe(true); |
124 | | - }); |
125 | | - |
126 | | - it('should return false for Solana chain when bridge is not enabled', () => { |
127 | | - const newState = deepClone(mockState); |
128 | | - const remoteFeatureFlags = |
129 | | - newState.engine.backgroundState.RemoteFeatureFlagController |
130 | | - .remoteFeatureFlags; |
131 | | - // @ts-expect-error - It's defined in the mock |
132 | | - remoteFeatureFlags.bridgeConfig.chains[1151111081099710] = { |
133 | | - minimumVersion: '0.0.0', |
134 | | - isActiveDest: false, |
135 | | - isActiveSrc: false, |
136 | | - refreshRate: 10000, |
137 | | - topAssets: [], |
138 | | - }; |
139 | | - // @ts-expect-error - It's defined in the mock |
140 | | - remoteFeatureFlags.bridgeConfigV2.chains[1151111081099710] = { |
141 | | - minimumVersion: '0.0.0', |
142 | | - isActiveDest: false, |
143 | | - isActiveSrc: false, |
144 | | - refreshRate: 10000, |
145 | | - topAssets: [], |
146 | | - }; |
147 | | - const result = getSwapsIsLive(newState, SolScope.Mainnet); |
148 | | - expect(result).toBe(false); |
149 | | - }); |
150 | | - }); |
151 | | - |
152 | | - it('should handle portfolio view enabled case', () => { |
153 | | - const result = getSwapsIsLive(mockState, mockChainId); |
154 | | - expect(result).toBe(true); |
155 | | - }); |
156 | | - |
157 | | - it('should handle portfolio view disabled case', () => { |
158 | | - const result = getSwapsIsLive(mockState, mockChainId); |
159 | | - expect(result).toBe(true); |
160 | | - }); |
161 | | -}); |
162 | | - |
163 | 10 | describe('getIsSwapsAssetAllowed', () => { |
164 | 11 | const mockSwapsTokens = { |
165 | 12 | '0xtoken1': { symbol: 'TOKEN1' }, |
|
0 commit comments