PHP WebShell
Текущая директория: /opt/BitGoJS/modules/express/test/unit/clientRoutes
Просмотр файла: generateWallet.ts
import * as sinon from 'sinon';
import 'should-http';
import 'should-sinon';
import '../../lib/asserts';
import * as express from 'express';
import { handleV2GenerateWallet } from '../../../src/clientRoutes';
import { BitGo } from 'bitgo';
import { BaseCoin, Wallets, WalletWithKeychains } from '@bitgo/sdk-core';
describe('Generate Wallet', () => {
it('should return the internal wallet object and keychains by default or if includeKeychains is true', async () => {
const walletStub = sinon
.stub<[], Promise<WalletWithKeychains>>()
.resolves({ wallet: { toJSON: () => 'walletdata with keychains' } } as any);
const walletsStub = sinon.createStubInstance(Wallets, { generateWallet: walletStub });
const coinStub = sinon.createStubInstance(BaseCoin, {
wallets: sinon.stub<[], Wallets>().returns(walletsStub as any),
});
const stubBitgo = sinon.createStubInstance(BitGo, { coin: sinon.stub<[string]>().returns(coinStub) });
const walletGenerateBody = {};
const coin = 'tbtc';
const reqDefault = {
bitgo: stubBitgo,
params: {
coin,
},
query: {},
body: walletGenerateBody,
} as unknown as express.Request;
const reqIncludeKeychains = {
bitgo: stubBitgo,
params: {
coin,
},
query: {
includeKeychains: true,
},
body: walletGenerateBody,
} as unknown as express.Request;
await handleV2GenerateWallet(reqDefault).should.be.resolvedWith({ wallet: 'walletdata with keychains' });
await handleV2GenerateWallet(reqIncludeKeychains).should.be.resolvedWith({ wallet: 'walletdata with keychains' });
});
it('should only return wallet data if includeKeychains query param is false', async () => {
const walletsStub = sinon.createStubInstance(Wallets, {
generateWallet: { wallet: { toJSON: () => 'walletdata' } } as any,
});
const coinStub = sinon.createStubInstance(BaseCoin, {
wallets: sinon.stub<[], Wallets>().returns(walletsStub as any),
});
const stubBitgo = sinon.createStubInstance(BitGo, { coin: sinon.stub<[string]>().returns(coinStub) });
const walletGenerateBody = {};
const coin = 'tbtc';
const req = {
bitgo: stubBitgo,
params: {
coin,
},
query: {
includeKeychains: 'false',
},
body: walletGenerateBody,
} as unknown as express.Request;
await handleV2GenerateWallet(req).should.be.resolvedWith('walletdata');
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!