@@ -190,6 +190,19 @@ fn sort_by_entity_key(mut mods: Vec<EntityModification>) -> Vec<EntityModificati
190190 mods
191191}
192192
193+ fn filter_vid ( arr : Vec < Entity > ) -> Vec < Entity > {
194+ arr. into_iter ( )
195+ . map ( |mut e| {
196+ // println!("E1: {:?}", e);
197+ e. remove ( "vid" ) ;
198+ // println!("E2: {:?}", e);
199+ e. remove_null_fields ( ) ;
200+ // println!("E3: {:?}", e);
201+ e
202+ } )
203+ . collect ( )
204+ }
205+
193206#[ tokio:: test]
194207async fn empty_cache_modifications ( ) {
195208 let store = Arc :: new ( MockStore :: new ( BTreeMap :: new ( ) ) ) ;
@@ -429,17 +442,17 @@ async fn insert_test_data(store: Arc<DieselSubgraphStore>) -> DeploymentLocator
429442 . unwrap ( ) ;
430443
431444 // 1 account 3 wallets
432- let test_entity_1 =
create_account_entity ( "1" , "Johnton" , "[email protected] " , 67_i32 ) ; 445+ let test_entity_1 =
create_account_entity ( "1" , "Johnton" , "[email protected] " , 67_i32 , 1 ) ; 433446 let id_one = WALLET_TYPE . parse_id ( "1" ) . unwrap ( ) ;
434- let wallet_entity_1 = create_wallet_operation ( "1" , & id_one, 67_i32 ) ;
435- let wallet_entity_2 = create_wallet_operation ( "2" , & id_one, 92_i32 ) ;
436- let wallet_entity_3 = create_wallet_operation ( "3" , & id_one, 192_i32 ) ;
447+ let wallet_entity_1 = create_wallet_operation ( "1" , & id_one, 67_i32 , 1 ) ;
448+ let wallet_entity_2 = create_wallet_operation ( "2" , & id_one, 92_i32 , 2 ) ;
449+ let wallet_entity_3 = create_wallet_operation ( "3" , & id_one, 192_i32 , 3 ) ;
437450 // 1 account 1 wallet
438- let test_entity_2 =
create_account_entity ( "2" , "Cindini" , "[email protected] " , 42_i32 ) ; 451+ let test_entity_2 =
create_account_entity ( "2" , "Cindini" , "[email protected] " , 42_i32 , 2 ) ; 439452 let id_two = WALLET_TYPE . parse_id ( "2" ) . unwrap ( ) ;
440- let wallet_entity_4 = create_wallet_operation ( "4" , & id_two, 32_i32 ) ;
453+ let wallet_entity_4 = create_wallet_operation ( "4" , & id_two, 32_i32 , 4 ) ;
441454 // 1 account 0 wallets
442- let test_entity_3 =
create_account_entity ( "3" , "Shaqueeena" , "[email protected] " , 28_i32 ) ; 455+ let test_entity_3 =
create_account_entity ( "3" , "Shaqueeena" , "[email protected] " , 28_i32 , 3 ) ; 443456 transact_entity_operations (
444457 & store,
445458 & deployment,
@@ -459,22 +472,22 @@ async fn insert_test_data(store: Arc<DieselSubgraphStore>) -> DeploymentLocator
459472 deployment
460473}
461474
462- fn create_account_entity ( id : & str , name : & str , email : & str , age : i32 ) -> EntityOperation {
475+ fn create_account_entity ( id : & str , name : & str , email : & str , age : i32 , vid : i64 ) -> EntityOperation {
463476 let test_entity =
464- entity ! { LOAD_RELATED_SUBGRAPH => id: id, name: name, email: email, age: age } ;
477+ entity ! { LOAD_RELATED_SUBGRAPH => id: id, name: name, email: email, age: age, vid : vid } ;
465478
466479 EntityOperation :: Set {
467480 key : ACCOUNT_TYPE . parse_key ( id) . unwrap ( ) ,
468481 data : test_entity,
469482 }
470483}
471484
472- fn create_wallet_entity ( id : & str , account_id : & Id , balance : i32 ) -> Entity {
485+ fn create_wallet_entity ( id : & str , account_id : & Id , balance : i32 , vid : i64 ) -> Entity {
473486 let account_id = Value :: from ( account_id. clone ( ) ) ;
474- entity ! { LOAD_RELATED_SUBGRAPH => id: id, account: account_id, balance: balance }
487+ entity ! { LOAD_RELATED_SUBGRAPH => id: id, account: account_id, balance: balance, vid : vid }
475488}
476- fn create_wallet_operation ( id : & str , account_id : & Id , balance : i32 ) -> EntityOperation {
477- let test_wallet = create_wallet_entity ( id, account_id, balance) ;
489+ fn create_wallet_operation ( id : & str , account_id : & Id , balance : i32 , vid : i64 ) -> EntityOperation {
490+ let test_wallet = create_wallet_entity ( id, account_id, balance, vid ) ;
478491 EntityOperation :: Set {
479492 key : WALLET_TYPE . parse_key ( id) . unwrap ( ) ,
480493 data : test_wallet,
@@ -492,12 +505,12 @@ fn check_for_account_with_multiple_wallets() {
492505 causality_region : CausalityRegion :: ONCHAIN ,
493506 } ;
494507 let result = cache. load_related ( & request) . unwrap ( ) ;
495- let wallet_1 = create_wallet_entity ( "1" , & account_id, 67_i32 ) ;
496- let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 ) ;
497- let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 ) ;
508+ let wallet_1 = create_wallet_entity ( "1" , & account_id, 67_i32 , 0 ) ;
509+ let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 , 1 ) ;
510+ let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 , 2 ) ;
498511 let expeted_vec = vec ! [ wallet_1, wallet_2, wallet_3] ;
499512
500- assert_eq ! ( result, expeted_vec) ;
513+ assert_eq ! ( result, filter_vid ( expeted_vec) ) ;
501514 } ) ;
502515}
503516
@@ -512,10 +525,10 @@ fn check_for_account_with_single_wallet() {
512525 causality_region : CausalityRegion :: ONCHAIN ,
513526 } ;
514527 let result = cache. load_related ( & request) . unwrap ( ) ;
515- let wallet_1 = create_wallet_entity ( "4" , & account_id, 32_i32 ) ;
528+ let wallet_1 = create_wallet_entity ( "4" , & account_id, 32_i32 , 1 ) ;
516529 let expeted_vec = vec ! [ wallet_1] ;
517530
518- assert_eq ! ( result, expeted_vec) ;
531+ assert_eq ! ( result, filter_vid ( expeted_vec) ) ;
519532 } ) ;
520533}
521534
@@ -578,8 +591,8 @@ fn check_for_insert_async_store() {
578591 run_store_test ( |mut cache, store, deployment, _writable| async move {
579592 let account_id = ACCOUNT_TYPE . parse_id ( "2" ) . unwrap ( ) ;
580593 // insert a new wallet
581- let wallet_entity_5 = create_wallet_operation ( "5" , & account_id, 79_i32 ) ;
582- let wallet_entity_6 = create_wallet_operation ( "6" , & account_id, 200_i32 ) ;
594+ let wallet_entity_5 = create_wallet_operation ( "5" , & account_id, 79_i32 , 2 ) ;
595+ let wallet_entity_6 = create_wallet_operation ( "6" , & account_id, 200_i32 , 3 ) ;
583596
584597 transact_entity_operations (
585598 & store,
@@ -596,21 +609,22 @@ fn check_for_insert_async_store() {
596609 causality_region : CausalityRegion :: ONCHAIN ,
597610 } ;
598611 let result = cache. load_related ( & request) . unwrap ( ) ;
599- let wallet_1 = create_wallet_entity ( "4" , & account_id, 32_i32 ) ;
600- let wallet_2 = create_wallet_entity ( "5" , & account_id, 79_i32 ) ;
601- let wallet_3 = create_wallet_entity ( "6" , & account_id, 200_i32 ) ;
612+ let wallet_1 = create_wallet_entity ( "4" , & account_id, 32_i32 , 1 ) ;
613+ let wallet_2 = create_wallet_entity ( "5" , & account_id, 79_i32 , 2 ) ;
614+ let wallet_3 = create_wallet_entity ( "6" , & account_id, 200_i32 , 3 ) ;
602615 let expeted_vec = vec ! [ wallet_1, wallet_2, wallet_3] ;
603616
604- assert_eq ! ( result, expeted_vec) ;
617+ assert_eq ! ( result, filter_vid ( expeted_vec) ) ;
605618 } ) ;
606619}
620+
607621#[ test]
608622fn check_for_insert_async_not_related ( ) {
609623 run_store_test ( |mut cache, store, deployment, _writable| async move {
610624 let account_id = ACCOUNT_TYPE . parse_id ( "2" ) . unwrap ( ) ;
611625 // insert a new wallet
612- let wallet_entity_5 = create_wallet_operation ( "5" , & account_id, 79_i32 ) ;
613- let wallet_entity_6 = create_wallet_operation ( "6" , & account_id, 200_i32 ) ;
626+ let wallet_entity_5 = create_wallet_operation ( "5" , & account_id, 79_i32 , 5 ) ;
627+ let wallet_entity_6 = create_wallet_operation ( "6" , & account_id, 200_i32 , 6 ) ;
614628
615629 transact_entity_operations (
616630 & store,
@@ -628,12 +642,12 @@ fn check_for_insert_async_not_related() {
628642 causality_region : CausalityRegion :: ONCHAIN ,
629643 } ;
630644 let result = cache. load_related ( & request) . unwrap ( ) ;
631- let wallet_1 = create_wallet_entity ( "1" , & account_id, 67_i32 ) ;
632- let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 ) ;
633- let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 ) ;
645+ let wallet_1 = create_wallet_entity ( "1" , & account_id, 67_i32 , 1 ) ;
646+ let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 , 2 ) ;
647+ let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 , 3 ) ;
634648 let expeted_vec = vec ! [ wallet_1, wallet_2, wallet_3] ;
635649
636- assert_eq ! ( result, expeted_vec) ;
650+ assert_eq ! ( result, filter_vid ( expeted_vec) ) ;
637651 } ) ;
638652}
639653
@@ -642,7 +656,7 @@ fn check_for_update_async_related() {
642656 run_store_test ( |mut cache, store, deployment, writable| async move {
643657 let entity_key = WALLET_TYPE . parse_key ( "1" ) . unwrap ( ) ;
644658 let account_id = entity_key. entity_id . clone ( ) ;
645- let wallet_entity_update = create_wallet_operation ( "1" , & account_id, 79_i32 ) ;
659+ let wallet_entity_update = create_wallet_operation ( "1" , & account_id, 79_i32 , 1 ) ;
646660
647661 let new_data = match wallet_entity_update {
648662 EntityOperation :: Set { ref data, .. } => data. clone ( ) ,
@@ -666,11 +680,11 @@ fn check_for_update_async_related() {
666680 causality_region : CausalityRegion :: ONCHAIN ,
667681 } ;
668682 let result = cache. load_related ( & request) . unwrap ( ) ;
669- let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 ) ;
670- let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 ) ;
683+ let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 , 2 ) ;
684+ let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 , 3 ) ;
671685 let expeted_vec = vec ! [ new_data, wallet_2, wallet_3] ;
672686
673- assert_eq ! ( result, expeted_vec) ;
687+ assert_eq ! ( filter_vid ( result) , filter_vid ( expeted_vec) ) ;
674688 } ) ;
675689}
676690
@@ -696,11 +710,11 @@ fn check_for_delete_async_related() {
696710 causality_region : CausalityRegion :: ONCHAIN ,
697711 } ;
698712 let result = cache. load_related ( & request) . unwrap ( ) ;
699- let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 ) ;
700- let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 ) ;
713+ let wallet_2 = create_wallet_entity ( "2" , & account_id, 92_i32 , 2 ) ;
714+ let wallet_3 = create_wallet_entity ( "3" , & account_id, 192_i32 , 3 ) ;
701715 let expeted_vec = vec ! [ wallet_2, wallet_3] ;
702716
703- assert_eq ! ( result, expeted_vec) ;
717+ assert_eq ! ( result, filter_vid ( expeted_vec) ) ;
704718 } ) ;
705719}
706720
@@ -710,11 +724,11 @@ fn scoped_get() {
710724 // Key for an existing entity that is in the store
711725 let account1 = ACCOUNT_TYPE . parse_id ( "1" ) . unwrap ( ) ;
712726 let key1 = WALLET_TYPE . parse_key ( "1" ) . unwrap ( ) ;
713- let wallet1 = create_wallet_entity ( "1" , & account1, 67 ) ;
727+ let wallet1 = create_wallet_entity ( "1" , & account1, 67 , 1 ) ;
714728
715729 // Create a new entity that is not in the store
716730 let account5 = ACCOUNT_TYPE . parse_id ( "5" ) . unwrap ( ) ;
717- let wallet5 = create_wallet_entity ( "5" , & account5, 100 ) ;
731+ let wallet5 = create_wallet_entity ( "5" , & account5, 100 , 5 ) ;
718732 let key5 = WALLET_TYPE . parse_key ( "5" ) . unwrap ( ) ;
719733 cache. set ( key5. clone ( ) , wallet5. clone ( ) ) . unwrap ( ) ;
720734
0 commit comments