@@ -74,4 +74,69 @@ export const changeTokenBalancesTest = (provider: TestProvider) => {
74
74
) ;
75
75
} ) ;
76
76
} ) ;
77
+
78
+ describe ( 'changeTokenBalances - error margin' , ( ) => {
79
+ it ( 'positive' , async ( ) => {
80
+ await expect ( token . transfer ( receiver . address , 200 ) )
81
+ . to . changeTokenBalances ( token , [ receiver , sender ] , [ 100 , - 100 ] , 100 ) ;
82
+ } ) ;
83
+
84
+ it ( 'negative' , async ( ) => {
85
+ await expect ( token . transfer ( receiver . address , 200 ) )
86
+ . to . not . changeTokenBalances ( token , [ receiver , sender ] , [ 100 , - 100 ] , 99 ) ;
87
+ } ) ;
88
+
89
+ describe ( 'Throws' , ( ) => {
90
+ it ( 'too low' , async ( ) => {
91
+ await expect (
92
+
93
+ expect ( await token . transfer ( receiver . address , 200 ) )
94
+ . to . changeTokenBalances ( token , [ receiver , sender ] , [ 250 , - 250 ] , 40 )
95
+
96
+ ) . to . be . eventually . rejectedWith (
97
+ AssertionError ,
98
+ `Expected "${ receiver . address } " balance to change within [210,290] wei, ` +
99
+ 'but it has changed by 200 wei'
100
+ ) ;
101
+ } ) ;
102
+
103
+ it ( 'too high' , async ( ) => {
104
+ await expect (
105
+
106
+ expect ( await token . transfer ( receiver . address , 300 ) )
107
+ . to . changeTokenBalances ( token , [ receiver , sender ] , [ 250 , - 250 ] , 40 )
108
+
109
+ ) . to . be . eventually . rejectedWith (
110
+ AssertionError ,
111
+ `Expected "${ receiver . address } " balance to change within [210,290] wei, ` +
112
+ 'but it has changed by 300 wei'
113
+ ) ;
114
+ } ) ;
115
+
116
+ it ( 'negated' , async ( ) => {
117
+ await expect (
118
+
119
+ expect ( await token . transfer ( receiver . address , 260 ) )
120
+ . to . not . changeTokenBalances ( token , [ receiver , sender ] , [ 250 , - 250 ] , 40 )
121
+
122
+ ) . to . be . eventually . rejectedWith (
123
+ AssertionError ,
124
+ `Expected "${ receiver . address } " balance to not change within [210,290] wei`
125
+ ) ;
126
+ } ) ;
127
+
128
+ it ( 'second address' , async ( ) => {
129
+ await expect (
130
+
131
+ expect ( await token . transfer ( receiver . address , 200 ) )
132
+ . to . changeTokenBalances ( token , [ receiver , sender ] , [ 210 , - 250 ] , 40 )
133
+
134
+ ) . to . be . eventually . rejectedWith (
135
+ AssertionError ,
136
+ `Expected "${ sender . address } " balance to change within [-290,-210] wei, ` +
137
+ 'but it has changed by -200 wei'
138
+ ) ;
139
+ } ) ;
140
+ } ) ;
141
+ } ) ;
77
142
} ;
0 commit comments