UNPKG

@unilogin/sdk

Version:

SDK is a JS library, that communicates with relayer. SDK allows managing contract, by creating basic contract-calling messages.

39 lines (32 loc) 1.3 kB
import {expect} from 'chai'; import {Wallet} from 'ethers'; import {getWallets, createMockProvider} from 'ethereum-waffle'; import {TEST_ACCOUNT_ADDRESS} from '@unilogin/commons'; import {RelayerUnderTest} from '@unilogin/relayer'; import UniLoginSdk from '../../../src'; import {getTargetAddress} from '../../../src/core/utils/getTargetAddress'; import {setupSdk, createWallet} from '../../helpers'; describe('getTargetAddress', () => { let sdk: UniLoginSdk; let relayer: RelayerUnderTest; let wallet: Wallet; before(async () => { [wallet] = getWallets(createMockProvider()); ({sdk, relayer} = await setupSdk(wallet)); }); it('returns address for address', async () => { expect(await getTargetAddress(sdk, TEST_ACCOUNT_ADDRESS)).to.eq(TEST_ACCOUNT_ADDRESS); }); it('returns address for ens name', async () => { const ensName = 'existing.mylogin.eth'; const {contractAddress} = await createWallet(ensName, sdk, wallet); expect(await getTargetAddress(sdk, ensName)).to.eq(contractAddress); }); it('returns address for ens name', async () => { const ensName = 'not-existing.mylogin.eth'; await expect(getTargetAddress(sdk, ensName)).to.be.rejectedWith(`${ensName} is not valid`); }); after(async () => { await relayer.stop(); }); });