Ivan Socolsky
10 years ago
7 changed files with 119 additions and 108 deletions
@ -0,0 +1,67 @@ |
|||
'use strict'; |
|||
|
|||
var _ = require('lodash'); |
|||
var chai = require('chai'); |
|||
var sinon = require('sinon'); |
|||
var should = chai.should(); |
|||
var CliUtils = require('./cli-utils'); |
|||
|
|||
describe('CliUtils', function() { |
|||
describe('#parseAmount', function() { |
|||
it('should successfully parse amounts', function() { |
|||
var texts = { |
|||
'1': 1, |
|||
'0': 0, |
|||
'1.': 1, |
|||
'000000.0000': 0, |
|||
'123': 123, |
|||
'123sat': 123, |
|||
'123 sat': 123, |
|||
'00123 sat': 123, |
|||
'1.23bit': 123, |
|||
'1.23 bit': 123, |
|||
'0 bit': 0, |
|||
'.45bit': 45, |
|||
'1btc': 100000000, |
|||
' 1btc': 100000000, |
|||
'9999btc': 999900000000, |
|||
'0.00000001btc': 1, |
|||
'00000.00000001BTC': 1, |
|||
'0.00000001 BTC': 1, |
|||
'0.123btc': 12300000, |
|||
'0.123 bTc': 12300000, |
|||
}; |
|||
_.each(texts, function(satoshi, text) { |
|||
var amount = CliUtils.parseAmount(text); |
|||
amount.should.equal(satoshi); |
|||
}); |
|||
}); |
|||
it('should fail to parse incorrect amounts', function() { |
|||
var texts = [ |
|||
'', |
|||
' ', |
|||
'btc', |
|||
'1satoshi', |
|||
'no-number', |
|||
'-3', |
|||
'1 b t c', |
|||
'btc1', |
|||
'btc 1', |
|||
'1,234', |
|||
'0.000000001btc', |
|||
'0.1sat', |
|||
'0.123bit', |
|||
'2.000000009btc', |
|||
]; |
|||
_.each(texts, function(text) { |
|||
var valid = true; |
|||
try { |
|||
var amount = CliUtils.parseAmount(text); |
|||
} catch (e) { |
|||
valid = false; |
|||
} |
|||
valid.should.be.false; |
|||
}); |
|||
}); |
|||
}); |
|||
}); |
Loading…
Reference in new issue