|
1 |
| -import unittest |
| 1 | +# tests |
| 2 | + |
2 | 3 | from project import app
|
| 4 | +import unittest |
3 | 5 |
|
4 |
| -class TestReverse(unittest.TestCase): |
5 | 6 |
|
6 |
| - def setup(self): |
| 7 | +class ReverseCase(unittest.TestCase): |
| 8 | + |
| 9 | + def setUp(self): |
7 | 10 | app.config['WTF_CSRF_ENABLED'] = False
|
8 |
| - app.config['DEBUG'] = False |
9 | 11 | self.app = app.test_client()
|
10 | 12 |
|
11 |
| - def test_if_user_can_access_the_first_page(self): |
| 13 | + def tearDown(self): |
| 14 | + app.config['WTF_CSRF_ENABLED'] = True |
| 15 | + |
| 16 | + def test_homepage_exists(self): |
12 | 17 | response = self.app.get('/')
|
13 | 18 | self.assertEqual(response.status_code, 200)
|
14 |
| - |
15 |
| - |
16 |
| - def test_if_page_redirects_and_string_is_reversed(self): |
17 |
| - test_string = 'Hello' |
18 |
| - response = self.app.post('/', data=dict(reverse=test_string, follow_redirects=True)) |
19 |
| - self.assertIn(b'olleH',response.data) |
| 19 | + self.assertIn(b'Reverse this text', response.data) |
20 | 20 |
|
| 21 | + def test_text_is_reversed(self): |
| 22 | + response = self.app.get('/reversed_input/HelloWorld') |
| 23 | + self.assertIn(b'dlroWolleH', response.data) |
21 | 24 |
|
22 |
| - def test_prompt_the_user_to_input_string(self): |
23 |
| - response = self.app.post('/', data=dict(reverse='', follow_redirects=True)) |
| 25 | + def test_users_must_enter_string(self): |
| 26 | + response = self.app.post( |
| 27 | + '/', |
| 28 | + data=dict(reverse='', follow_redirects=True) |
| 29 | + ) |
24 | 30 | self.assertIn(b'This field is required', response.data)
|
25 | 31 |
|
26 |
| - def test_prompt_the_user_to_input_atleast_two_lettered_string(self): |
27 |
| - response = self.app.post('/', data=dict(reverse='h', follow_redirects=True)) |
28 |
| - self.assertIn(b'This field is required', response.data) |
| 32 | + def test_users_must_enter_atleast_two_charactered_string(self): |
| 33 | + response = self.app.post( |
| 34 | + '/', |
| 35 | + data=dict(reverse='h', follow_redirects=True) |
| 36 | + ) |
| 37 | + self.assertIn(b'Field must be at least 2 characters long.', response.data) |
29 | 38 |
|
30 |
| - def teardown(self): |
31 |
| - app.config['WTF_CSRF_ENABLED'] = True |
32 |
| - |
| 39 | + def test_redirects_to_output(self): |
| 40 | + response = self.app.post( |
| 41 | + '/', |
| 42 | + data=dict(reverse="Hello",), follow_redirects=True) |
| 43 | + self.assertIn(b'olleH', response.data) |
33 | 44 |
|
34 |
| -if __name__=="__main__": |
| 45 | +if __name__ == '__main__': |
35 | 46 | unittest.main()
|
36 |
| - |
37 |
| - |
|
0 commit comments