@yoroi/exchange
Version:
The Exchange package of Yoroi SDK
75 lines • 1.68 kB
JavaScript
import { freeze } from 'immer';
import { providers } from './adapters/api';
const loading = () => new Promise(() => {});
const unknownError = () => Promise.reject(new Error('Unknown error'));
const delayedResponse = _ref => {
let {
data,
timeout = 3000
} = _ref;
return new Promise(resolve => {
setTimeout(() => resolve(data), timeout);
});
};
const providerListByFeature = {
success: () => Promise.resolve(Object.entries(providers)),
delayed: timeout => delayedResponse({
data: Object.entries(providers),
timeout
}),
empty: () => Promise.resolve(),
loading,
error: {
unknown: unknownError
}
};
const referralLinkCreate = {
success: () => Promise.resolve(new URL('https://google.com')),
delayed: timeout => delayedResponse({
data: '',
timeout
}),
empty: () => Promise.resolve([]),
loading,
error: {
unknown: unknownError
}
};
export const successManagerMock = {
provider: {
suggested: {
// TODO: fix add a constant for now
byOrderType: () => ({
['sell']: 'banxa',
['buy']: 'banxa'
})
},
list: {
byOrderType: providerListByFeature.success
}
},
referralLink: {
create: referralLinkCreate.success
}
};
export const errorManagerMock = {
provider: {
list: {
byOrderType: providerListByFeature.error.unknown
},
suggested: {
byOrderType: () => ({
['sell']: '',
['buy']: ''
})
}
},
referralLink: {
create: referralLinkCreate.error.unknown
}
};
export const managerMocks = freeze({
success: successManagerMock,
error: errorManagerMock
}, true);
//# sourceMappingURL=manager.mocks.js.map