openchain-sdk-yxl-wx-request
Version:
openchain sd YxL wx request
104 lines (92 loc) • 3.44 kB
JavaScript
'use strict';
require('chai').should();
const OpenChainSDK = require('../index');
const sdk = new OpenChainSDK({
host: 'nodeapitest.yuxinlink.com',
});
describe('Test asset send operation', function() {
it('test operation.assetSendOperation(args)', function() {
let data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(0);
data.result.should.be.a('object');
data.result.should.have.property('operation');
data.result.operation.should.be.a('object');
data.result.operation.should.have.property('type').equal('payAsset');
data.result.operation.should.have.property('data');
// sourceAddress === destAddress
data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(11005);
// Invalid sourceAddress
data = sdk.operation.assetSendOperation({
sourceAddress: '',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(11002);
// sourceAddress is undefined
data = sdk.operation.assetSendOperation({
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(0);
// Invalid code
data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: '',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(11023);
// Invalid assetAmount
data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '',
metadata: 'oh my test send asset',
});
data.errorCode.should.equal(11024);
// Invalid metadata
data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
metadata: '',
});
data.errorCode.should.equal(15028);
// metadata is undefined
data = sdk.operation.assetSendOperation({
sourceAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
destAddress: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
code: 'leo',
issuer: 'YxLVkMLxmJEtDQEob3SvVnZGjp7XrWSDvKm7a',
assetAmount: '100',
});
data.errorCode.should.equal(0);
});
});