@@ -17,8 +17,9 @@ import {
1717 SERVICE_HTTP_500_URL ,
1818 getRandomBytes32 ,
1919} from '../../test-utils.js' ;
20- import '../../jest-setup .js' ;
20+ import { DATASET_INFINITE_VOLUME } from '../../../src/common/utils/constant .js' ;
2121import { errors } from '../../../src/lib/index.js' ;
22+ import '../../jest-setup.js' ;
2223
2324const { MarketCallError } = errors ;
2425
@@ -598,6 +599,7 @@ describe('orderbook', () => {
598599 ) ;
599600 expect ( res1 . orders ) . toLooseEqual ( res1deprecated . orders ) ;
600601 } ) ;
602+
601603 test ( 'datasetOwner returns orders from dataset owner' , async ( ) => {
602604 const { iexec : iexecUser , wallet } = getTestConfig ( iexecTestChain ) ( ) ;
603605 const { iexec : iexecOtherUser } = getTestConfig ( iexecTestChain ) ( ) ;
@@ -815,6 +817,53 @@ describe('orderbook', () => {
815817 expect ( strictAppOrders . count ) . toBe ( 0 ) ;
816818 expect ( strictAppOrders . orders . length ) . toBe ( 0 ) ;
817819 } ) ;
820+
821+ test ( 'bulkOnly option allow filtering only orders allowing dataset bulk processing' , async ( ) => {
822+ const { iexec } = getTestConfig ( iexecTestChain ) ( ) ;
823+ const { iexec : iexecReadOnly } = getTestConfig ( iexecTestChain ) ( {
824+ readOnly : true ,
825+ } ) ;
826+ // 1 and 2: orders without any restrictions
827+ const datasetOrderTemplate = await deployAndGetDatasetorder ( iexec ) ;
828+ const datasetAddress = datasetOrderTemplate . dataset ;
829+
830+ await iexec . order
831+ . signDatasetorder ( datasetOrderTemplate , { preflightCheck : false } )
832+ . then ( ( o ) =>
833+ iexec . order . publishDatasetorder ( o , { preflightCheck : false } ) ,
834+ ) ;
835+ await iexec . order
836+ . signDatasetorder (
837+ {
838+ ...datasetOrderTemplate ,
839+ datasetprice : 0 ,
840+ volume : DATASET_INFINITE_VOLUME ,
841+ } ,
842+ { preflightCheck : false } ,
843+ )
844+ . then ( ( o ) =>
845+ iexec . order . publishDatasetorder ( o , { preflightCheck : false } ) ,
846+ ) ;
847+
848+ const allOrders = await iexecReadOnly . orderbook . fetchDatasetOrderbook ( {
849+ dataset : datasetAddress ,
850+ } ) ;
851+ expect ( allOrders . count ) . toBe ( 2 ) ;
852+ expect ( allOrders . orders . length ) . toBe ( 2 ) ;
853+
854+ const bulkOnlyOrders =
855+ await iexecReadOnly . orderbook . fetchDatasetOrderbook ( {
856+ dataset : datasetAddress ,
857+ bulkOnly : true ,
858+ } ) ;
859+ expect ( bulkOnlyOrders . count ) . toBe ( 1 ) ;
860+ expect ( bulkOnlyOrders . orders . length ) . toBe ( 1 ) ;
861+ expect ( bulkOnlyOrders . orders [ 0 ] . order . datasetprice ) . toBe ( 0 ) ;
862+ expect ( bulkOnlyOrders . orders [ 0 ] . order . volume ) . toBe (
863+ DATASET_INFINITE_VOLUME ,
864+ ) ;
865+ expect ( bulkOnlyOrders . orders [ 0 ] . bulk ) . toBe ( true ) ;
866+ } ) ;
818867 } ) ;
819868
820869 describe ( 'fetchWorkerpoolOrderbook()' , ( ) => {
0 commit comments