@@ -53,7 +53,7 @@ describe('react-currency-input', function(){
53
53
} ) ;
54
54
55
55
it ( '<CurrencyInput> should have masked value of "123.456,789"' , function ( ) {
56
- expect ( this . renderedComponent . getMaskedValue ( ) ) . to . equal ( '123.456, 789' )
56
+ expect ( this . renderedComponent . getMaskedValue ( ) ) . to . equal ( '123.456. 789,000 ' )
57
57
} ) ;
58
58
59
59
it ( '<input> should be of type "tel"' , function ( ) {
@@ -62,6 +62,91 @@ describe('react-currency-input', function(){
62
62
} ) ;
63
63
64
64
65
+ describe ( 'properly convert number value props into display values' , function ( ) {
66
+
67
+ it ( 'adds decimals to whole numbers to match precision' , function ( ) {
68
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
69
+ < CurrencyInput precision = "2" value = { 123456789 } />
70
+ ) ;
71
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '123,456,789.00' )
72
+ } ) ;
73
+
74
+ it ( 'Does not change value when precision matches' , function ( ) {
75
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
76
+ < CurrencyInput precision = "2" value = { 1234567.89 } />
77
+ ) ;
78
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.89' )
79
+ } ) ;
80
+
81
+
82
+ it ( 'Rounds down properly when an number with extra decimals is passed in' , function ( ) {
83
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
84
+ < CurrencyInput precision = "2" value = { 1234567.89123 } />
85
+ ) ;
86
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.89' )
87
+ } ) ;
88
+
89
+
90
+ it ( 'Rounds up properly when an number with extra decimals is passed in' , function ( ) {
91
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
92
+ < CurrencyInput precision = "2" value = { 1234567.89999 } />
93
+ ) ;
94
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.90' )
95
+ } ) ;
96
+
97
+ it ( 'Rounds up the whole number when an number with extra decimals is passed in' , function ( ) {
98
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
99
+ < CurrencyInput precision = "0" value = { 1234567.89999 } />
100
+ ) ;
101
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,568' )
102
+ } ) ;
103
+
104
+ } ) ;
105
+
106
+
107
+ describe ( 'properly convert string value props into display values' , function ( ) {
108
+
109
+ it ( 'adds decimals to whole numbers to match precision' , function ( ) {
110
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
111
+ < CurrencyInput precision = "2" value = "6300" />
112
+ ) ;
113
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '6,300.00' )
114
+ } ) ;
115
+
116
+
117
+ it ( 'Does not change value when precision matches' , function ( ) {
118
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
119
+ < CurrencyInput precision = "2" value = "1234567.89" />
120
+ ) ;
121
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.89' )
122
+ } ) ;
123
+
124
+
125
+ it ( 'Rounds down properly when an number with extra decimals is passed in' , function ( ) {
126
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
127
+ < CurrencyInput precision = "2" value = "1234567.89123" />
128
+ ) ;
129
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.89' )
130
+ } ) ;
131
+
132
+
133
+ it ( 'Rounds up properly when an number with extra decimals is passed in' , function ( ) {
134
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
135
+ < CurrencyInput precision = "2" value = "1234567.89999" />
136
+ ) ;
137
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,567.90' )
138
+ } ) ;
139
+
140
+
141
+ it ( 'Rounds up the whole number when an number with extra decimals is passed in' , function ( ) {
142
+ var renderedComponent = ReactTestUtils . renderIntoDocument (
143
+ < CurrencyInput precision = "0" value = "1234567.89999" />
144
+ ) ;
145
+ expect ( renderedComponent . getMaskedValue ( ) ) . to . equal ( '1,234,568' )
146
+ } ) ;
147
+
148
+ } ) ;
149
+
65
150
describe ( 'change events' , function ( ) {
66
151
67
152
before ( 'render and locate element' , function ( ) {
0 commit comments