jest.mock('@steerprotocol/sdk', () => { const Protocol = { QuickSwap: 'QuickSwap', Shadow: 'Shadow', }; return { Protocol }; }); import { DEFAULT_PROTOCOL_CONFIG, getFactoryAddress, getProtocolConfigKeys, getQuoterV2Address, PROTOCOL_CONFIG_MAP, } from '../../src/helpers/ProtocolConfig'; describe('ProtocolConfig behavior', () => { const sdk = require('@steerprotocol/sdk'); it('returns default config when protocol is null', () => { expect(getProtocolConfigKeys(null)).toEqual(DEFAULT_PROTOCOL_CONFIG); }); it('returns default config for unknown protocol', () => { expect(getProtocolConfigKeys('Unknown' as any)).toEqual( DEFAULT_PROTOCOL_CONFIG, ); }); it('returns protocol config when mapped', () => { const config = getProtocolConfigKeys(sdk.Protocol.Shadow); expect(config).toEqual(PROTOCOL_CONFIG_MAP[sdk.Protocol.Shadow]); }); it('resolves factory and quoter addresses', () => { const networkConfig = { [DEFAULT_PROTOCOL_CONFIG.factoryKey]: { address: '0xfactory' }, [DEFAULT_PROTOCOL_CONFIG.quoterKey]: { address: '0xquoter' }, QuickSwapFactory: { address: '0xquick' }, QuoterV2QuickSwap: { address: '0xquickq' }, }; expect(getFactoryAddress(null, networkConfig)).toBe('0xfactory'); expect(getQuoterV2Address(null, networkConfig)).toBe('0xquoter'); expect(getFactoryAddress(sdk.Protocol.QuickSwap, networkConfig)).toBe( '0xquick', ); expect(getQuoterV2Address(sdk.Protocol.QuickSwap, networkConfig)).toBe( '0xquickq', ); }); });