|
1 | | -# import pytest |
| 1 | +from catinabox.catgenerator import get_name, get_birthday |
| 2 | +from catinabox import catgenerator |
2 | 3 |
|
3 | | -# from catinabox import catgenerator |
4 | 4 |
|
| 5 | +def test_get_name(mocker): |
| 6 | + mock_get = mocker.patch('requests.get', autospec=True) |
| 7 | + mock_get.return_value.json.return_value = (['tim'],) |
| 8 | + assert get_name() == ['tim'] |
5 | 9 |
|
6 | | -# Write tests for the refactored `catinabox.catgenerator` |
7 | 10 |
|
8 | | -def test__(): |
9 | | - pass |
| 11 | +def test_get_birthday(mocker): |
| 12 | + mock_time = mocker.patch('time.time', autospec=True) |
| 13 | + mock_time.side_effect = (catgenerator.SECONDS_IN_YEAR * 35,) |
| 14 | + mock_bday = mocker.patch('random.randint') |
| 15 | + mock_bday.return_value = catgenerator.SECONDS_IN_YEAR * 2 |
| 16 | + assert catgenerator.get_birthday() == "1972-01-01 11:00:00" |
| 17 | + mock_bday.assert_called_with(catgenerator.SECONDS_IN_YEAR * 5, |
| 18 | + catgenerator.SECONDS_IN_YEAR * 35) |
| 19 | + |
| 20 | + |
| 21 | +def test_cat_generator(mocker): |
| 22 | + mock_name = mocker.patch.object(get_name, autospec=True) |
| 23 | + mock_name.side_effect = ["David", "Moe"] |
| 24 | + mock_bday = mocker.patch.object(get_birthday) |
| 25 | + mock_bday.return_value = 'birthday' |
| 26 | + catgen = catgenerator.cat_generator() |
| 27 | + assert next(catgen) == {"name" : "David", |
| 28 | + "birthday": "birthday"} |
| 29 | + assert next(catgen) == {"name" : "Moe", |
| 30 | + "birthday": "birthday"} |
0 commit comments