Skip to content

Commit 5c18738

Browse files
committed
Re-structured rewards test cases
1 parent 8ea2abd commit 5c18738

File tree

1 file changed

+3
-87
lines changed

1 file changed

+3
-87
lines changed

test/rewards/6_OB_Rewards_Test.js

Lines changed: 3 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,13 @@ var buyers = new Array();
1313
var nonPromotedSellers = new Array();
1414
var promotedSellers = new Array();
1515
var moderators = new Array();
16-
var previousScriptHash;
17-
1816

1917
contract("OB Rewards Contract", function() {
2018

2119
var createCompletedTransactionsWithPromotedSellers = async(start, numberOfTransactions)=>{
2220
var transactions = new Object();
2321

2422
for (var i = 0;i<numberOfTransactions;i++){
25-
2623
var buyer = buyers[start + i];
2724
var index = ((start + i) % 10);
2825
var seller = promotedSellers[index];
@@ -54,7 +51,6 @@ contract("OB Rewards Contract", function() {
5451
var transactions = new Object();
5552

5653
for (var i = 0;i<numberOfTransactions;i++){
57-
5854
var buyer = buyers[start + i];
5955
var index = ((start + i) % 10);
6056
var seller = nonPromotedSellers[index];
@@ -114,129 +110,93 @@ contract("OB Rewards Contract", function() {
114110

115111
await this.OBT.transfer(this.rewards.address, "570000000000000000000", {from:acct[0]});
116112
this.escrowProxy = await EscrowProxy.new("0x0000000000000000000000000000000000000000");
117-
118113
});
119114

120115
it("Claim reward for transaction when rewards is not on", async()=>{
121-
122116
var transactions = await createCompletedTransactionsWithPromotedSellers(0, 1);
123-
124117
var scriptHashes = new Array();
125118

126119
for(var key in transactions){
127120
scriptHashes.push(key);
128121
}
129-
130122
try{
131123
await this.rewards.claimRewards(scriptHashes);
132124
assert.equal(true, false, "Should not be able to claim rewards when rewards is not on");
133-
134125
}catch(error){
135126
assert.notInclude(error.toString(), 'AssertionError', error.message);
136-
137127
}
138-
139128
});
140-
141129

142130
it("Turn rewards on from non-owner account", async()=>{
143-
144131
try{
145132
await this.rewards.turnOnRewards({from:acct[1]});
146133
assert.equal(true, false, "Should not be able to turn on rewards from non-owner account");
147-
148134
}catch(error){
149135
assert.notInclude(error.toString(), 'AssertionError', error.message);
150-
151136
}
152137
});
153138

154139
it("Turn rewards on from owner account", async()=>{
155-
156140
var txResult = await this.rewards.turnOnRewards({from:acct[0]});
157-
158141
var event = txResult.logs[0].event;
159-
160142
assert.equal(event, "RewardsOn", "RewardsOn event must be fired");
161-
162143
var rewardsOn = await this.rewards.rewardsOn();
163-
164144
assert(rewardsOn, true, "Rewards must be on");
165-
166145
});
167146

168147
it("Claim reward when rewards are not running", async()=>{
169-
170148
var transactions = await createCompletedTransactionsWithPromotedSellers(0, 1);
171-
172149
var scriptHashes = new Array();
173-
174150
for(var key in transactions){
175151
scriptHashes.push(key);
176152
}
177-
178153
try{
179154
await this.rewards.claimRewards(scriptHashes);
180155
assert.equal(true, false, "Should not be able to claim rewards when rewards are not running");
181-
182156
}catch(error){
183157
assert.notInclude(error.toString(), 'AssertionError', error.message);
184-
185158
}
186-
187-
188159
});
189-
it("Set end date from non-owner account", async()=>{
190160

161+
it("Set end date from non-owner account", async()=>{
191162
var endDate = new Date();
192163
endDate.setDate(endDate.getDate()+2);
193164

194165
try{
195166
await this.rewards.setEndDate(endDate.getTime()/1000, {from:acct[100]});
196167
assert.equal(true, false, "Should not be able to change end date from non-owner account");
197-
198168
}catch(error){
199169
assert.notInclude(error.toString(), 'AssertionError', error.message);
200-
201170
}
202-
203171
});
204172

205173
it("Set end date to some point in the future", async()=>{
206-
207174
var endDate = new Date();
208175
endDate.setDate(endDate.getDate()+2);
209176

210177
var txResult = await this.rewards.setEndDate(Math.floor(endDate.getTime()/1000), {from:acct[0]});
211-
212178
var event = txResult.logs[0].event;
213179
var receivedEndDate = txResult.logs[0].args.endDate;
214-
215180
assert.equal(event, "EndDateChanged", "EndDateChanged event must be fired");
216181
assert.equal(receivedEndDate.toNumber(), Math.floor(endDate.getTime()/1000), "Passed and received end date must match");
217182

218183
var running = await this.rewards.isRewardsRunning();
219-
220184
assert(running, true, "Rewards must be running now");
221185
});
222186

223187
it("Claim reward for 1 valid scriptHashes", async()=>{
224188
var transactions = await createCompletedTransactionsWithPromotedSellers(0, 1);
225-
226189
var scriptHashes = new Array();
227-
228190
for(var key in transactions){
229191
scriptHashes.push(key);
230192
}
231-
232193
var txResult = await this.rewards.claimRewards(scriptHashes);
233194

234195
for(var i=0;i<txResult.logs.length;i++){
235196
var eventName = txResult.logs[i].event;
236197
var buyer = txResult.logs[i].args.buyer;
237198
var scriptHash = txResult.logs[i].args.scriptHash;
238199
var seller = txResult.logs[i].args.seller;
239-
240200
assert.equal(eventName, "SuccessfulClaim", "SuccessfulClaim event must be fired");
241201
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
242202
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
@@ -245,18 +205,13 @@ contract("OB Rewards Contract", function() {
245205

246206
it("Claim reward for multiple valid scriptHashes", async()=>{
247207
var transactions = await createCompletedTransactionsWithPromotedSellers(1, 10);
248-
249208
var scriptHashes = new Array();
250209

251-
252210
for(var key in transactions){
253211
scriptHashes.push(key);
254212
}
255-
256213
var txResult = await this.rewards.claimRewards(scriptHashes);
257-
258214
for(var i=0;i<txResult.logs.length;i++){
259-
260215
var eventName = txResult.logs[i].event;
261216
var buyer = txResult.logs[i].args.buyer;
262217
var scriptHash = txResult.logs[i].args.scriptHash;
@@ -265,32 +220,24 @@ contract("OB Rewards Contract", function() {
265220
assert.equal(eventName, "SuccessfulClaim", "SuccessfulClaim event must be fired");
266221
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
267222
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
268-
269223
}
270224
});
271225

272226
it("If buyer is eligible for more tokens than are available in the contract then the contract should pay out as much as it can", async()=>{
273-
274227
var transactions = await createCompletedTransactionsWithPromotedSellers(11, 1);
275-
276228
var scriptHashes = new Array();
277229
var buyer;
278230

279231
for(var key in transactions){
280232
scriptHashes.push(key);
281233
buyer = transactions[key].buyer;
282-
283234
}
284235
var previousBuyerBalance = await this.OBT.balanceOf(buyer);
285236
previousBuyerBalance=new BigNumber(previousBuyerBalance);
286-
287237
var contractTokenBalance = await this.OBT.balanceOf(this.rewards.address);
288238
contractTokenBalance = new BigNumber(contractTokenBalance);
289-
290239
var txResult = await this.rewards.claimRewards(scriptHashes);
291-
292240
for(var i=0;i<txResult.logs.length;i++){
293-
294241
var eventName = txResult.logs[i].event;
295242
var buyer = txResult.logs[i].args.buyer;
296243
var scriptHash = txResult.logs[i].args.scriptHash;
@@ -299,40 +246,29 @@ contract("OB Rewards Contract", function() {
299246
assert.equal(eventName, "SuccessfulClaim", "SuccessfulClaim event must be fired");
300247
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
301248
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
302-
303249
}
304250
var newBuyerBalance = await this.OBT.balanceOf(buyer);
305251
newBuyerBalance = new BigNumber(newBuyerBalance);
306252
assert.equal(newBuyerBalance.toNumber() - previousBuyerBalance.toNumber(), contractTokenBalance.toNumber(), "Contract's token balance before claim must match the tokens transferred to buyer after claim");
307-
308253
});
309254

310255
it("Once the contract has been replenished with more tokens buyer should be able to claim remaining tokens for the same seller", async()=>{
311-
312256
await this.OBT.transfer(this.rewards.address, "20000000000000000000", {from:acct[0]});
313-
314257
var transactions = await createCompletedTransactionsWithPromotedSellers(12, 1);
315-
316258
var scriptHashes = new Array();
317259
var buyer;
318260

319261
for(var key in transactions){
320262
scriptHashes.push(key);
321263
buyer = transactions[key].buyer;
322-
323264
}
324265
var previousBuyerBalance = await this.OBT.balanceOf(buyer);
325266
previousBuyerBalance = new BigNumber(previousBuyerBalance);
326-
327267
var contractTokenBalance = await this.OBT.balanceOf(this.rewards.address);
328268
contractTokenBalance = new BigNumber(contractTokenBalance);
329-
330269
var remainingTokens = 50000000000000000000 - contractTokenBalance.toNumber();
331-
332270
var txResult = await this.rewards.claimRewards(scriptHashes);
333-
334271
for(var i=0;i<txResult.logs.length;i++){
335-
336272
var eventName = txResult.logs[i].event;
337273
var buyer = txResult.logs[i].args.buyer;
338274
var scriptHash = txResult.logs[i].args.scriptHash;
@@ -341,19 +277,15 @@ contract("OB Rewards Contract", function() {
341277
assert.equal(eventName, "SuccessfulClaim", "SuccessfulClaim event must be fired");
342278
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
343279
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
344-
345280
}
346281
var newBuyerBalance = await this.OBT.balanceOf(buyer);
347282
newBuyerBalance = new BigNumber(newBuyerBalance);
348-
349283
assert.equal(newBuyerBalance.toNumber() - previousBuyerBalance.toNumber(), contractTokenBalance.toNumber(), "Contract's token balance before claim must match the tokens transferred to buyer after claim");
350-
284+
351285
await this.OBT.transfer(this.rewards.address, "100000000000000000000", {from:acct[0]});
352-
353-
var txResult = await this.rewards.claimRewards(scriptHashes);
354286

287+
var txResult = await this.rewards.claimRewards(scriptHashes);
355288
for(var i=0;i<txResult.logs.length;i++){
356-
357289
var eventName = txResult.logs[i].event;
358290
var buyer = txResult.logs[i].args.buyer;
359291
var scriptHash = txResult.logs[i].args.scriptHash;
@@ -362,26 +294,19 @@ contract("OB Rewards Contract", function() {
362294
assert.equal(eventName, "SuccessfulClaim", "SuccessfulClaim event must be fired");
363295
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
364296
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
365-
366297
}
367-
368298
var secondNewBuyerBalance = await this.OBT.balanceOf(buyer);
369299
secondNewBuyerBalance = new BigNumber(secondNewBuyerBalance);
370300
assert.equal(secondNewBuyerBalance.toNumber() - newBuyerBalance.toNumber(), remainingTokens, "Buyer should receive the remaining amout of tokens");
371-
372-
373301
});
374302

375303
it("Claim reward for non-promoted seller", async()=>{
376-
377304
var transactions = await createCompletedTransactionsWithNonPromotedSellers(0, 1);
378-
379305
var scriptHashes = new Array();
380306

381307
for(var key in transactions){
382308
scriptHashes.push(key);
383309
}
384-
385310
var txResult = await this.rewards.claimRewards(scriptHashes);
386311
for(var i=0;i<txResult.logs.length;i++){
387312
var eventName = txResult.logs[i].event;
@@ -392,24 +317,17 @@ contract("OB Rewards Contract", function() {
392317
assert.equal(eventName, "UnsuccessfulClaim", "UnsuccessfulClaim event must be fired");
393318
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
394319
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
395-
396320
}
397-
398-
399321
});
400322

401323
it("Claim reward for multiple non-promoted seller", async()=>{
402-
403324
var transactions = await createCompletedTransactionsWithNonPromotedSellers(1, 10);
404-
405325
var scriptHashes = new Array();
406326

407327
for(var key in transactions){
408328
scriptHashes.push(key);
409329
}
410-
411330
var txResult = await this.rewards.claimRewards(scriptHashes);
412-
413331
for(var i=0;i<txResult.logs.length;i++){
414332
var eventName = txResult.logs[i].event;
415333
var buyer = txResult.logs[i].args.buyer;
@@ -419,8 +337,6 @@ contract("OB Rewards Contract", function() {
419337
assert.equal(eventName, "UnsuccessfulClaim", "UnsuccessfulClaim event must be fired");
420338
assert.equal(buyer, web3.utils.toChecksumAddress(transactions[scriptHash].buyer), "Passed and received buyers are not matching");
421339
assert.equal(seller, web3.utils.toChecksumAddress(transactions[scriptHash].seller), "Passed and received sellers are not matching");
422-
423340
}
424-
425341
});
426342
});

0 commit comments

Comments
 (0)