All files / tests/segment convert-coins.js

100% Statements 49/49
100% Branches 2/2
100% Functions 12/12
100% Lines 48/48

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 931x   1x 1x       1x       1x 1x     1x 5x 5x     1x 1x         1x   1x 1x 1x 1x 1x       1x 1x         1x   1x 1x 1x 1x       1x 1x       1x 1x 1x 1x 1x 1x       1x 1x       1x 1x 1x 1x 1x 1x       1x 1x       1x 1x 1x 1x 1x 1x      
const { expect } = require(`chai`);
 
const helper = require(`../helpers`),
  CoinpaymentsError = require(`../../lib/error`);
 
let client, mock;
 
const defaultPayload = {
  cmd: `convert`
};
 
before(function() {
  client = helper.getClient();
});
 
afterEach(function() {
  if (mock) expect(mock.isDone()).equals(true);
  mock = false;
});
 
it(`Should be valid payload callback`, function(done) {
  const payload = {
    amount: `1`,
    from: `BTC`,
    to: `LTC`
  };
  const mockPayload = Object.assign({}, defaultPayload, payload);
 
  mock = helper.prepareMock(mockPayload);
  client.convertCoins(payload, function(err, response) {
    expect(err).equal(null);
    expect(response).equal(true);
    return done();
  });
});
 
it(`Should be valid payload promise`, function(done) {
  const payload = {
    amount: `1`,
    from: `BTC`,
    to: `LTC`
  };
  const mockPayload = Object.assign({}, defaultPayload, payload);
 
  mock = helper.prepareMock(mockPayload);
  client.convertCoins(payload).then(function(response) {
    expect(response).equal(true);
    return done();
  });
});
 
it(`Should return error on bad payload (amount)`, function(done) {
  const payload = {
    from: `BTC`,
    to: `LTC`
  };
  client.createTransaction(payload).catch(function(err) {
    expect(err).to.be.an.instanceof(CoinpaymentsError);
    expect(err).to.have.property(`name`);
    expect(err).to.have.property(`message`);
    expect(err).to.have.property(`extra`);
    return done();
  });
});
 
it(`Should return error on bad payload (from)`, function(done) {
  const payload = {
    amount: `1`,
    to: `LTC`
  };
  client.createTransaction(payload).catch(function(err) {
    expect(err).to.be.an.instanceof(CoinpaymentsError);
    expect(err).to.have.property(`name`);
    expect(err).to.have.property(`message`);
    expect(err).to.have.property(`extra`);
    return done();
  });
});
 
it(`Should return error on bad payload (to)`, function(done) {
  const payload = {
    amount: `1`,
    from: `BTC`
  };
  client.createTransaction(payload).catch(function(err) {
    expect(err).to.be.an.instanceof(CoinpaymentsError);
    expect(err).to.have.property(`name`);
    expect(err).to.have.property(`message`);
    expect(err).to.have.property(`extra`);
    return done();
  });
});