|
1 | 1 | from unittest.mock import Mock, patch
|
2 |
| -from nose.tools import assert_is_none, assert_list_equal |
3 |
| -from test003.services import get_todos |
| 2 | +from nose.tools import assert_list_equal, assert_true |
| 3 | +from test003.services import get_uncompleted_todos |
4 | 4 |
|
5 | 5 |
|
6 |
| -@patch('test003.services.requests.get') |
7 |
| -def test_getting_todos_when_response_is_ok(mock_get): |
8 |
| - todos = [{ |
| 6 | +@patch('test003.services.get_todos') |
| 7 | +def test_getting_uncompleted_todos_when_todos_is_not_none(mock_get_todos): |
| 8 | + todo1 = { |
9 | 9 | 'userId': 1,
|
10 | 10 | 'id': 1,
|
11 | 11 | 'title': 'Make the bed',
|
12 | 12 | 'completed': False
|
13 |
| - }] |
| 13 | + } |
| 14 | + todo2 = { |
| 15 | + 'userId': 1, |
| 16 | + 'id': 2, |
| 17 | + 'title': 'Walk the dog', |
| 18 | + 'completed': True |
| 19 | + } |
14 | 20 |
|
15 |
| - mock_get.return_value = Mock(ok=True) |
16 |
| - mock_get.return_value.json.return_value = todos |
17 |
| - response = get_todos() |
18 |
| - assert_list_equal(response.json(), todos) |
| 21 | + mock_get_todos.return_value = Mock() |
| 22 | + mock_get_todos.return_value.json.return_value = [todo1, todo2] |
| 23 | + uncompleted_todos = get_uncompleted_todos() |
| 24 | + assert_true(mock_get_todos.called) |
| 25 | + assert_list_equal(uncompleted_todos, [todo1]) |
19 | 26 |
|
20 | 27 |
|
21 |
| -@patch('test003.services.requests.get') |
22 |
| -def test_getting_todos_when_response_is_not_ok(mock_get): |
23 |
| - mock_get.return_value.ok = False |
24 |
| - response = get_todos() |
25 |
| - assert_is_none(response) |
| 28 | +@patch('test003.services.get_todos') |
| 29 | +def test_getting_uncompleted_todos_when_todos_is_none(mock_get_todos): |
| 30 | + mock_get_todos.return_value = None |
| 31 | + uncompleted_todos = get_uncompleted_todos() |
| 32 | + assert_true(mock_get_todos.called) |
| 33 | + assert_list_equal(uncompleted_todos, []) |
0 commit comments