Skip to content

Commit 4b7f944

Browse files
committed
Add tests for congress.legislator method, including lookup by thomas and ocd identifiers.
1 parent 3d5f53e commit 4b7f944

File tree

1 file changed

+46
-4
lines changed

1 file changed

+46
-4
lines changed

test_sunlight.py

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,20 @@
44
import unittest
55

66
import sunlight
7+
from sunlight.service import EntityDict, EntityList
8+
from sunlight.errors import BadRequestException
79

810

911
class TestCongress(unittest.TestCase):
1012

11-
def test_get(self):
12-
resp = sunlight.congress.get([''])
13-
self.assertIsNotNone(resp)
13+
def setUp(self):
14+
self.bioguide_id = 'L000551'
15+
self.thomas_id = '01501'
16+
self.ocd_id = 'ocd-division/country:us/state:ca/cd:13'
17+
18+
def test_get_badpath(self):
19+
with self.assertRaises(BadRequestException):
20+
resp = sunlight.congress.get(['foo', 'bar'])
1421

1522
def test__get_url(self):
1623
url = sunlight.congress._get_url(['bills'],
@@ -32,6 +39,40 @@ def test_pathlist__get_url(self):
3239

3340
self.assertEqual(url, expected_url)
3441

42+
def test_legislator(self):
43+
results = sunlight.congress.legislator(self.bioguide_id)
44+
self.assertIsNotNone(results)
45+
page = results._meta.get('page', None)
46+
self.assertIsNotNone(page)
47+
if page:
48+
self.assertEqual(page.get('page', None), 1)
49+
self.assertEqual(page.get('count', None), 1)
50+
self.assertIsInstance(results, EntityDict)
51+
52+
def test_legislator_thomas_id(self):
53+
results = sunlight.congress.legislator(self.thomas_id, id_type='thomas')
54+
self.assertIsNotNone(results)
55+
page = results._meta.get('page', None)
56+
self.assertIsNotNone(page)
57+
if page:
58+
self.assertEqual(page.get('page', None), 1)
59+
self.assertEqual(page.get('count', None), 1)
60+
self.assertIsInstance(results, EntityDict)
61+
62+
def test_legislator_ocd_id(self):
63+
results = sunlight.congress.legislator(self.ocd_id, id_type='ocd')
64+
self.assertIsNotNone(results)
65+
page = results._meta.get('page', None)
66+
self.assertIsNotNone(page)
67+
if page:
68+
self.assertEqual(page.get('page', None), 1)
69+
self.assertEqual(page.get('count', None), 1)
70+
self.assertIsInstance(results, EntityDict)
71+
72+
def test_legislator_bad_bioguideid(self):
73+
results = sunlight.congress.legislator('foo')
74+
self.assertIsNone(results)
75+
3576
def test_legislators(self):
3677
results = sunlight.congress.legislators()
3778
page = results._meta.get('page', None)
@@ -82,7 +123,8 @@ def test_dates(self):
82123
self.assertNotEqual(len(results), 0)
83124

84125
def test_phrases_by_entity(self):
85-
results = sunlight.capitolwords.phrases_by_entity('state', phrase='Obamacare')
126+
results = sunlight.capitolwords.phrases_by_entity('state',
127+
phrase='Obamacare')
86128
self.assertNotEqual(len(results), 0)
87129

88130
def test_legislator_phrases(self):

0 commit comments

Comments
 (0)