@@ -506,41 +506,72 @@ final class CombinationComplexCriteria: XCTestCase {
506
506
}
507
507
}
508
508
]
509
+ },
510
+ {
511
+ " combinator " : " Not " ,
512
+ " searchQueries " : [
513
+ {
514
+ " dataType " : " purchase " ,
515
+ " searchCombo " : {
516
+ " combinator " : " And " ,
517
+ " searchQueries " : [
518
+ {
519
+ " dataType " : " purchase " ,
520
+ " field " : " total " ,
521
+ " comparatorType " : " LessThanOrEqualTo " ,
522
+ " value " : " 10 " ,
523
+ " fieldType " : " double "
524
+ }
525
+ ]
526
+ }
527
+ },
528
+ {
529
+ " dataType " : " purchase " ,
530
+ " searchCombo " : {
531
+ " combinator " : " And " ,
532
+ " searchQueries " : [
533
+ {
534
+ " dataType " : " purchase " ,
535
+ " field " : " shoppingCartItems.quantity " ,
536
+ " comparatorType " : " LessThanOrEqualTo " ,
537
+ " value " : " 34 " ,
538
+ " fieldType " : " long "
539
+ }
540
+ ]
541
+ }
542
+ }
543
+ ]
509
544
}
510
545
]
511
546
}
512
547
}
513
548
]
514
- }
549
+ }
515
550
"""
516
551
517
552
func testComplexCriteria3Success( ) {
518
553
let eventItems : [ [ AnyHashable : Any ] ] = [
519
- [ " dataType " : " user " ,
520
- " dataFields " : [ " firstName " : " xcode " , " lastName " : " ssr " ]
521
- ] ,
522
- [ " dataType " : " customEvent " ,
523
- " eventName " : " animal-found " ,
524
- " dataFields " : [ " vaccinated " : true ,
525
- " count " : 10 ]
554
+ [
555
+ " dataType " : " purchase " ,
556
+ " createdAt " : 1699246745093 ,
557
+ " items " : [ [ " id " : " 12 " , " name " : " coffee " , " price " : 100 , " quantity " : 2 ] ]
526
558
]
527
559
]
528
560
529
-
530
561
let expectedCriteriaId = " 292 "
531
562
let matchedCriteriaId = CriteriaCompletionChecker ( anonymousCriteria: data ( from: mockDataComplexCriteria3) !, anonymousEvents: eventItems) . getMatchedCriteria ( )
532
563
XCTAssertEqual ( matchedCriteriaId, expectedCriteriaId)
533
564
}
534
565
535
566
func testComplexCriteria3Fail( ) {
536
567
let eventItems : [ [ AnyHashable : Any ] ] = [
568
+ [
569
+ " dataType " : " purchase " ,
570
+ " createdAt " : 1699246745093 ,
571
+ " items " : [ [ " id " : " 12 " , " name " : " coffee " , " price " : 100 , " quantity " : 2 ] ]
572
+ ] ,
537
573
[ " dataType " : " user " ,
538
574
" dataFields " : [ " firstName " : " Alex " , " lastName " : " Aris " ]
539
- ] ,
540
- [ " dataType " : " customEvent " ,
541
- " eventName " : " animal-found " ,
542
- " dataFields " : [ " vaccinated " : false ,
543
- " count " : 4 ]
544
575
]
545
576
]
546
577
let matchedCriteriaId = CriteriaCompletionChecker ( anonymousCriteria: data ( from: mockDataComplexCriteria3) !, anonymousEvents: eventItems) . getMatchedCriteria ( )
0 commit comments