Skip to content

Commit b827546

Browse files
committed
Add some tests for congress and capitolwords that fail to known bugs. Poorly written tests.
1 parent 49020c4 commit b827546

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

test_sunlight.py

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
try:
2+
import unittest2 as unittest
3+
except ImportError:
4+
import unittest
5+
6+
import sunlight
7+
8+
9+
class TestCongress(unittest.TestCase):
10+
11+
def test_get(self):
12+
resp = sunlight.congress.get([''])
13+
self.assertIsNotNone(resp)
14+
15+
def test__get_url(self):
16+
url = sunlight.congress._get_url(['bills'],
17+
sunlight.config.API_KEY)
18+
19+
expected_url = "{base_url}/bills?apikey={apikey}".format(
20+
base_url='https://congress.api.sunlightfoundation.com',
21+
apikey=sunlight.config.API_KEY)
22+
23+
self.assertEqual(url, expected_url)
24+
25+
def test_legislators(self):
26+
results = sunlight.congress.legislators()
27+
page = results._meta.get('page', None)
28+
self.assertIsNotNone(page)
29+
if page:
30+
self.assertEqual(page.get('page', None), 1)
31+
self.assertEqual(page.get('count', None), 20)
32+
self.assertNotEqual(len(results), 0)
33+
34+
def test_search_bills(self):
35+
results = sunlight.congress.search_bills('Affordable Care Act')
36+
page = results._meta.get('page', None)
37+
self.assertIsNotNone(page)
38+
if page:
39+
self.assertEqual(page.get('page', None), 1)
40+
self.assertEqual(page.get('count', None), 20)
41+
self.assertNotEqual(len(results), 0)
42+
43+
def test_locate_districts_by_zip(self):
44+
results = sunlight.congress.locate_districts_by_zip(27514)
45+
count = results._meta.get('count', None)
46+
self.assertNotEqual(len(results), 0)
47+
self.assertEqual(len(results), count)
48+
49+
50+
class TestCapitolWords(unittest.TestCase):
51+
52+
def setUp(self):
53+
self.phrases_kwargs = {
54+
'entity_type': 'legislator',
55+
'entity_value': 'L000551'
56+
}
57+
58+
def test__get_url(self):
59+
url = sunlight.capitolwords._get_url(['phrases'],
60+
sunlight.config.API_KEY,
61+
**self.phrases_kwargs)
62+
63+
expected_url = '{base_url}/phrases.json?apikey={apikey}&{args}'.format(
64+
base_url='http://capitolwords.org/api/1',
65+
apikey=sunlight.config.API_KEY,
66+
args=sunlight.service.safe_encode(self.phrases_kwargs)).strip('&')
67+
68+
self.assertEqual(url, expected_url)
69+
70+
def test_dates(self):
71+
results = sunlight.capitolwords.dates('Obamacare')
72+
self.assertNotEqual(len(results), 0)
73+
74+
def test_phrases_by_entity(self):
75+
results = sunlight.capitolwords.phrases_by_entity('state', phrase='Obamacare')
76+
self.assertNotEqual(len(results), 0)
77+
78+
def test_legislator_phrases(self):
79+
results = sunlight.capitolwords.phrases(
80+
self.phrases_kwargs['entity_type'],
81+
self.phrases_kwargs['entity_value'])
82+
83+
self.assertNotEqual(len(results), 0)
84+
85+
def test_text(self):
86+
results = sunlight.capitolwords.text('Christmas')
87+
self.assertNotEqual(len(results), 0)
88+
89+
90+
if __name__ == '__main__':
91+
unittest.main()

0 commit comments

Comments
 (0)