@@ -31,8 +31,10 @@ import {
3131 smsUrlOrMapSchema ,
3232 teeFrameworkSchema ,
3333 addressOrAnySchema ,
34+ signedDatasetorderBulkSchema ,
3435} from '../../../src/common/utils/validator.js' ;
3536import { errors } from '../../../src/lib/index.js' ;
37+ import { DATASET_INFINITE_VOLUME } from '../../../src/lib/utils.js' ;
3638
3739const { ValidationError } = errors ;
3840
@@ -1482,3 +1484,81 @@ describe('[teeFrameworkSchema]', () => {
14821484 ) ;
14831485 } ) ;
14841486} ) ;
1487+
1488+ describe ( '[signedDatasetorderBulkSchema]' , ( ) => {
1489+ test ( 'valid order' , async ( ) => {
1490+ const datasetorder = {
1491+ dataset : '0x607F4C5BB672230e8672085532f7e901544a7375' ,
1492+ volume : DATASET_INFINITE_VOLUME . toString ( ) ,
1493+ tag : '0x0000000000000000000000000000000000000000000000000000000000000000' ,
1494+ datasetprice : '0' ,
1495+ workerpoolrestrict : '0x0000000000000000000000000000000000000000' ,
1496+ requesterrestrict : '0x0000000000000000000000000000000000000000' ,
1497+ apprestrict : '0x0000000000000000000000000000000000000000' ,
1498+ salt : '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' ,
1499+ sign : '0x1b8e3f4f5c3e2e8f4d5c6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9fa0b1c2d3e4f5061b' ,
1500+ } ;
1501+ await expect (
1502+ signedDatasetorderBulkSchema ( ) . validate ( datasetorder ) ,
1503+ ) . resolves . toStrictEqual ( datasetorder ) ;
1504+ } ) ;
1505+
1506+ test ( 'valid order (INFINITE_VOLUME - 1) compatibility' , async ( ) => {
1507+ const datasetorder = {
1508+ dataset : '0x607F4C5BB672230e8672085532f7e901544a7375' ,
1509+ volume : ( DATASET_INFINITE_VOLUME - 1 ) . toString ( ) ,
1510+ tag : '0x0000000000000000000000000000000000000000000000000000000000000000' ,
1511+ datasetprice : '0' ,
1512+ workerpoolrestrict : '0x0000000000000000000000000000000000000000' ,
1513+ requesterrestrict : '0x0000000000000000000000000000000000000000' ,
1514+ apprestrict : '0x0000000000000000000000000000000000000000' ,
1515+ salt : '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' ,
1516+ sign : '0x1b8e3f4f5c3e2e8f4d5c6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9fa0b1c2d3e4f5061b' ,
1517+ } ;
1518+ await expect (
1519+ signedDatasetorderBulkSchema ( ) . validate ( datasetorder ) ,
1520+ ) . resolves . toStrictEqual ( datasetorder ) ;
1521+ } ) ;
1522+
1523+ test ( 'invalid order - volume too low' , async ( ) => {
1524+ const datasetorder = {
1525+ dataset : '0x607F4C5BB672230e8672085532f7e901544a7375' ,
1526+ volume : ( DATASET_INFINITE_VOLUME - 2 ) . toString ( ) ,
1527+ tag : '0x0000000000000000000000000000000000000000000000000000000000000000' ,
1528+ datasetprice : '0' ,
1529+ workerpoolrestrict : '0x0000000000000000000000000000000000000000' ,
1530+ requesterrestrict : '0x0000000000000000000000000000000000000000' ,
1531+ apprestrict : '0x0000000000000000000000000000000000000000' ,
1532+ salt : '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' ,
1533+ sign : '0x1b8e3f4f5c3e2e8f4d5c6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9fa0b1c2d3e4f5061b' ,
1534+ } ;
1535+ await expect (
1536+ signedDatasetorderBulkSchema ( ) . validate ( datasetorder ) ,
1537+ ) . rejects . toThrow (
1538+ new ValidationError (
1539+ 'volume (9007199254740989) is not valid for bulk datasetorder expected DATASET_INFINITE_VOLUME (9007199254740991)' ,
1540+ ) ,
1541+ ) ;
1542+ } ) ;
1543+
1544+ test ( 'invalid order - price not 0' , async ( ) => {
1545+ const datasetorder = {
1546+ dataset : '0x607F4C5BB672230e8672085532f7e901544a7375' ,
1547+ volume : DATASET_INFINITE_VOLUME . toString ( ) ,
1548+ tag : '0x0000000000000000000000000000000000000000000000000000000000000000' ,
1549+ datasetprice : '1' ,
1550+ workerpoolrestrict : '0x0000000000000000000000000000000000000000' ,
1551+ requesterrestrict : '0x0000000000000000000000000000000000000000' ,
1552+ apprestrict : '0x0000000000000000000000000000000000000000' ,
1553+ salt : '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' ,
1554+ sign : '0x1b8e3f4f5c3e2e8f4d5c6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f60718293a4b5c6d7e8f9fa0b1c2d3e4f5061b' ,
1555+ } ;
1556+ await expect (
1557+ signedDatasetorderBulkSchema ( ) . validate ( datasetorder ) ,
1558+ ) . rejects . toThrow (
1559+ new ValidationError (
1560+ 'datasetprice (1) is not valid for bulk datasetorder expected 0' ,
1561+ ) ,
1562+ ) ;
1563+ } ) ;
1564+ } ) ;
0 commit comments