@@ -165,25 +165,21 @@ describe('Integration tests', function () {
165165 taskPrice * completedTasks +
166166 schedulerStakePerTask * completedTasks
167167 ) ;
168+ const expectedWorkerBalanceChange =
169+ workerStakePerTask + workerRewardPerTask / workers . length ;
168170 expect ( finalizeTx ) . to . changeTokenBalances (
169171 iexecPoco ,
170- [ proxyAddress , sponsor , requester , scheduler , appProvider , datasetProvider ] ,
172+ [ proxyAddress , ... accounts ] ,
171173 [
172174 expectedProxyBalanceChange , // Proxy
173175 - taskPrice * completedTasks , // Sponsor
174176 0 , // Requester
175177 schedulerStakePerTask + schedulerRewardPerTask , // Scheduler
176178 appPrice , // AppProvider
177179 datasetPrice , // DatasetProvider
180+ ...workers . map ( ( ) => expectedWorkerBalanceChange ) , // Workers
178181 ] ,
179182 ) ;
180- for ( const worker of workers ) {
181- expect ( finalizeTx ) . to . changeTokenBalances (
182- iexecPoco ,
183- [ worker ] ,
184- [ workerStakePerTask + workerRewardPerTask / workers . length ] ,
185- ) ;
186- }
187183 // Calculate expected frozen changes
188184 const expectedFrozenChanges = [
189185 0 , // Proxy
@@ -263,24 +259,20 @@ describe('Integration tests', function () {
263259 taskPrice * completedTasks +
264260 schedulerStakePerTask * completedTasks
265261 ) ;
262+ const expectedWorkerBalanceChange =
263+ workerStakePerTask + workerRewardPerTask / workers . length ;
266264 expect ( finalizeTx ) . to . changeTokenBalances (
267265 iexecPoco ,
268- [ proxyAddress , requester , scheduler , appProvider , datasetProvider ] ,
266+ [ proxyAddress , ... accounts ] ,
269267 [
270268 expectedProxyBalanceChange , // Proxy
271269 - taskPrice * completedTasks , // Requester
272270 schedulerStakePerTask + schedulerRewardPerTask , // Scheduler
273271 appPrice , // AppProvider
274272 datasetPrice , // DatasetProvider
273+ ...workers . map ( ( ) => expectedWorkerBalanceChange ) , // Workers
275274 ] ,
276275 ) ;
277- for ( const worker of workers ) {
278- expect ( finalizeTx ) . to . changeTokenBalances (
279- iexecPoco ,
280- [ worker ] ,
281- [ workerStakePerTask + workerRewardPerTask / workers . length ] ,
282- ) ;
283- }
284276 // Calculate expected frozen changes
285277 const expectedFrozenChanges = [
286278 0 , // Proxy
@@ -563,7 +555,7 @@ describe('Integration tests', function () {
563555 }
564556 const taskId = await iexecWrapper . initializeTask ( dealId , 0 ) ;
565557 // Finalize each task and check balance changes.
566- const workerStake = await iexecPoco
558+ const workerStakePerTask = await iexecPoco
567559 . viewDeal ( dealId )
568560 . then ( ( deal ) => deal . workerStake . toNumber ( ) ) ;
569561
@@ -580,24 +572,20 @@ describe('Integration tests', function () {
580572 . connect ( scheduler )
581573 . finalize ( taskId , results , '0x' ) ;
582574 await finalizeTx . wait ( ) ;
575+ const expectedWorkerBalanceChange =
576+ workerStakePerTask + workerRewardPerTask / workerNumber ;
583577 expect ( finalizeTx ) . to . changeTokenBalances (
584578 iexecPoco ,
585- [ proxyAddress , requester , scheduler , appProvider , datasetProvider ] ,
579+ [ proxyAddress , ... accounts ] ,
586580 [
587581 - ( dealPrice + schedulerStakePerDeal ) ,
588582 0 ,
589583 schedulerStakePerTask + schedulerRewardPerTask ,
590584 appPrice ,
591585 datasetPrice ,
586+ ...workers . map ( ( ) => expectedWorkerBalanceChange ) , // Workers
592587 ] ,
593588 ) ;
594- for ( let i = 0 ; i < workerNumber ; i ++ ) {
595- expect ( finalizeTx ) . to . changeTokenBalances (
596- iexecPoco ,
597- [ workers [ i ] ] ,
598- [ workerStake + workerRewardPerTask / workerNumber ] ,
599- ) ;
600- }
601589 expect ( ( await iexecPoco . viewTask ( taskId ) ) . status ) . to . equal (
602590 TaskStatusEnum . COMPLETED ,
603591 ) ;
@@ -689,27 +677,25 @@ describe('Integration tests', function () {
689677 }
690678 const finalizeTx = await iexecPoco . connect ( scheduler ) . finalize ( taskId , results , '0x' ) ;
691679 await finalizeTx . wait ( ) ;
680+ const expectedWinningWorkerBalanceChange =
681+ workerStake + workerRewardPerTask / winningWorkers . length ;
692682 expect ( finalizeTx ) . to . changeTokenBalances (
693683 iexecPoco ,
694- [ proxyAddress , requester , scheduler , appProvider , datasetProvider ] ,
684+ [ proxyAddress , ... accounts ] ,
695685 [
696686 - ( dealPrice + schedulerStakePerDeal ) ,
697687 0 ,
698688 schedulerStakePerTask + schedulerRewardPerTask ,
699689 appPrice ,
700690 datasetPrice ,
691+ 0 , // losing worker
692+ ...winningWorkers . map ( ( ) => expectedWinningWorkerBalanceChange ) , // winning workers
701693 ] ,
702694 ) ;
703695 // checks on losing worker
704- expect ( finalizeTx ) . to . changeTokenBalances ( iexecPoco , [ losingWorker ] , [ 0 ] ) ;
705696 expect ( await iexecPoco . viewScore ( losingWorker . address ) ) . to . be . equal ( 0 ) ;
706697 // checks on winning workers
707698 for ( const winningWorker of winningWorkers ) {
708- expect ( finalizeTx ) . to . changeTokenBalances (
709- iexecPoco ,
710- [ winningWorker . address ] ,
711- [ workerStake + workerRewardPerTask / winningWorkers . length ] ,
712- ) ;
713699 expect ( await iexecPoco . viewScore ( winningWorker . address ) ) . to . be . equal ( 1 ) ;
714700 }
715701 // verify task status
0 commit comments