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