@tatumio/tatum-v1
Version:
Tatum API client allows browsers and Node.js clients to interact with Tatum API.
122 lines • 9.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Currency_1 = require("../model/request/Currency");
const Fiat_1 = require("../model/response/ledger/Fiat");
const index_1 = require("./index");
// import { updateVirtualCurrency } from './vc';
describe('LEDGER TESTS: Virtual Currency test suite', () => {
// declaring global variables which have larger scope
let id = '';
it('should create a virtual currency', async () => {
/*
always returns error currency already registered
returning error
reached error state { message: 'Virtual currency with given name already exists.',
errorCode: 'virtual.duplicate',
statusCode: 403 }
*/
try {
const accountObj = await index_1.createVirtualCurrency({
'name': 'VC_demoVC',
'supply': '1000000',
'basePair': Currency_1.Currency.BTC,
'baseRate': 1,
'customer': {
'accountingCurrency': Fiat_1.Fiat.USD,
'externalId': '12'
},
'description': 'My Virtual Token description.',
'accountCode': 'AC_102131_B'
});
id = accountObj.id; // saving id for further functions
// console.log(accountObj) //printing the results
expect(accountObj.active).toBe(true);
expect(accountObj.currency).toBe('VC_JHGFRG');
expect(accountObj.frozen).toBe(false);
expect(accountObj.balance.accountBalance).toBe('1000000');
}
catch (error) {
// checking if currency already exists and proceeding
console.log('reached error state', error.response.data);
expect(error.response.data.errorCode).toBe('virtual.duplicate');
}
});
it('should update virtual currency BaseRate', async () => {
const accountObj = await index_1.updateVirtualCurrency({
'name': 'VC_demoVC',
'basePair': Currency_1.Currency.BTC,
'baseRate': 0.5
});
expect(accountObj).toBeUndefined();
});
it('should return error in case of wrong name', async () => {
try {
const accountObj = await index_1.updateVirtualCurrency({
'name': 'VC____demoVC',
'basePair': Currency_1.Currency.BTC,
'baseRate': 0.5
});
console.log(accountObj);
}
catch (e) {
expect(e.response.data.statusCode).toBe(403);
expect(e.response.data.errorCode).toBe('vc.not.found');
}
});
it('should return error in case of missing validations', async () => {
try {
const accountObj = await index_1.updateVirtualCurrency({
'name': 'demoVC',
'basePair': Currency_1.Currency.BTC,
'baseRate': 0.5
});
console.log(accountObj);
}
catch (e) {
// checking negative test results
expect(e.response.data.statusCode).toBe(400);
expect(e.response.data.errorCode).toBe('validation.failed');
}
});
it('should return VC by name', async () => {
const accountObj = await index_1.getVirtualCurrencyByName('VC_demoVC');
id = accountObj.accountId;
expect(accountObj.name).toBe('VC_demoVC');
expect(accountObj.basePair).toBe('BTC');
});
it('should return error if currency does not exists', async () => {
try {
await index_1.getVirtualCurrencyByName('VC_emoVC');
}
catch (e) {
expect(e.response.data.statusCode).toBe(403);
expect(e.response.data.errorCode).toBe('vc.not.found');
}
});
it('should mint new currency', async () => {
try {
const accountObj = await index_1.mintVirtualCurrency({
'accountId': id,
'amount': '1.5'
});
expect(accountObj.reference).not.toBe(null);
}
catch (e) {
console.log(JSON.stringify(e.response.data));
}
});
// revokeVirtualCurrency
it('should destroy new created currency', async () => {
try {
const accountObj = await index_1.revokeVirtualCurrency({
'accountId': id,
'amount': '1.5'
});
expect(accountObj.reference).not.toBe(null);
}
catch (e) {
console.log(JSON.stringify(e.response.data));
}
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVkZ2VyLnZjLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGVkZ2VyL2xlZGdlci52Yy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQW1EO0FBQ25ELHdEQUFtRDtBQUNuRCxtQ0FBMkk7QUFDM0ksZ0RBQWdEO0FBRWhELFFBQVEsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7SUFDdkQscURBQXFEO0lBQ3JELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNaLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM5Qzs7Ozs7O1VBTUU7UUFDRixJQUFJO1lBQ0EsTUFBTSxVQUFVLEdBQUcsTUFBTSw2QkFBcUIsQ0FBQztnQkFDM0MsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixVQUFVLEVBQUUsbUJBQVEsQ0FBQyxHQUFHO2dCQUN4QixVQUFVLEVBQUUsQ0FBQztnQkFDYixVQUFVLEVBQUU7b0JBQ1Isb0JBQW9CLEVBQUUsV0FBSSxDQUFDLEdBQUc7b0JBQzlCLFlBQVksRUFBRSxJQUFJO2lCQUNyQjtnQkFDRCxhQUFhLEVBQUUsK0JBQStCO2dCQUM5QyxhQUFhLEVBQUUsYUFBYTthQUUvQixDQUFDLENBQUE7WUFDRixFQUFFLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQSxDQUFDLGtDQUFrQztZQUNyRCxpREFBaUQ7WUFDakQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDcEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENB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