diff options
author | Mike Crute <mcrute@gmail.com> | 2015-12-06 19:34:46 -0800 |
---|---|---|
committer | Mike Crute <mcrute@gmail.com> | 2015-12-06 19:34:46 -0800 |
commit | 91bcbc07cad57d54bb94cbeeaf90759d8d2df617 (patch) | |
tree | 06704cede35204c7c0da73b6f0f69c57f73defb3 /tests | |
parent | c8114a08e846f7da550a3ffe5870dd199e79d6f2 (diff) | |
download | pydora-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.py | 42 |
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 | |||
158 | class 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)) | ||