@@ -857,3 +857,27 @@ def test_session_chained_include_and_include_counter(self):
857857 self .assertIn (("downloads" , 300 ), dic .items ())
858858
859859 self .assertEqual (1 , session .advanced .number_of_requests )
860+
861+ def test_session_include_counters (self ):
862+ with self .store .open_session () as session :
863+ session .store (Company (name = "HR" ), "companies/1-A" )
864+ session .store (Order (company = "companies/1-A" ), "orders/1-A" )
865+
866+ session .counters_for ("orders/1-A" ).increment ("likes" , 100 )
867+ session .counters_for ("orders/1-A" ).increment ("dislikes" , 200 )
868+
869+ session .save_changes ()
870+
871+ with self .store .open_session () as session :
872+ order = session .load (
873+ "orders/1-A" , Order , lambda i : i .include_documents ("company" ).include_counters (["likes" , "dislikes" ])
874+ )
875+ company = session .load (order .company , Company )
876+ self .assertEqual ("HR" , company .name )
877+
878+ dic = session .counters_for_entity (order ).get_all ()
879+ self .assertEqual (2 , len (dic ))
880+ self .assertIn (("likes" , 100 ), dic .items ())
881+ self .assertIn (("dislikes" , 200 ), dic .items ())
882+
883+ self .assertEqual (1 , session .advanced .number_of_requests )
0 commit comments