@@ -4,7 +4,8 @@ import { convertToRawAmount } from '../utils'
4
4
import { TokenMetadata } from '../types'
5
5
import { TokenStandard } from '../enums'
6
6
import { MAX_SUPPORTED_DECIMALS } from '../constants'
7
- import { DEFAULT_BASE_TOKEN , NetworkId } from '@core/network'
7
+ import { NetworkId } from '@core/network'
8
+ import { IBaseToken } from '../interfaces'
8
9
9
10
const WEB3_TOKEN_METADATA : TokenMetadata = {
10
11
name : 'RAWR' ,
@@ -35,6 +36,26 @@ const INVALID_TOKEN_METADATA: TokenMetadata = {
35
36
decimals : 0 ,
36
37
}
37
38
39
+ const DEFAULT_IOTA_BASE_TOKEN : IBaseToken = {
40
+ standard : TokenStandard . BaseToken ,
41
+ name : 'IOTA' ,
42
+ tickerSymbol : 'IOTA' ,
43
+ unit : 'IOTA' ,
44
+ decimals : 6 ,
45
+ subunit : 'micro' ,
46
+ useMetricPrefix : false ,
47
+ }
48
+
49
+ const DEFAULT_SHIMMER_BASE_TOKEN : IBaseToken = {
50
+ standard : TokenStandard . BaseToken ,
51
+ name : 'Shimmer' ,
52
+ tickerSymbol : 'SMR' ,
53
+ unit : 'SMR' ,
54
+ decimals : 6 ,
55
+ subunit : 'glow' ,
56
+ useMetricPrefix : false ,
57
+ }
58
+
38
59
describe ( 'File: convertToRawAmount.ts' , ( ) => {
39
60
it ( 'should return undefined if amount is empty' , ( ) => {
40
61
expect ( convertToRawAmount ( '' , INVALID_TOKEN_METADATA ) ) . toStrictEqual ( undefined )
@@ -43,40 +64,40 @@ describe('File: convertToRawAmount.ts', () => {
43
64
describe ( 'given the tokenMetadata standard is BaseToken' , ( ) => {
44
65
describe ( "given useMetricPrefix is false (currently IOTA's case)" , ( ) => {
45
66
it ( "should return Big(amount) * decimal property if selectedUnit is unit and baseToken's decimal is less than MAX_SUPPORTED_DECIMALS" , ( ) => {
46
- let value = convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Iota ] , 'IOTA' )
47
- expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( DEFAULT_BASE_TOKEN [ NetworkId . Iota ] . decimals ) ) )
67
+ let value = convertToRawAmount ( '1' , DEFAULT_IOTA_BASE_TOKEN , 'IOTA' )
68
+ expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( DEFAULT_IOTA_BASE_TOKEN . decimals ) ) )
48
69
} )
49
70
it ( "should return XXX if selectedUnit is unit and baseToken's decimals property is greater than MAX_SUPPORTED_DECIMALS" , ( ) => {
50
71
let value = convertToRawAmount ( '1' , WEB3_TOKEN_METADATA , 'RAWR' )
51
72
expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( MAX_SUPPORTED_DECIMALS ) ) )
52
73
} )
53
74
it ( 'should return same Big(amount) if selectedUnit is subunit' , ( ) => {
54
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Iota ] , 'micro' ) ) . toStrictEqual ( Big ( '1' ) )
75
+ expect ( convertToRawAmount ( '1' , DEFAULT_IOTA_BASE_TOKEN , 'micro' ) ) . toStrictEqual ( Big ( '1' ) )
55
76
} )
56
77
it ( 'should return undefined if a unit is not provided' , ( ) => {
57
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Iota ] ) ) . toStrictEqual ( undefined )
78
+ expect ( convertToRawAmount ( '1' , DEFAULT_IOTA_BASE_TOKEN ) ) . toStrictEqual ( undefined )
58
79
} )
59
80
it ( 'should return undefined if provided unit does not match the tokenMetadata unit or subunit' , ( ) => {
60
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Iota ] , 'test' ) ) . toStrictEqual ( undefined )
81
+ expect ( convertToRawAmount ( '1' , DEFAULT_IOTA_BASE_TOKEN , 'test' ) ) . toStrictEqual ( undefined )
61
82
} )
62
83
} )
63
84
describe ( "given useMetricPrefix is false (currently Shimmer's case)" , ( ) => {
64
85
it ( "should return Big(amount) * decimal property if selectedUnit is unit and baseToken's decimal is less than MAX_SUPPORTED_DECIMALS" , ( ) => {
65
- let value = convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Shimmer ] , 'SMR' )
66
- expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( DEFAULT_BASE_TOKEN [ NetworkId . Shimmer ] . decimals ) ) )
86
+ let value = convertToRawAmount ( '1' , DEFAULT_SHIMMER_BASE_TOKEN , 'SMR' )
87
+ expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( DEFAULT_SHIMMER_BASE_TOKEN . decimals ) ) )
67
88
} )
68
89
it ( "should return XXX if selectedUnit is unit and baseToken's decimals property is greater than MAX_SUPPORTED_DECIMALS" , ( ) => {
69
90
let value = convertToRawAmount ( '1' , WEB3_TOKEN_METADATA , 'RAWR' )
70
91
expect ( value ) . toStrictEqual ( Big ( '1' ) . mul ( Big ( 10 ) . pow ( MAX_SUPPORTED_DECIMALS ) ) )
71
92
} )
72
93
it ( 'should return same Big(amount) if selectedUnit is subunit' , ( ) => {
73
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Shimmer ] , 'glow' ) ) . toStrictEqual ( Big ( '1' ) )
94
+ expect ( convertToRawAmount ( '1' , DEFAULT_SHIMMER_BASE_TOKEN , 'glow' ) ) . toStrictEqual ( Big ( '1' ) )
74
95
} )
75
96
it ( 'should return undefined if a unit is not provided' , ( ) => {
76
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Shimmer ] ) ) . toStrictEqual ( undefined )
97
+ expect ( convertToRawAmount ( '1' , DEFAULT_SHIMMER_BASE_TOKEN ) ) . toStrictEqual ( undefined )
77
98
} )
78
99
it ( 'should return undefined if provided unit does not match the tokenMetadata unit or subunit' , ( ) => {
79
- expect ( convertToRawAmount ( '1' , DEFAULT_BASE_TOKEN [ NetworkId . Shimmer ] , 'test' ) ) . toStrictEqual ( undefined )
100
+ expect ( convertToRawAmount ( '1' , DEFAULT_SHIMMER_BASE_TOKEN , 'test' ) ) . toStrictEqual ( undefined )
80
101
} )
81
102
} )
82
103
} )
0 commit comments