/
megaokna43
/
courses_4
Обзор
Документация
Войти
/
megaokna43
/
courses_4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/test_vacancy.py
94 строки
5 KB
megaokna43
проверил работу кода и тестов
14 дек 2024, 21:51
14 дек 2024, 21:51
dda6769
Код
Авторство
О чём код?
import pytest from src.vacancy import Vacancy # загружаю класс Vacancy def test_init(): # Тест создания объектов класса Vacancy vacancy = Vacancy('Бухгалтер', 'Гомель', 1000, 1500, 'https://hh.ru/vacancy/112621234', 'Оприходование товаров.') assert vacancy.name == "Бухгалтер" assert vacancy.city == "Гомель" assert vacancy.salary_from == 1000 assert vacancy.salary_to == 1500 assert vacancy.url == "https://hh.ru/vacancy/112621234" assert vacancy.description == "Оприходование товаров." def test_lt(): """Тест сравнения объектов Vacancy по зарплате""" vacancy1 = Vacancy('Бухгалтер', 'Барнаул', 60000, 80000, 'https://hh.ru/vacancy/112734079', 'Контроль дебиторской задолженности.') vacancy2 = Vacancy('Бухгалтер', 'Гомель', 1000, 1500, 'https://hh.ru/vacancy/112621234', 'Оприходование товаров.') # Проверяем, что vacancy1 больше vacancy2 assert vacancy1.salary_from > vacancy2.salary_from # Сравниваем нижние границы зарплаты assert vacancy1.salary_to > vacancy2.salary_to # Сравниваем верхние границы зарплаты def test_str(): # Тест строкового представления атрибутов класса Vacancy vacancy = Vacancy('Бухгалтер', 'Барнаул', 60000, 80000, 'https://hh.ru/vacancy/112734079', 'Контроль дебиторской задолженности.') expected_str = "Название: Бухгалтер\nГород: Барнаул\nЗарплата: от 60000 до 80000\nОписание: Контроль дебиторской задолженности.\nСсылка: https://hh.ru/vacancy/112734079\n" assert str(vacancy) == expected_str def test_to_dict(): # Тест преобразования атрибутов класса Vacancy в словарь vacancy = Vacancy('Бухгалтер', 'Барнаул', 60000, 80000, 'https://hh.ru/vacancy/112734079', 'Контроль дебиторской задолженности.') expected_dict = { "name": "Бухгалтер", "city": "Барнаул", "salary_from": 60000, "salary_to": 80000, "url": "https://hh.ru/vacancy/112734079", "description": "Контроль дебиторской задолженности." } assert vacancy.to_dict() == expected_dict def test_cast_to_object_list(): # Тест создания списка объектов Vacancy из переданных данных vacancies_data = [ { "name": "Бухгалтер", "area": {"name": "Гомель"}, "salary": {"from": 1000, "to": 1500}, "alternate_url": "https://hh.ru/vacancy/112621234", "snippet": {"responsibility": "Оприходование товаров."} }, { "name": "Менеджер", "area": {"name": "Минск"}, "salary": {"from": 2000, "to": 2500}, "alternate_url": "https://hh.ru/vacancy/112621235", "snippet": {"responsibility": "Управление командой."} }, { "name": "Программист", "area": {"name": "Брест"}, "salary": {"from": 0, "to": 0}, "alternate_url": "https://hh.ru/vacancy/112621236", "snippet": {"responsibility": "Разработка программного обеспечения."} } ] expected_vacancies = [ Vacancy("Бухгалтер", "Гомель", 1000, 1500, "https://hh.ru/vacancy/112621234", "Оприходование товаров."), Vacancy("Менеджер", "Минск", 2000, 2500, "https://hh.ru/vacancy/112621235", "Управление командой."), Vacancy("Программист", "Брест", 0, 0, "https://hh.ru/vacancy/112621236", "Разработка программного обеспечения.") ] vacancies = Vacancy.cast_to_object_list(vacancies_data) assert len(vacancies) == len(expected_vacancies) for i in range(len(vacancies)): assert vacancies[i].name == expected_vacancies[i].name assert vacancies[i].city == expected_vacancies[i].city assert vacancies[i].salary_from == expected_vacancies[i].salary_from assert vacancies[i].salary_to == expected_vacancies[i].salary_to assert vacancies[i].url == expected_vacancies[i].url assert vacancies[i].description == expected_vacancies[i].description def test_cast_to_object_list_empty_data(): # Тест создания списка объектов Vacancy из пустых данных vacancies_data = [] vacancies = Vacancy.cast_to_object_list(vacancies_data) assert len(vacancies) == 0