File tree 1 file changed +61
-0
lines changed
1 file changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -255,6 +255,56 @@ describe('flavors/job.js', () => {
255
255
. done ( done ) ;
256
256
} ) ;
257
257
258
+ it ( 'should continue - all filtered' , ( done ) => {
259
+ sinon . stub ( DynamoDBConnector . prototype , 'queryPage' )
260
+ . onCall ( 0 )
261
+ . resolves ( {
262
+ Items : [
263
+ {
264
+ pk : '3' ,
265
+ sk : 'thing' ,
266
+ name : 'thing 3' ,
267
+ } ,
268
+ ] ,
269
+ } ) ;
270
+
271
+ const events = toDynamodbRecords ( [
272
+ {
273
+ timestamp : 1572832694 ,
274
+ keys : {
275
+ pk : '1' ,
276
+ sk : 'job' ,
277
+ } ,
278
+ newImage : {
279
+ pk : '1' ,
280
+ sk : 'job' ,
281
+ discriminator : 'job' ,
282
+ cursor : {
283
+ pk : '2' ,
284
+ sk : 'thing' ,
285
+ } ,
286
+ } ,
287
+ oldImage : {
288
+ pk : '1' ,
289
+ sk : 'job' ,
290
+ discriminator : 'job' ,
291
+ } ,
292
+ } ,
293
+ ] ) ;
294
+
295
+ initialize ( {
296
+ ...initializeFrom ( [ filterAllRule ] ) ,
297
+ } , { ...defaultOptions , AES : false } )
298
+ . assemble ( fromDynamodb ( events ) , false )
299
+ . collect ( )
300
+ // .tap((collected) => console.log(JSON.stringify(collected, null, 2)))
301
+ . tap ( ( collected ) => {
302
+ // unlucky filter all drops cursor
303
+ expect ( collected . length ) . to . equal ( 0 ) ;
304
+ } )
305
+ . done ( done ) ;
306
+ } ) ;
307
+
258
308
it ( 'should stop' , ( done ) => {
259
309
const events = toDynamodbRecords ( [
260
310
{
@@ -344,3 +394,14 @@ const rules = [
344
394
toCursorUpdateRequest,
345
395
} ,
346
396
] ;
397
+
398
+ const filterAllRule = {
399
+ id : 'job1-continued' ,
400
+ eventType : 'job-updated' ,
401
+ jobFilters : [ ( uow ) => uow . event ?. raw ?. new ?. cursor ] ,
402
+ filters : [ ( ) => false ] ,
403
+ flavor : job ,
404
+ toQuerySplitRequest,
405
+ toEvent,
406
+ toCursorUpdateRequest,
407
+ } ;
You can’t perform that action at this time.
0 commit comments