@@ -24,8 +24,6 @@ import { IexecWrapper } from './utils/IexecWrapper';
2424// | [3] | ✔ | x | ✔ | ✔ | ✔ | Standard,TEE |
2525// | [4] | x | x | ✔ | ✔ | ✔ | Standard,TEE |
2626// | [5] | x | x | x | x | x | Standard,TEE |
27- // | [6] | x | ✔ | x | x | x | Standard,TEE X goods |
28- // | [7] | x | ✔ | x | x | x | Standard,TEE goods Y 1 bad |
2927// +---------+-------------+-------------+----------+-----+-------------+----------------+
3028
3129const standardDealTag = '0x0000000000000000000000000000000000000000000000000000000000000000' ;
@@ -176,20 +174,22 @@ describe('Integration tests', function () {
176174 // - frozen: frozen before - taskStake
177175 await checkBalancesAndFrozens ( {
178176 proxyBalance :
179- dealPrice + schedulerStakePerDeal - ( taskPrice + schedulerStakePerTask ) ,
177+ dealPrice +
178+ schedulerStakePerDeal -
179+ ( taskPrice + schedulerStakePerTask ) * completedTasks ,
180180 accounts : [
181- { signer : sponsor , balance : 0 , frozen : dealPrice - taskPrice } ,
181+ { signer : sponsor , balance : 0 , frozen : dealPrice - taskPrice * completedTasks } ,
182182 { signer : requester , balance : 0 , frozen : 0 } ,
183183 {
184184 signer : scheduler ,
185- balance : schedulerStakePerTask + schedulerRewardPerTask ,
186- frozen : schedulerStakePerDeal - schedulerStakePerTask ,
185+ balance : ( schedulerStakePerTask + schedulerRewardPerTask ) * completedTasks ,
186+ frozen : schedulerStakePerDeal - schedulerStakePerTask * completedTasks ,
187187 } ,
188- { signer : appProvider , balance : appPrice , frozen : 0 } ,
189- { signer : datasetProvider , balance : datasetPrice , frozen : 0 } ,
188+ { signer : appProvider , balance : appPrice * completedTasks , frozen : 0 } ,
189+ { signer : datasetProvider , balance : datasetPrice * completedTasks , frozen : 0 } ,
190190 {
191191 signer : worker1 ,
192- balance : workerStakePerTask + workerRewardPerTask ,
192+ balance : ( workerStakePerTask + workerRewardPerTask ) * completedTasks ,
193193 frozen : 0 ,
194194 } ,
195195 ] ,
@@ -199,96 +199,7 @@ describe('Integration tests', function () {
199199
200200 // TODO implement the following tests.
201201
202- it ( '[2] No sponsorship, beneficiary, callback, BoT, replication' , async function ( ) {
203- const volume = 3 ;
204- // Create deal.
205- const orders = buildOrders ( {
206- assets : ordersAssets ,
207- prices : ordersPrices ,
208- requester : requester . address ,
209- tag : standardDealTag ,
210- beneficiary : beneficiary . address ,
211- callback : callbackAddress ,
212- volume,
213- trust : 1 , // TODO use 5 workers.
214- } ) ;
215- const { dealId, dealPrice, schedulerStakePerDeal } = await iexecWrapper . signAndMatchOrders (
216- ...orders . toArray ( ) ,
217- ) ;
218- const taskPrice = appPrice + datasetPrice + workerpoolPrice ;
219- const schedulerStakePerTask = schedulerStakePerDeal / volume ;
220- const workerRewardPerTask = await iexecWrapper . computeWorkerRewardPerTask (
221- dealId ,
222- PocoMode . CLASSIC ,
223- ) ;
224- const schedulerRewardPerTask = workerpoolPrice - workerRewardPerTask ;
225- // Check initial balances.
226- // TODO save initial balances and use them in for loop for comparison.
227- await checkBalancesAndFrozens ( {
228- proxyBalance : dealPrice + schedulerStakePerDeal ,
229- accounts : [
230- { signer : requester , balance : 0 , frozen : dealPrice } ,
231- { signer : scheduler , balance : 0 , frozen : schedulerStakePerDeal } ,
232- { signer : appProvider , balance : 0 , frozen : 0 } ,
233- { signer : datasetProvider , balance : 0 , frozen : 0 } ,
234- { signer : worker1 , balance : 0 , frozen : 0 } ,
235- ] ,
236- } ) ;
237- // Finalize each task and check balance changes.
238- for ( let taskIndex = 0 ; taskIndex < volume ; taskIndex ++ ) {
239- const taskId = await iexecWrapper . initializeTask ( dealId , taskIndex ) ;
240- const { workerStakePerTask } = await iexecWrapper . contributeToTask (
241- dealId ,
242- taskIndex ,
243- callbackResultDigest ,
244- worker1 ,
245- ) ;
246- await iexecPoco
247- . connect ( worker1 )
248- . reveal ( taskId , callbackResultDigest )
249- . then ( ( tx ) => tx . wait ( ) ) ;
250- await iexecPoco
251- . connect ( scheduler )
252- . finalize ( taskId , results , resultsCallback )
253- . then ( ( tx ) => tx . wait ( ) ) ;
254- expect ( ( await iexecPoco . viewTask ( taskId ) ) . status ) . to . equal ( TaskStatusEnum . COMPLETED ) ;
255- // Multiply amount by the number of finalized tasks to correctly compute
256- // stake and reward amounts.
257- const completedTasks = taskIndex + 1 ;
258- // For each task, balances change such as:
259- // - Requester
260- // - frozen: frozenBefore - taskPrice
261- // - Scheduler
262- // - balance: balanceBefore + taskStake + taskReward
263- // - frozen: frozenBefore - taskStake
264- // - App
265- // - balance: balance before + appPrice
266- // - Dataset
267- // - balance: balance before + datasetPrice
268- // - Worker:
269- // - balance: balance before + taskStake + taskReward
270- // - frozen: frozen before - taskStake
271- await checkBalancesAndFrozens ( {
272- proxyBalance :
273- dealPrice + schedulerStakePerDeal - ( taskPrice + schedulerStakePerTask ) ,
274- accounts : [
275- { signer : requester , balance : 0 , frozen : dealPrice - taskPrice } ,
276- {
277- signer : scheduler ,
278- balance : schedulerStakePerTask + schedulerRewardPerTask ,
279- frozen : schedulerStakePerDeal - schedulerStakePerTask ,
280- } ,
281- { signer : appProvider , balance : appPrice , frozen : 0 } ,
282- { signer : datasetProvider , balance : datasetPrice , frozen : 0 } ,
283- {
284- signer : worker1 ,
285- balance : workerStakePerTask + workerRewardPerTask ,
286- frozen : 0 ,
287- } ,
288- ] ,
289- } ) ;
290- }
291- } ) ;
202+ it ( '[2] No sponsorship, beneficiary, callback, BoT, replication' , async function ( ) { } ) ;
292203
293204 it ( '[3] Sponsorship, beneficiary, callback, BoT, no replication' , async function ( ) { } ) ;
294205
@@ -300,11 +211,8 @@ describe('Integration tests', function () {
300211 for ( let workerNumber = 1 ; workerNumber < 6 ; workerNumber ++ ) {
301212 it ( `[6.${ workerNumber } ] No sponsorship, no beneficiary, no callback, no BoT, up to ${ workerNumber } workers` , async function ( ) {
302213 const volume = 1 ;
303- const disposableWokers = [ worker1 , worker2 , worker3 , worker4 , worker5 ] ;
304- let workers = [ ] ;
305- for ( let i = 0 ; i < workerNumber ; i ++ ) {
306- workers . push ( disposableWokers [ i ] ) ;
307- }
214+ const disposableWorkers = [ worker1 , worker2 , worker3 , worker4 , worker5 ] ;
215+ const workers = disposableWorkers . slice ( 0 , workerNumber ) ;
308216 // Create deal.
309217 const orders = buildOrders ( {
310218 assets : ordersAssets ,
@@ -376,7 +284,7 @@ describe('Integration tests', function () {
376284 ] ;
377285 for ( let i = 0 ; i < workerNumber ; i ++ ) {
378286 accounts . push ( {
379- signer : disposableWokers [ i ] ,
287+ signer : disposableWorkers [ i ] ,
380288 balance : workerStake + workerRewardPerTask / workerNumber ,
381289 frozen : 0 ,
382290 } ) ;
0 commit comments