Skip to content

Commit e5e2574

Browse files
committed
RDBC-692 BasicCountersIndexes_JavaScript::canMapAllCountersFromCollection
1 parent 4b1d551 commit e5e2574

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

ravendb/tests/jvm_migrated_tests/client_tests/indexing_tests/counters_tests/test_basic_counters_indexes_javascript.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ def __init__(self):
1313
]
1414

1515

16+
class MyCounterIndex_AllCounters(AbstractJavaScriptCountersIndexCreationTask):
17+
def __init__(self):
18+
super(MyCounterIndex_AllCounters, self).__init__()
19+
self.maps = [
20+
"counters.map('Companies', function (counter) {\nreturn {\nheartBeat: counter.Value,\nname: counter.Name,\nuser: counter.DocumentId\n};\n})"
21+
]
22+
23+
1624
class MyMultiMapCounterIndex(AbstractJavaScriptCountersIndexCreationTask):
1725
class Result:
1826
def __init__(self, heart_beat: float = None, name: str = None, user: str = None):
@@ -204,3 +212,32 @@ def test_basic_map_index(self):
204212
terms = self.store.maintenance.send(GetTermsOperation("MyCountersIndex", "name", None))
205213
self.assertEqual(1, len(terms))
206214
self.assertIn("heartrate", terms)
215+
216+
def test_can_map_all_counters_from_collection(self):
217+
with self.store.open_session() as session:
218+
company = Company()
219+
session.store(company, "companies/1")
220+
session.counters_for_entity(company).increment("heartRate", 7)
221+
session.counters_for_entity(company).increment("likes", 3)
222+
session.save_changes()
223+
224+
time_series_index = MyCounterIndex_AllCounters()
225+
index_name = time_series_index.index_name
226+
index_definition = time_series_index.create_index_definition()
227+
228+
time_series_index.execute(self.store)
229+
self.wait_for_indexing(self.store)
230+
231+
terms = self.store.maintenance.send(GetTermsOperation(index_name, "heartBeat", None))
232+
self.assertEqual(2, len(terms))
233+
self.assertIn("7", terms)
234+
self.assertIn("3", terms)
235+
236+
terms = self.store.maintenance.send(GetTermsOperation(index_name, "user", None))
237+
self.assertEqual(1, len(terms))
238+
self.assertIn("companies/1", terms)
239+
240+
terms = self.store.maintenance.send(GetTermsOperation(index_name, "name", None))
241+
self.assertEqual(2, len(terms))
242+
self.assertIn("heartrate", terms)
243+
self.assertIn("likes", terms)

0 commit comments

Comments
 (0)