Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
135f359
Исправил импорты, упрал в импортах папку praktikum, т.к. ее нет
FomenkoIS Sep 2, 2026
3e918ff
Сделал тесты на set_buns и add_ingredient, с параметризацией, но без …
FomenkoIS Sep 2, 2026
70c0ab0
Тест на добавление двух ингридиентов
FomenkoIS Sep 3, 2026
816d604
Добавил тесты на remove и move ингридиентов
FomenkoIS Sep 3, 2026
7af1953
добавил тест на расчет стоимости бургера без добавок
FomenkoIS Sep 3, 2026
af0e782
Вносил какие то исправления вв тесты на get_price
FomenkoIS Sep 3, 2026
e19dcc9
добавил тесты на get_receipt
FomenkoIS Sep 3, 2026
84ca8a3
добавил параметризацию для тестов get_receipt, которую изначально забыл
FomenkoIS Sep 3, 2026
e6ea993
добавил моки в тесты на get_price
FomenkoIS Sep 3, 2026
a67f7ed
добавил моки для тестов get_receipt
FomenkoIS Sep 3, 2026
07a725d
Добавил моки на последний тест get_receipt, исправил assert в проверк…
FomenkoIS Sep 3, 2026
c842093
Добавил htmlcov и сделал описание в README
FomenkoIS Sep 3, 2026
6353b47
создал папки практикум и тесты, перетащил туда файлы
FomenkoIS Sep 3, 2026
fe730d1
перенесл praktikum.py в папку практикум
FomenkoIS Sep 3, 2026
1d0a571
Добавил __init__ в папку tests и запустил тесты
FomenkoIS Sep 9, 2026
ebfa447
Перенес фикстуру в conftest, статические тестоввые данные в data
FomenkoIS Sep 10, 2026
346d1d1
убрал лишний импорт
FomenkoIS Sep 10, 2026
9661eb0
заменил команду на запуск тестов в README
FomenkoIS Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
venv/
env/
.venv/
__pycache__/
*.pyc
*.pyo
*.pyd
.pytest_cache/
.coverage
.coverage.*
*.cover
.vscode/
.idea/
*.iml
.DS_Store
Thumbs.db
*.log
*.db
*.sqlite
44 changes: 20 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
## Задание 1: Юнит-тесты

### Автотесты для проверки программы, которая помогает заказать бургер в Stellar Burgers

### Реализованные сценарии

Созданы юнит-тесты, покрывающие классы `Bun`, `Burger`, `Ingredient`, `Database`

Процент покрытия 100% (отчет: `htmlcov/index.html`)

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

- `praktikum` - пакет, содержащий код программы
- `tests` - пакет, содержащий тесты, разделенные по классам. Например, `bun_test.py`, `burger_test.py` и т.д.

### Запуск автотестов

**Установка зависимостей**

> `$ pip install -r requirements.txt`

**Запуск автотестов и создание HTML-отчета о покрытии**

> `$ pytest --cov=praktikum --cov-report=html`
Тестирование класса Burger

## Что было сделано
- Реализован класс `Burger` с методами:
- `set_buns` — установка булочки
- `add_ingredient` — добавление ингредиента
- `remove_ingredient` — удаление ингредиента
- `move_ingredient` — перемещение ингредиента
- `get_price` — расчёт стоимости бургера
- `get_receipt` — формирование чека

- Написаны юнит-тесты для класса `Burger` с использованием:
- параметризации
- моков — для классов `Bun` и `Ingredient`

-Достигнуто 100% покрытие кода тестами

Запуск тестов
pip install -r requirements.txt
pytest --cov=praktikum --cov-report=html
6 changes: 6 additions & 0 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import pytest
from praktikum.burger import Burger

@pytest.fixture
def burger():
return Burger()
29 changes: 29 additions & 0 deletions data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from praktikum.ingredient_types import INGREDIENT_TYPE_SAUCE, INGREDIENT_TYPE_FILLING


BUNS = [
("Флюоресцентная булка R2-D3", 988),
("Краторная булка N-200i", 1255)
]


INGREDIENTS_SAUCES = [
(INGREDIENT_TYPE_SAUCE, "Соус Spicy-X", 90),
(INGREDIENT_TYPE_SAUCE, "Соус фирменный Space Sauce", 80),
(INGREDIENT_TYPE_SAUCE, "Соус традиционный галактический", 15),
(INGREDIENT_TYPE_SAUCE, "Соус с шипами Антарианского плоскоходца", 88)
]

INGREDIENTS_FILLING = [
(INGREDIENT_TYPE_FILLING, "Мясо бессмертных моллюсков Protostomia", 1337),
(INGREDIENT_TYPE_FILLING, "Говяжий метеорит (отбивная)", 3000),
(INGREDIENT_TYPE_FILLING, "Биокотлета из марсианской Магнолии", 424),
(INGREDIENT_TYPE_FILLING, "Филе Люминесцентного тетраодонтимформа", 988),
(INGREDIENT_TYPE_FILLING, "Хрустящие минеральные кольца", 300),
(INGREDIENT_TYPE_FILLING, "Плоды Фалленианского дерева", 874),
(INGREDIENT_TYPE_FILLING, "Кристаллы марсианских альфа-сахаридов", 762),
(INGREDIENT_TYPE_FILLING, "Мини-салат Экзо-Плантаго", 4400),
(INGREDIENT_TYPE_FILLING, "Сыр с астероидной плесенью", 4142)
]

ALL_INGREDIENTS = INGREDIENTS_SAUCES + INGREDIENTS_FILLING
145 changes: 145 additions & 0 deletions htmlcov/burger_py.html

Large diffs are not rendered by default.

221 changes: 221 additions & 0 deletions htmlcov/class_index.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading