Skip to content

Elektrokot/homework3

Repository files navigation

Интернет магазин.

Описание проекта.

Это учебный проект, демонстрирующий работу по созданию интернет магазина. В данный момент в нем практически ничего нет.

  • class Product
    Сохраняет объекты класса Product.

  • class Category
    Сохраняет объекты класса Category.

  • read_json
    Читает JSON файл и возвращает его содержимое в виде словаря.

  • create_objects_from_json
    Создает объекты классов Product и Category из данных JSON.


Дополнительные возможности:

  • Поддержка типизации (mypy-совместимость)

Структура проекта

project_root/
├── data/
│   └── products.json   # Файл с данными о транзакциях
├── src/
│   ├── __init__.py       
│   ├── utils.py          # Функции для работы с JSON
│   ├── main.py           # Модуль содержащий классы Product и Category
├── tests/
│   ├── __init__.py       
│   ├── test_utils.py     # Тесты для проверки работы с JSON
│   ├── test_main.py      # Тесты для проверки классов Product и Category
│   └── conftest.py       # Фикстуры для тестов
└── .env.example          # Файл с API-ключом


Для использования его функционала необходимо:

  1. Установить зависимости:
    poetry add requests
    poetry add python-dotenv

Для тестирования разнообразного поведения входных данных добавлены тесты.

  • В модуле test_main происходит тестирование классов Product и Category, в которые передаются различные верные и неверные данные для проверки работоспособности функций и обработки ошибок.
  • В модуле test_utils происходит тестирование функций read_json и create_objects_from_json.
  • В модуле conftest хранятся данные для тестирования.

Как запускать тесты

pytest --cov # при активированном виртуальном окружении.
poetry run pytest --cov # через poetry.

Требования к окружению

  • Python 3.9+
  • requests — для работы с API
  • python-dotenv — для загрузки переменных окружения
  • mypy (опционально) — для проверки типов

Известные ограничения

  • В разработке

Планы по доработке

  • В разработке

Автор

Константин Чирков
GitHub


Лицензия

MIT License


Этот README предоставляет полное описание проекта, включая новые модули, тесты, структуру и инструкции по использованию. Он написан в информативном и профессиональном стиле, удобен для чтения и понимания.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages