Skip to content

Commit 2dfce52

Browse files
committed
RDBC-685 SessionCountersTest::sessionChainedIncludeAndIncludeCounter
1 parent b76fb8d commit 2dfce52

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

ravendb/tests/jvm_migrated_tests/client_tests/counters_tests/test_session_counters.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import uuid
22

3-
from ravendb.infrastructure.orders import Company, Order
3+
from ravendb.infrastructure.orders import Company, Order, Employee
44
from ravendb.serverwide.database_record import DatabaseRecord
55
from ravendb.serverwide.operations.common import CreateDatabaseOperation, DeleteDatabaseOperation
66
from ravendb.documents.operations.counters import (
@@ -817,3 +817,43 @@ def test_session_include_counters_should_register_missing_counters(self):
817817

818818
self.assertEqual(1, session.advanced.number_of_requests)
819819

820+
def test_session_chained_include_and_include_counter(self):
821+
with self.store.open_session() as session:
822+
company = Company(name="HR")
823+
session.store(company, "companies/1-A")
824+
825+
employee = Employee(first_name="Aviv")
826+
session.store(employee, "employees/1-A")
827+
828+
order = Order(company="companies/1-A", employee="employees/1-A")
829+
session.store(order, "orders/1-A")
830+
831+
session.counters_for("orders/1-A").increment("likes", 100)
832+
session.counters_for("orders/1-A").increment("dislikes", 200)
833+
session.counters_for("orders/1-A").increment("downloads", 300)
834+
session.save_changes()
835+
836+
with self.store.open_session() as session:
837+
order = session.load(
838+
"orders/1-A",
839+
Order,
840+
lambda i: i.include_counter("likes")
841+
.include_documents("company")
842+
.include_counter("dislikes")
843+
.include_counter("downloads")
844+
.include_documents("employee"),
845+
)
846+
847+
company = session.load(order.company, Company)
848+
self.assertEqual("HR", company.name)
849+
850+
employee = session.load(order.employee, Employee)
851+
self.assertEqual("Aviv", employee.first_name)
852+
853+
dic = session.counters_for_entity(order).get_all()
854+
self.assertEqual(3, len(dic))
855+
self.assertIn(("likes", 100), dic.items())
856+
self.assertIn(("dislikes", 200), dic.items())
857+
self.assertIn(("downloads", 300), dic.items())
858+
859+
self.assertEqual(1, session.advanced.number_of_requests)

0 commit comments

Comments
 (0)