aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2015-12-06 19:34:46 -0800
committerMike Crute <mcrute@gmail.com>2015-12-06 19:34:46 -0800
commit91bcbc07cad57d54bb94cbeeaf90759d8d2df617 (patch)
tree06704cede35204c7c0da73b6f0f69c57f73defb3 /tests
parentc8114a08e846f7da550a3ffe5870dd199e79d6f2 (diff)
downloadpydora-91bcbc07cad57d54bb94cbeeaf90759d8d2df617.tar.bz2
pydora-91bcbc07cad57d54bb94cbeeaf90759d8d2df617.tar.xz
pydora-91bcbc07cad57d54bb94cbeeaf90759d8d2df617.zip
Add tests for PandoraDictListModel
Diffstat (limited to 'tests')
-rw-r--r--tests/test_pandora/test_models.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/test_pandora/test_models.py b/tests/test_pandora/test_models.py
index 0243cc9..faee9a7 100644
--- a/tests/test_pandora/test_models.py
+++ b/tests/test_pandora/test_models.py
@@ -153,3 +153,45 @@ class TestPandoraListModel(TestCase):
153 def test_contains(self): 153 def test_contains(self):
154 self.assertTrue("foo" in self.result) 154 self.assertTrue("foo" in self.result)
155 self.assertTrue(self.result[0] in self.result) 155 self.assertTrue(self.result[0] in self.result)
156
157
158class TestPandoraDictListModel(TestCase):
159
160 JSON_DATA = {
161 "field1": 42,
162 "fieldD1": [
163 { "dictKey": "Foobear",
164 "listKey": [
165 { "idx": "foo", "fieldS1": "Foo" },
166 { "idx": "bar", "fieldS1": "Bar" },
167 ]
168 }
169 ]
170 }
171
172 class TestModel(m.PandoraDictListModel):
173
174 __dict_list_key__ = "fieldD1"
175 __list_key__ = "listKey"
176 __list_model__ = TestSubModel
177 __dict_key__ = "dictKey"
178
179 field1 = m.Field("field1")
180
181 def setUp(self):
182 self.result = self.TestModel.from_json(None, self.JSON_DATA)
183
184 def test_creates_sub_models(self):
185 self.assertEqual(42, self.result.field1)
186
187 self.assertEqual("Foo", self.result["Foobear"][0].fieldS1)
188 self.assertEqual("foo", self.result["Foobear"][0].idx)
189
190 self.assertEqual("Bar", self.result["Foobear"][1].fieldS1)
191 self.assertEqual("bar", self.result["Foobear"][1].idx)
192
193 def test_repr(self):
194 expected = ("TestModel(field1=42, {'Foobear': "
195 "[TestSubModel(fieldS1='Foo', idx='foo'), "
196 "TestSubModel(fieldS1='Bar', idx='bar')]})")
197 self.assertEqual(expected, repr(self.result))