Skip to content

Commit 305459f

Browse files
committed
RDBC-692 BasicCountersIndexes_StrongSyntaxTest::basicMapIndex
1 parent 0ab17c4 commit 305459f

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

ravendb/documents/indexes/counters.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,5 @@ def create_index_definition(self) -> CountersIndexDefinition:
117117
index_definition_builder.priority = self.priority
118118
index_definition_builder.state = self.state
119119
index_definition_builder.deployment_mode = self.deployment_mode
120+
121+
return index_definition_builder.to_index_definition(self.conventions)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
from ravendb.documents.indexes.counters import AbstractCountersIndexCreationTask
2+
from ravendb.infrastructure.orders import Company
3+
from ravendb.tests.test_base import TestBase
4+
5+
6+
class Result:
7+
def __init__(self, heart_beat: str = None, name: str = None, user: str = None):
8+
self.heart_beat = heart_beat
9+
self.name = name
10+
self.user = user
11+
12+
13+
class MyCounterIndex(AbstractCountersIndexCreationTask):
14+
def __init__(self):
15+
super(MyCounterIndex, self).__init__()
16+
self.map = (
17+
"counters.Companies.HeartRate.Select(counter => new {\n"
18+
" heartBeat = counter.Value,\n"
19+
" name = counter.Name,\n"
20+
" user = counter.DocumentId\n"
21+
"})"
22+
)
23+
24+
25+
class TestBasicCountersIndexes_StrongSyntax(TestBase):
26+
def setUp(self):
27+
super(TestBasicCountersIndexes_StrongSyntax, self).setUp()
28+
29+
def test_basic_map_index(self):
30+
with self.store.open_session() as session:
31+
company = Company()
32+
session.store(company, "companies/1")
33+
session.counters_for_entity(company).increment("HeartRate", 7)
34+
session.save_changes()
35+
36+
my_counter_index = MyCounterIndex()
37+
my_counter_index.execute(self.store)
38+
39+
self.wait_for_indexing(self.store)
40+
41+
with self.store.open_session() as session:
42+
results = list(session.query_index_type(MyCounterIndex, Result))
43+
self.assertEqual(1, len(results))
44+
45+
result = results[0]
46+
47+
self.assertEqual(7, result.heart_beat)
48+
self.assertEqual("companies/1", result.user)
49+
self.assertEqual("HeartRate", result.name)

0 commit comments

Comments
 (0)