From d6487facf4823a93f7e57ec543a9f5b72e8bd875 Mon Sep 17 00:00:00 2001 From: shmyga Date: Tue, 1 Sep 2026 22:36:44 +0300 Subject: [PATCH] test(yandexweather): add yandexweather tests --- tests/data/yandexweather/__init__.py | 11 +++++ tests/data/yandexweather/details.html | 70 +++++++++++++++++++++++++++ tests/test_yandexweather_api.py | 27 +++++++++++ 3 files changed, 108 insertions(+) create mode 100644 tests/data/yandexweather/__init__.py create mode 100644 tests/data/yandexweather/details.html create mode 100644 tests/test_yandexweather_api.py diff --git a/tests/data/yandexweather/__init__.py b/tests/data/yandexweather/__init__.py new file mode 100644 index 0000000..7ffb87e --- /dev/null +++ b/tests/data/yandexweather/__init__.py @@ -0,0 +1,11 @@ +from pathlib import Path + +from tests.common.mock import MockSource + +YANDEXWEATHER_MOCK_SOURCE = MockSource( + Path(__file__).parent, + { + "details": "details.html", + "suggest": "suggest.json", + }, +) diff --git a/tests/data/yandexweather/details.html b/tests/data/yandexweather/details.html new file mode 100644 index 0000000..82ae951 --- /dev/null +++ b/tests/data/yandexweather/details.html @@ -0,0 +1,70 @@ +Погода в Орле на 10 дней — Прогноз погоды в Орле, на 10 дней
Перейти на главную ЯндексПерейти на главную ЯндексПерейти на главную Яндекс.ПогодаПерейти на главную Яндекс.Погода
Перейти на главную ЯндексПерейти на главную ЯндексПерейти на главную Яндекс.ПогодаПерейти на главную Яндекс.Погода

Погода на 10 дней

— Орёл

  • Сегодня, 1 сентября:
    утром температура воздуха +19°, облачно с прояснениями, скорость ветра 3 м/с, южный, влажность 70%, давление 745 мм рт. ст.
    днём +26°, ощущается как +24°, облачно с прояснениями, скорость ветра 5 м/с, южный, влажность 43%, давление 745 мм рт. ст.
    вечером +22°, ощущается как +20°, облачно с прояснениями, скорость ветра 3,7 м/с, южный, влажность 50%, давление 744 мм рт. ст.
    ночью +18°, ощущается как +16°, небольшой дождь, скорость ветра 3,2 м/с, юго-западный, влажность 64%, давление 744 мм рт. ст.
    уф-индекс: 5, умеренный
    магнитное поле: cлабая буря
    температура воды днём +18°
    восход 05:45
    закат 19:26
    световой день: 13 ч 41 мин

  • Завтра, 2 сентября:
    утром температура воздуха +18°, ощущается как +17°, облачно с прояснениями, скорость ветра 4 м/с, юго-западный, влажность 74%, давление 744 мм рт. ст.
    днём +22°, ощущается как +20°, малооблачно, скорость ветра 4,8 м/с, западный, влажность 49%, давление 744 мм рт. ст.
    вечером +18°, ощущается как +16°, облачно с прояснениями, скорость ветра 3,4 м/с, северо-западный, влажность 58%, давление 745 мм рт. ст.
    ночью +13°, ощущается как +12°, малооблачно, скорость ветра 1,6 м/с, северо-западный, влажность 79%, давление 744 мм рт. ст.
    уф-индекс: 5, умеренный
    магнитное поле: спокойное
    температура воды днём +19°
    восход 05:47
    закат 19:24
    световой день: 13 ч 37 мин

  • Четверг, 3 сентября:
    утром температура воздуха +16°, ощущается как +15°, малооблачно, скорость ветра 2,9 м/с, юго-западный, влажность 73%, давление 745 мм рт. ст.
    днём +21°, ощущается как +19°, небольшой дождь, скорость ветра 3,5 м/с, западный, влажность 50%, давление 744 мм рт. ст.
    вечером +18°, ощущается как +17°, пасмурно, скорость ветра 2 м/с, северо-западный, влажность 63%, давление 745 мм рт. ст.
    ночью +13°, ощущается как +12°, облачно с прояснениями, скорость ветра 1,2 м/с, северо-западный, влажность 84%, давление 744 мм рт. ст.
    уф-индекс: 4, умеренный
    магнитное поле: спокойное
    температура воды днём +17°
    восход 05:48
    закат 19:21
    световой день: 13 ч 33 мин

  • Пятница, 4 сентября:
    утром температура воздуха +15°, малооблачно, скорость ветра 2,2 м/с, юго-западный, влажность 79%, давление 744 мм рт. ст.
    днём +22°, ощущается как +20°, малооблачно, скорость ветра 3,5 м/с, юго-западный, влажность 46%, давление 744 мм рт. ст.
    вечером +19°, ощущается как +17°, малооблачно, скорость ветра 2,2 м/с, юго-западный, влажность 56%, давление 743 мм рт. ст.
    ночью +14°, ощущается как +12°, небольшой дождь, скорость ветра 2,7 м/с, юго-западный, влажность 84%, давление 742 мм рт. ст.
    уф-индекс: 4, умеренный
    магнитное поле: спокойное
    температура воды днём +16°
    восход 05:50
    закат 19:19
    световой день: 13 ч 29 мин

  • Суббота, 5 сентября:
    утром температура воздуха +15°, ощущается как +12°, дождь, скорость ветра 5 м/с, юго-западный, влажность 88%, давление 739 мм рт. ст.
    днём +19°, ощущается как +16°, небольшой дождь, скорость ветра 6,6 м/с, юго-западный, влажность 76%, давление 737 мм рт. ст.
    вечером +18°, ощущается как +15°, малооблачно, скорость ветра 5,5 м/с, юго-западный, влажность 78%, давление 739 мм рт. ст.
    ночью +14°, ощущается как +12°, малооблачно, скорость ветра 3,7 м/с, западный, влажность 88%, давление 739 мм рт. ст.
    уф-индекс: 3, умеренный
    магнитное поле: спокойное
    температура воды днём +17°
    восход 05:52
    закат 19:17
    световой день: 13 ч 25 мин

  • Воскресенье, 6 сентября:
    утром температура воздуха +13°, ощущается как +10°, небольшой дождь, скорость ветра 4,4 м/с, западный, влажность 86%, давление 740 мм рт. ст.
    днём +17°, ощущается как +14°, небольшой дождь, скорость ветра 4,5 м/с, западный, влажность 66%, давление 741 мм рт. ст.
    вечером +14°, ощущается как +12°, небольшой дождь, скорость ветра 3,5 м/с, западный, влажность 81%, давление 742 мм рт. ст.
    ночью +12°, ощущается как +10°, небольшой дождь, скорость ветра 2,7 м/с, западный, влажность 92%, давление 742 мм рт. ст.
    магнитное поле: спокойное
    температура воды днём +16°
    восход 05:53
    закат 19:14
    световой день: 13 ч 21 мин

  • Понедельник, 7 сентября:
    утром температура воздуха +12°, ощущается как +9°, дождь, скорость ветра 4,5 м/с, западный, влажность 88%, давление 744 мм рт. ст.
    днём +16°, ощущается как +12°, небольшой дождь, скорость ветра 5,5 м/с, северо-западный, влажность 64%, давление 744 мм рт. ст.
    вечером +14°, ощущается как +11°, облачно с прояснениями, скорость ветра 4,5 м/с, северо-западный, влажность 72%, давление 745 мм рт. ст.
    ночью +10°, ощущается как +8°, пасмурно, скорость ветра 2,5 м/с, западный, влажность 86%, давление 745 мм рт. ст.
    магнитное поле: спокойное
    температура воды днём +14°
    восход 05:55
    закат 19:12
    световой день: 13 ч 17 мин

  • Вторник, 8 сентября:
    утром температура воздуха +10°, ощущается как +7°, пасмурно, скорость ветра 3,5 м/с, западный, влажность 85%, давление 745 мм рт. ст.
    днём +16°, ощущается как +13°, пасмурно, скорость ветра 4 м/с, западный, влажность 65%, давление 744 мм рт. ст.
    вечером +15°, ощущается как +13°, пасмурно, скорость ветра 2,9 м/с, западный, влажность 74%, давление 744 мм рт. ст.
    ночью +11°, ощущается как +9°, пасмурно, скорость ветра 3,2 м/с, юго-западный, влажность 89%, давление 743 мм рт. ст.
    магнитное поле: спокойное
    температура воды днём +13°
    восход 05:57
    закат 19:09
    световой день: 13 ч 12 мин

  • Среда, 9 сентября:
    утром температура воздуха +13°, ощущается как +10°, пасмурно, скорость ветра 4,5 м/с, юго-западный, влажность 87%, давление 742 мм рт. ст.
    днём +19°, ощущается как +16°, пасмурно, скорость ветра 5,3 м/с, юго-западный, влажность 62%, давление 742 мм рт. ст.
    вечером +17°, ощущается как +14°, облачно с прояснениями, скорость ветра 4,5 м/с, юго-западный, влажность 70%, давление 742 мм рт. ст.
    ночью +14°, ощущается как +12°, малооблачно, скорость ветра 3,7 м/с, юго-западный, влажность 84%, давление 740 мм рт. ст.
    магнитное поле: спокойное
    температура воды днём +14°
    восход 05:58
    закат 19:07
    световой день: 13 ч 9 мин

  • Четверг, 10 сентября:
    утром температура воздуха +15°, ощущается как +12°, облачно с прояснениями, скорость ветра 4,5 м/с, юго-западный, влажность 78%, давление 740 мм рт. ст.
    днём +22°, ощущается как +19°, малооблачно, скорость ветра 6,5 м/с, юго-западный, влажность 59%, давление 739 мм рт. ст.
    вечером +19°, ощущается как +16°, пасмурно, скорость ветра 4,8 м/с, юго-западный, влажность 67%, давление 739 мм рт. ст.
    ночью +13°, ощущается как +10°, облачно с прояснениями, скорость ветра 4,3 м/с, юго-западный, влажность 83%, давление 742 мм рт. ст.
    магнитное поле: спокойное
    температура воды днём +16°
    восход 06:00
    закат 19:05
    световой день: 13 ч 5 мин

\ No newline at end of file diff --git a/tests/test_yandexweather_api.py b/tests/test_yandexweather_api.py new file mode 100644 index 0000000..f4b3767 --- /dev/null +++ b/tests/test_yandexweather_api.py @@ -0,0 +1,27 @@ +import datetime + +import pytest + +from gallery.painting.yandexweather.api import YandexWeatherApi +from tests.common.mock import create_mock_api +from tests.data.yandexweather import YANDEXWEATHER_MOCK_SOURCE + + +@pytest.fixture(name="yandexweather_api", scope="module") +def yandexweather_api_fixture() -> YandexWeatherApi: + return create_mock_api(YandexWeatherApi, YANDEXWEATHER_MOCK_SOURCE) + + +async def test_search(yandexweather_api: YandexWeatherApi): + result = await yandexweather_api.find_locations("test") + assert len(result) == 5 + + +async def test_day(yandexweather_api: YandexWeatherApi): + result = await yandexweather_api.get_day("test", datetime.date.today()) + assert len(result.values) == 4 + + +async def test_days(yandexweather_api: YandexWeatherApi): + result = await yandexweather_api.get_days("test", 10) + assert len(result.values) == 10