def test_parse_homework_status(self, random_sid): test_data = { "id": 123, "status": "approved", "homework_name": str(random_sid), "reviewer_comment": "Всё нравится", "date_updated": "2020-02-13T14:40:57Z", "lesson_name": "Итоговый проект" } import homework assert hasattr(homework, 'parse_homework_status'), \ 'Функция `parse_homework_status()` не существует. Не удаляйте её.' assert hasattr(homework.parse_homework_status, '__call__'), \ 'Функция `parse_homework_status()` не существует. Не удаляйте её.' assert len(signature(homework.parse_homework_status).parameters) == 1, \ 'Функция `parse_homework_status()` должна быть с одним параметром.' result = homework.parse_homework_status(test_data) assert result.startswith(f'У вас проверили работу "{random_sid}"'), \ 'Проверьте, что возвращаете название домашней работы в возврате функции parse_homework_status()' assert result.endswith(f'Ревьюеру всё понравилось, можно приступать к следующему уроку.'), \ 'Проверьте, что возвращаете правильный вердикт для статуса approved ' \ 'в возврате функции parse_homework_status()' test_data['status'] = 'rejected' result = homework.parse_homework_status(test_data) assert result.startswith(f'У вас проверили работу "{random_sid}"'), \ 'Проверьте, что возвращаете название домашней работы в возврате функции parse_homework_status()' assert result.endswith(f'К сожалению в работе нашлись ошибки.'), \ 'Проверьте, что возвращаете правильный вердикт для статуса rejected ' \ 'в возврате функции parse_homework_status()'
def test_homework_unexpected_status(self, rq_get): resp = mock.Mock() resp.json = mock.Mock(return_value=UNEXPECTED_HOMEWORK_STATUS_JSON) rq_get.return_value = resp with self.assertRaises(ValueError) as value_error: self.assertEqual( value_error, parse_homework_status(resp.json().get('homeworks')[0]), )
def test_parse_correct_return(self): call = parse_homework_status(JSON['homeworks'][0]) self.assertIsInstance(call, str, 'Parse function returns not string')