|
1 | 1 | import type UniversalProvider from '@walletconnect/universal-provider'
|
2 | 2 | import { beforeEach, describe, expect, it, vi } from 'vitest'
|
3 | 3 |
|
4 |
| -import type { AuthConnector, Connector, SocialProvider } from '@reown/appkit' |
| 4 | +import type { AdapterNetworkState, AuthConnector, Connector, SocialProvider } from '@reown/appkit' |
5 | 5 | import {
|
6 | 6 | type Balance,
|
7 | 7 | type CaipNetwork,
|
| 8 | + ConstantsUtil, |
8 | 9 | SafeLocalStorage,
|
9 | 10 | SafeLocalStorageKeys,
|
10 | 11 | getSafeConnectorIdKey
|
@@ -1048,4 +1049,69 @@ describe('Base Public methods', () => {
|
1048 | 1049 | }
|
1049 | 1050 | })
|
1050 | 1051 | })
|
| 1052 | + |
| 1053 | + it('should handle network switcher UI when enableNetworkSwitch is true', async () => { |
| 1054 | + vi.spyOn(ChainController, 'getNetworkData').mockReturnValue( |
| 1055 | + mainnet as unknown as AdapterNetworkState |
| 1056 | + ) |
| 1057 | + vi.spyOn(ChainController, 'getCaipNetworkByNamespace').mockReturnValue(mainnet) |
| 1058 | + vi.spyOn(ChainController, 'getNetworkProp').mockReturnValue(true) |
| 1059 | + vi.spyOn(ChainController, 'state', 'get').mockReturnValue({ |
| 1060 | + ...ChainController.state, |
| 1061 | + activeCaipNetwork: { |
| 1062 | + ...mainnet, |
| 1063 | + name: ConstantsUtil.UNSUPPORTED_NETWORK_NAME |
| 1064 | + }, |
| 1065 | + activeChain: 'eip155' |
| 1066 | + }) |
| 1067 | + vi.spyOn(OptionsController, 'state', 'get').mockReturnValue({ |
| 1068 | + ...OptionsController.state, |
| 1069 | + allowUnsupportedChain: false, |
| 1070 | + enableNetworkSwitch: true |
| 1071 | + }) |
| 1072 | + |
| 1073 | + const showUnsupportedChainUI = vi.spyOn(ChainController, 'showUnsupportedChainUI') |
| 1074 | + const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork') |
| 1075 | + |
| 1076 | + const appKit = new AppKit(mockOptions) |
| 1077 | + await appKit['syncAccount']({ |
| 1078 | + address: '0x123', |
| 1079 | + chainId: mainnet.id, |
| 1080 | + chainNamespace: mainnet.chainNamespace |
| 1081 | + }) |
| 1082 | + |
| 1083 | + expect(showUnsupportedChainUI).toHaveBeenCalled() |
| 1084 | + expect(setActiveCaipNetwork).toHaveBeenCalledWith(mainnet) |
| 1085 | + }) |
| 1086 | + |
| 1087 | + it('should handle network switcher UI when enableNetworkSwitch is false', async () => { |
| 1088 | + vi.spyOn(ChainController, 'getNetworkData').mockReturnValue( |
| 1089 | + mainnet as unknown as AdapterNetworkState |
| 1090 | + ) |
| 1091 | + vi.spyOn(ChainController, 'getCaipNetworkByNamespace').mockReturnValue(mainnet) |
| 1092 | + vi.spyOn(ChainController, 'getNetworkProp').mockReturnValue(true) |
| 1093 | + vi.spyOn(ChainController, 'state', 'get').mockReturnValue({ |
| 1094 | + ...ChainController.state, |
| 1095 | + activeCaipNetwork: mainnet, |
| 1096 | + activeChain: 'eip155' |
| 1097 | + }) |
| 1098 | + vi.spyOn(OptionsController, 'state', 'get').mockReturnValue({ |
| 1099 | + ...OptionsController.state, |
| 1100 | + allowUnsupportedChain: false, |
| 1101 | + enableNetworkSwitch: false |
| 1102 | + }) |
| 1103 | + |
| 1104 | + const showUnsupportedChainUI = vi.spyOn(ChainController, 'showUnsupportedChainUI') |
| 1105 | + const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork') |
| 1106 | + |
| 1107 | + const appKit = new AppKit(mockOptions) |
| 1108 | + await appKit['syncAccount']({ |
| 1109 | + address: '0x123', |
| 1110 | + chainId: mainnet.id, |
| 1111 | + chainNamespace: mainnet.chainNamespace |
| 1112 | + }) |
| 1113 | + |
| 1114 | + expect(showUnsupportedChainUI).not.toHaveBeenCalled() |
| 1115 | + expect(setActiveCaipNetwork).toHaveBeenCalledWith(mainnet) |
| 1116 | + }) |
1051 | 1117 | })
|
0 commit comments