1
- import { Map } from 'immutable' ;
1
+ import { fromJS } from 'immutable' ;
2
2
import { cmd , exec , TestContract } from '../../testing/wasm-util' ;
3
3
import { CWSimulateApp } from '../CWSimulateApp' ;
4
4
import { fromBinary } from '../util' ;
5
- import { BankMessage , BankQuery , ParsedCoin } from './bank' ;
5
+ import { BankMessage , BankQuery } from './bank' ;
6
6
7
7
type WrappedBankMessage = {
8
8
bank : BankMessage ;
@@ -27,43 +27,43 @@ describe('BankModule', () => {
27
27
bank . send ( 'alice' , 'bob' , [ { denom : 'foo' , amount : '100' } ] ) . unwrap ( ) ;
28
28
29
29
// Assert
30
- expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ new ParsedCoin ( 'foo' , BigInt ( 900 ) ) ] ) ;
31
- expect ( bank . getBalance ( 'bob' ) ) . toEqual ( [ new ParsedCoin ( 'foo' , BigInt ( 100 ) ) ] ) ;
32
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
33
- [ ' alice' , [ { denom : 'foo' , amount : ' 900' } ] ] ,
34
- [ ' bob' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
35
- ] ) ) ;
30
+ expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ coin ( 'foo' , 900 ) ] ) ;
31
+ expect ( bank . getBalance ( 'bob' ) ) . toEqual ( [ coin ( 'foo' , 100 ) ] ) ;
32
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
33
+ alice : [ coin ( 'foo' , 900 ) ] ,
34
+ bob : [ coin ( 'foo' , 100 ) ] ,
35
+ } ) ) ;
36
36
} ) ;
37
37
38
38
it ( 'handle send failure' , ( ) => {
39
39
// Arrange
40
40
const bank = chain . bank ;
41
- bank . setBalance ( 'alice' , [ { denom : 'foo' , amount : ' 100' } ] ) ;
41
+ bank . setBalance ( 'alice' , [ coin ( 'foo' , 100 ) ] ) ;
42
42
43
43
// Act
44
- const res = bank . send ( 'alice' , 'bob' , [ { denom : 'foo' , amount : ' 1000' } ] ) ;
44
+ const res = bank . send ( 'alice' , 'bob' , [ coin ( 'foo' , 1000 ) ] ) ;
45
45
46
46
// Assert
47
47
expect ( res . err ) . toBeDefined ( ) ;
48
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
49
- [ ' alice' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
50
- ] ) ) ;
51
- expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ new ParsedCoin ( 'foo' , BigInt ( 100 ) ) ] ) ;
48
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
49
+ alice : [ coin ( 'foo' , 100 ) ] ,
50
+ } ) ) ;
51
+ expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ coin ( 'foo' , 100 ) ] ) ;
52
52
} ) ;
53
53
54
54
it ( 'handle burn' , ( ) => {
55
55
// Arrange
56
56
const bank = chain . bank ;
57
- bank . setBalance ( 'alice' , [ { denom : 'foo' , amount : ' 1000' } ] ) ;
57
+ bank . setBalance ( 'alice' , [ coin ( 'foo' , 1000 ) ] ) ;
58
58
59
59
// Act
60
- bank . burn ( 'alice' , [ { denom : 'foo' , amount : ' 100' } ] ) ;
60
+ bank . burn ( 'alice' , [ coin ( 'foo' , 100 ) ] ) ;
61
61
62
62
// Assert
63
- expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ new ParsedCoin ( 'foo' , BigInt ( 900 ) ) ] ) ;
64
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
65
- [ ' alice' , [ { denom : 'foo' , amount : ' 900' } ] ] ,
66
- ] ) ) ;
63
+ expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ coin ( 'foo' , 900 ) ] ) ;
64
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
65
+ alice : [ coin ( 'foo' , 900 ) ] ,
66
+ } ) ) ;
67
67
} ) ;
68
68
69
69
it ( 'handle burn failure' , ( ) => {
@@ -76,16 +76,16 @@ describe('BankModule', () => {
76
76
77
77
// Assert
78
78
expect ( res . err ) . toBeDefined ( )
79
- expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ new ParsedCoin ( 'foo' , BigInt ( 100 ) ) ] ) ;
80
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
81
- [ ' alice' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
82
- ] ) ) ;
79
+ expect ( bank . getBalance ( 'alice' ) ) . toEqual ( [ coin ( 'foo' , 100 ) ] ) ;
80
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
81
+ alice : [ coin ( 'foo' , 100 ) ] ,
82
+ } ) ) ;
83
83
} ) ;
84
84
85
85
it ( 'handle msg' , ( ) => {
86
86
// Arrange
87
87
const bank = chain . bank ;
88
- bank . setBalance ( 'alice' , [ { denom : 'foo' , amount : ' 1000' } ] ) ;
88
+ bank . setBalance ( 'alice' , [ coin ( 'foo' , 1000 ) ] ) ;
89
89
90
90
// Act
91
91
let msg : WrappedBankMessage = {
@@ -99,10 +99,10 @@ describe('BankModule', () => {
99
99
chain . handleMsg ( 'alice' , msg ) ;
100
100
101
101
// Assert
102
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
103
- [ ' alice' , [ { denom : 'foo' , amount : ' 900' } ] ] ,
104
- [ ' bob' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
105
- ] ) ) ;
102
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
103
+ alice : [ coin ( 'foo' , 900 ) ] ,
104
+ bob : [ coin ( 'foo' , 100 ) ] ,
105
+ } ) ) ;
106
106
} ) ;
107
107
108
108
it ( 'contract integration' , async ( ) => {
@@ -116,30 +116,30 @@ describe('BankModule', () => {
116
116
cmd . bank ( {
117
117
send : {
118
118
to_address : 'alice' ,
119
- amount : [ { denom : 'foo' , amount : ' 100' } ] ,
119
+ amount : [ coin ( 'foo' , 100 ) ] ,
120
120
} ,
121
121
} ) ,
122
122
cmd . bank ( {
123
123
send : {
124
124
to_address : 'bob' ,
125
- amount : [ { denom : 'foo' , amount : ' 100' } ] ,
125
+ amount : [ coin ( 'foo' , 100 ) ] ,
126
126
} ,
127
127
} ) ,
128
128
cmd . bank ( {
129
129
burn : {
130
- amount : [ { denom : 'foo' , amount : ' 100' } ] ,
130
+ amount : [ coin ( 'foo' , 100 ) ] ,
131
131
} ,
132
132
} ) ,
133
133
) ;
134
134
const res = await contract . execute ( 'alice' , msg ) ;
135
135
136
136
// Assert
137
137
expect ( res . ok ) . toBeTruthy ( ) ;
138
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
139
- [ contract . address , [ { denom : 'foo' , amount : ' 700' } ] ] ,
140
- [ ' alice' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
141
- [ ' bob' , [ { denom : 'foo' , amount : ' 100' } ] ] ,
142
- ] ) ) ;
138
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
139
+ [ contract . address ] : [ coin ( 'foo' , 700 ) ] ,
140
+ alice : [ coin ( 'foo' , 100 ) ] ,
141
+ bob : [ coin ( 'foo' , 100 ) ] ,
142
+ } ) ) ;
143
143
} ) ;
144
144
145
145
it ( 'querier integration' , ( ) => {
@@ -159,28 +159,29 @@ describe('BankModule', () => {
159
159
} ;
160
160
161
161
bank . setBalance ( 'alice' , [
162
- { denom : 'foo' , amount : ' 100' } ,
163
- { denom : 'bar' , amount : ' 200' } ,
162
+ coin ( 'foo' , 100 ) ,
163
+ coin ( 'bar' , 200 ) ,
164
164
] ) ;
165
165
bank . setBalance ( 'bob' , [
166
- { denom : 'foo' , amount : ' 200' } ,
167
- { denom : 'bar' , amount : ' 200' } ,
166
+ coin ( 'foo' , 200 ) ,
167
+ coin ( 'bar' , 200 ) ,
168
168
] ) ;
169
169
170
170
let res = chain . querier . handleQuery ( { bank : queryBalance } ) ;
171
171
expect ( res . ok ) . toBeTruthy ( ) ;
172
- expect ( fromBinary ( res . val ) ) . toEqual ( { amount : { denom : 'foo' , amount : ' 100' } } ) ;
172
+ expect ( fromBinary ( res . val ) ) . toEqual ( { amount : coin ( 'foo' , 100 ) } ) ;
173
173
174
174
res = chain . querier . handleQuery ( { bank : queryAllBalances } ) ;
175
175
expect ( res . ok ) . toBeTruthy ( ) ;
176
176
expect ( fromBinary ( res . val ) ) . toEqual ( {
177
177
amount : [
178
- { denom : 'foo' , amount : ' 200' } ,
179
- { denom : 'bar' , amount : ' 200' } ,
178
+ coin ( 'foo' , 200 ) ,
179
+ coin ( 'bar' , 200 ) ,
180
180
] ,
181
181
} ) ;
182
182
} ) ;
183
- it ( 'handle delete' , ( ) => {
183
+
184
+ it ( 'handle delete' , ( ) => {
184
185
// Arrange
185
186
const bank = chain . bank ;
186
187
bank . setBalance ( 'alice' , [ { denom : 'foo' , amount : '1000' } ] ) ;
@@ -191,8 +192,10 @@ describe('BankModule', () => {
191
192
192
193
// Assert
193
194
expect ( bank . getBalance ( 'alice' ) ) . toBeDefined ( ) ;
194
- expect ( bank . getBalances ( ) ) . toEqual ( Map ( [
195
- [ ' alice' , [ { denom : 'foo' , amount : '1000' } ] ]
196
- ] ) ) ;
195
+ expect ( bank . getBalances ( ) ) . toEqual ( fromJS ( {
196
+ alice : [ { denom : 'foo' , amount : '1000' } ] ,
197
+ } ) ) ;
197
198
} ) ;
198
199
} ) ;
200
+
201
+ const coin = ( denom : string , amount : string | number ) => ( { denom, amount : `${ amount } ` } ) ;
0 commit comments