diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 000000000..ad7529770 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,57 @@ +name: Unit Tests + +on: + push: + branches: [ "main", "develop1" ] + pull_request: + branches: [ "main", "develop1" ] + +permissions: + contents: write + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Run Unit tests with Coverage + run: pytest --cov=praktikum --cov-report=term-missing + continue-on-error: true + + - name: Get Allure history + uses: actions/checkout@v4 + if: always() + continue-on-error: true + with: + ref: gh-pages + path: gh-pages + + - name: Allure Report Action + uses: simple-elf/allure-report-action@master + if: always() + with: + allure_results: allure-results + allure_history: allure-history + keep_reports: 20 + + - name: Deploy report to Github Pages + if: always() + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: allure-history + publish_branch: gh-pages + force_orphan: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..f640d9526 --- /dev/null +++ b/.gitignore @@ -0,0 +1,165 @@ +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +.idea/ + allure-results/ + allure-report/ diff --git a/README.md b/README.md index 272081708..cc1f4c9f1 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,131 @@ -## Задание 1: Юнит-тесты +# 🍔 Stellar Burgers: Unit Testing Framework (Part 1) -### Автотесты для проверки программы, которая помогает заказать бургер в Stellar Burgers +![CI/CD Status](https://github.com/AlyaSmirnova/Diplom_1/actions/workflows/unit-tests.yml/badge.svg?branch=main) +[![Python Version](https://img.shields.io/badge/python-3.11-blue)](https://www.python.org) +[![Coverage](https://img.shields.io/badge/Coverage-90%25-brightgreen)](https://github.com) +[![Tests](https://img.shields.io/badge/Tests-Pytest-blue?logo=pytest\&logoColor=white)](https://docs.pytest.org/) +[![Reports](https://img.shields.io/badge/Reports-Allure-orange?logo=allure)](https://github.com) -### Реализованные сценарии +## ✅ Table of Contents +1. [Description](#-description) +2. [Tech Stack & Tools](#-tech-stack-&-tools) +3. [Project Architecture](#-project-architecture) +4. [Allure Reporting Features](#-allure-reporting-features) +5. [Test Coverage](#-test-coverage) +6. [Execution Guide](#-execution-guide) +7. [CI/CD Workflow](#-cicd-workflow) -Созданы юнит-тесты, покрывающие классы `Bun`, `Burger`, `Ingredient`, `Database` +## 💫 Description +This is the first part of the graduation project: a comprehensive **Unit Testing** suite for the **Stellar Burgers** application. +The goal of this framework is to ensure the reliability of core business logic, including burger assembly, ingredient management, and price calculation, achieving **100% code coverage**. -Процент покрытия 100% (отчет: `htmlcov/index.html`) +## Tech Stack & Tools +- **Language:** Python 3.13+ +- **Testing Framework:** [Pytest](https://docs.pytest.org/) +- **Isolation:** [Unittest.Mock](https://docs.python.org) (for mocking dependencies) +- **Coverage Tool:** [Pytest-cov](https://pypi.org/project/pytest-cov/) +- **Reporting:** Allure Framework +- **CI/CD:** GitHub Actions -### Структура проекта +## Project Architecture +```text +Diplom_1/ + ├── .github/workflows/ # CI/CD pipeline configuration + ├── allure-results/ # Raw test execution data (generated after run) + ├── praktikum # Source code (Business logic) + │ ├── burger.py + │ ├── database.py + │ ├── ingredient.py + │ ├── ingredient_types.py + │ ├── order_queue_page.py + │ + ├── tests/ # Unit test scenarios + │ ├── test_bun.py + │ ├── test_burger.py + │ ├── test_database.py + │ ├── test_ingredient.py + │ + ├── conftest.py # Fixtures + ├── pytest.ini # Pytest & Allure configuration + ├── requirements.txt # Project dependencies + └── README.md # Comprehensive project documentation +``` -- `praktikum` - пакет, содержащий код программы -- `tests` - пакет, содержащий тесты, разделенные по классам. Например, `bun_test.py`, `burger_test.py` и т.д. +## 📊 Allure Reporting Features +The project is integrated with the **Allure Framework** to provide high-level visibility into the unit testing process. Key features include: -### Запуск автотестов +* **Class-Based Grouping:** Tests are logically organized by **Features** corresponding to core classes (`Bun`, `Ingredient`, `Burger`, `Database`), making it easy to navigate the test suite. +* **Dynamic Documentation:** Uses `@allure.title` and `@allure.description` to transform technical test methods into clear, readable business requirements. +* **Execution Transparency:** Detailed logging for complex assembly logic in the `Burger` class, ensuring that every step of the burger construction is tracked. +* **Validation Details:** Comprehensive error messages and attribute verification are captured in the report, simplifying the debugging process. +* **Scalable Reporting:** Ready for integration with CI/CD tools to track test history and stability over time. -**Установка зависимостей** +## 🧪 Test Coverage +The suite provides **100% code coverage** for the core logic of the **Stellar Burgers** application, ensuring every method and boundary case is validated: +### 1. Bun Class +* **Constructor Validation:** Ensuring the name and price are set correctly and have the proper data types (`str` and `float`). +* **Method Verification:** Testing `get_name()` and `get_price()` for accurate data retrieval. + +### 2. Ingredient Class +* **Initialization:** Verifying the correct assignment of ingredient types (Sauce/Filling), names, and prices. +* **Getters Testing:** Confirming that `get_name()`, `get_price()`, and `get_type()` return the expected values. + +### 3. Burger Class (Complex Logic & Mocking) +* **Assembly Operations:** + * Successful addition and removal of ingredients using **Mock objects** to isolate tests from the `Ingredient` class. + * Verification of the `move_ingredient()` method to ensure correct reordering within the list. +* **Pricing Engine:** Testing `get_price()` with **Mocking** and **Patching** to verify the calculation formula: `(Bun Price * 2) + Sum of Ingredients`. +* **Receipt Generation:** Validating the output format of the `get_receipt()` method, ensuring all components are displayed correctly in the final string. + +### 4. Database Class +* **Data Integrity:** Verification that the database returns the correct pre-defined list of 3 buns and 6 ingredients. +* **List Validation:** Checking that `available_buns()` and `available_ingredients()` return lists of the expected size and content. + +## 🚀 Execution Guide + +### 1. Environment Setup +Clone the repository and set up a local virtual environment to ensure dependency isolation: + +1. **Clone repository** +> ```bash +> git clone https://github.com/AlyaSmirnova/Diplom_1 +> cd Diplom_1 +📦 Repository: [Sprint_5](https://github.com/AlyaSmirnova/Diplom_1) + +2. **Create a virtual environment** +> ```bash +> python -m venv venv + +3. **Activate the virtual environment** +> ```bash +> source venv/bin/activate + +4. **Install required dependencies** > `$ pip install -r requirements.txt` -**Запуск автотестов и создание HTML-отчета о покрытии** +### 2. Running Tests +The framework is pre-configured via `pytest.ini`. You can execute the full test suite with a single command: +> ```bash +> pytest + +### 3. Code Coverage Analysis +To verify that the tests provide 100% code coverage, run the following command: +> ```bash +> pytest --cov=praktikum --cov-report=term-missing + +### 4. Generating Allure Report +To transform the test results into a visual, interactive HTML report: +> ```bash +> allure serve allure-results + +## ⚙️ CI/CD Workflow +The project is fully automated using **GitHub Actions**. Upon every `push` to the **main** branch or any `Pull Request` creation: + +1. **Environment Provisioning:** A clean **Ubuntu** runner is initialized in the cloud environment. +2. **Dependency Management:** The Python **3.13** environment is set up, and all required libraries (`Pytest`, `Pytest-cov`, `Allure`) are installed from `requirements.txt`. +3. **Automated Unit Testing:** Execution of the full test suite to ensure that all core business logic functions correctly. +4. **Coverage Analysis:** Automated check of **Code Coverage** (100% target) to ensure no untested logic reaches the repository. +5. **Allure Artifact Generation:** Test results and execution logs are collected to prepare a comprehensive **Allure report**. +6. **Status Badges:** Real-time feedback on build success and coverage percentage is provided via GitHub status badges. -> `$ pytest --cov=praktikum --cov-report=html` diff --git a/allure-results/016589e0-1590-4d7a-a3f5-48f35570d364-result.json b/allure-results/016589e0-1590-4d7a-a3f5-48f35570d364-result.json new file mode 100644 index 000000000..7f227b7e0 --- /dev/null +++ b/allure-results/016589e0-1590-4d7a-a3f5-48f35570d364-result.json @@ -0,0 +1 @@ +{"name": "Successfully create an ingredient and verify attributes", "status": "passed", "start": 1773492481787, "stop": 1773492481787, "uuid": "d67a1175-de0e-49ce-a3f7-01329c19d61d", "historyId": "5b9a54ac28f62363619a289e19c604aa", "testCaseId": "5b9a54ac28f62363619a289e19c604aa", "fullName": "tests.test_ingredient.TestIngredient#test_create_ingredient_is_successfil", "labels": [{"name": "feature", "value": "Ingredient Logic"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_ingredient"}, {"name": "subSuite", "value": "TestIngredient"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_ingredient"}], "titlePath": ["tests", "test_ingredient.py", "TestIngredient"]} \ No newline at end of file diff --git a/allure-results/0469cb7b-b017-44d9-a00e-822f03724a00-result.json b/allure-results/0469cb7b-b017-44d9-a00e-822f03724a00-result.json new file mode 100644 index 000000000..6679594c9 --- /dev/null +++ b/allure-results/0469cb7b-b017-44d9-a00e-822f03724a00-result.json @@ -0,0 +1 @@ +{"name": "Remove ingredient successfully using Mock", "status": "passed", "start": 1773492481759, "stop": 1773492481759, "uuid": "58138ec2-9d34-446a-88b2-1b3d9cb86c3c", "historyId": "ee8f1f7603ffc3a6583ba1185f330531", "testCaseId": "ee8f1f7603ffc3a6583ba1185f330531", "fullName": "tests.test_burger.TestBurger#test_remove_ingredient_as_mock_success", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/04c47101-786f-4432-8761-eca3d9b88486-container.json b/allure-results/04c47101-786f-4432-8761-eca3d9b88486-container.json new file mode 100644 index 000000000..7f1d2620a --- /dev/null +++ b/allure-results/04c47101-786f-4432-8761-eca3d9b88486-container.json @@ -0,0 +1 @@ +{"uuid": "1d7c5007-cc66-4e6f-a3ea-c719ba1e85c2", "befores": [{"name": "index", "status": "passed", "start": 1773492481783, "stop": 1773492481783}], "start": 1773492481783, "stop": 1773492481783} \ No newline at end of file diff --git a/allure-results/053c2093-6f90-4040-bf51-f98bbd4c30a3-result.json b/allure-results/053c2093-6f90-4040-bf51-f98bbd4c30a3-result.json new file mode 100644 index 000000000..900865e04 --- /dev/null +++ b/allure-results/053c2093-6f90-4040-bf51-f98bbd4c30a3-result.json @@ -0,0 +1 @@ +{"name": "Check get_price() method returns correct value", "status": "passed", "start": 1773492481746, "stop": 1773492481746, "uuid": "2ad3419b-49f4-458b-b631-add0a1151479", "historyId": "33c15517578a45ce5714eace7a5b1a6c", "testCaseId": "33c15517578a45ce5714eace7a5b1a6c", "fullName": "tests.test_bun.TestBun#test_get_price_returns_correct_value", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/09f97d2a-7eca-427c-97bc-14ea095cc617-container.json b/allure-results/09f97d2a-7eca-427c-97bc-14ea095cc617-container.json new file mode 100644 index 000000000..d9e813785 --- /dev/null +++ b/allure-results/09f97d2a-7eca-427c-97bc-14ea095cc617-container.json @@ -0,0 +1 @@ +{"uuid": "87276cd3-001a-461f-ab87-005407c9ebae", "children": ["1377addc-05a3-443a-ac13-cd0d940408dc"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481785, "stop": 1773492481785}], "start": 1773492481785, "stop": 1773492481786} \ No newline at end of file diff --git a/allure-results/0afad75c-b225-43ca-a8dd-885536661b8d-result.json b/allure-results/0afad75c-b225-43ca-a8dd-885536661b8d-result.json new file mode 100644 index 000000000..29b65c61c --- /dev/null +++ b/allure-results/0afad75c-b225-43ca-a8dd-885536661b8d-result.json @@ -0,0 +1 @@ +{"name": "Set bun using Mock object", "status": "passed", "start": 1773492481751, "stop": 1773492481752, "uuid": "739a7025-71da-46ae-9a87-c8a025f3520b", "historyId": "6dd204c147380aee1cfc63563f8edb8c", "testCaseId": "6dd204c147380aee1cfc63563f8edb8c", "fullName": "tests.test_burger.TestBurger#test_set_buns_return_correct_bun", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/0c312448-b125-48f3-94ac-5b076ef349c0-result.json b/allure-results/0c312448-b125-48f3-94ac-5b076ef349c0-result.json new file mode 100644 index 000000000..d0e70357b --- /dev/null +++ b/allure-results/0c312448-b125-48f3-94ac-5b076ef349c0-result.json @@ -0,0 +1 @@ +{"name": "Verify get_receipt() formatting", "status": "passed", "start": 1773492481767, "stop": 1773492481767, "uuid": "9ebc7b36-771d-4d65-abb9-d8cdc5e61073", "historyId": "5bf52d3a38b900560c9be02b6a5d981c", "testCaseId": "5bf52d3a38b900560c9be02b6a5d981c", "fullName": "tests.test_burger.TestBurger#test_get_receipt", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/0f547d4e-63a5-4b3a-897e-3eafd1bc30c7-result.json b/allure-results/0f547d4e-63a5-4b3a-897e-3eafd1bc30c7-result.json new file mode 100644 index 000000000..ba0f5331a --- /dev/null +++ b/allure-results/0f547d4e-63a5-4b3a-897e-3eafd1bc30c7-result.json @@ -0,0 +1 @@ +{"name": "Verify get_name() returns the correct value", "status": "passed", "start": 1773492481789, "stop": 1773492481789, "uuid": "be972ca3-8327-4813-9885-631520777a82", "historyId": "1bc7a4eb2b1d02efe05268fa0181c788", "testCaseId": "1bc7a4eb2b1d02efe05268fa0181c788", "fullName": "tests.test_ingredient.TestIngredient#test_get_name_return_correct_name", "labels": [{"name": "feature", "value": "Ingredient Logic"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_ingredient"}, {"name": "subSuite", "value": "TestIngredient"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_ingredient"}], "titlePath": ["tests", "test_ingredient.py", "TestIngredient"]} \ No newline at end of file diff --git a/allure-results/1a781e36-400b-4937-b12a-6e6a55db7a05-container.json b/allure-results/1a781e36-400b-4937-b12a-6e6a55db7a05-container.json new file mode 100644 index 000000000..495e2a4e2 --- /dev/null +++ b/allure-results/1a781e36-400b-4937-b12a-6e6a55db7a05-container.json @@ -0,0 +1 @@ +{"uuid": "6086fab3-a092-4661-a5e3-8b6c089daf2f", "befores": [{"name": "index", "status": "passed", "start": 1773492481771, "stop": 1773492481771}], "start": 1773492481771, "stop": 1773492481771} \ No newline at end of file diff --git a/allure-results/1ca5e295-dbc6-4327-9a54-efb8e30f5d45-result.json b/allure-results/1ca5e295-dbc6-4327-9a54-efb8e30f5d45-result.json new file mode 100644 index 000000000..9145d5d44 --- /dev/null +++ b/allure-results/1ca5e295-dbc6-4327-9a54-efb8e30f5d45-result.json @@ -0,0 +1 @@ +{"name": "Add ingredient successfully using Mock", "status": "passed", "start": 1773492481757, "stop": 1773492481757, "uuid": "8e396983-ae1d-43dd-9034-6933d31a85b9", "historyId": "470e54296e45b428ad46af4f711515b2", "testCaseId": "470e54296e45b428ad46af4f711515b2", "fullName": "tests.test_burger.TestBurger#test_add_ingredient_as_mock_success", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/2063b56e-2af7-4382-ad89-fa7d9e80f008-container.json b/allure-results/2063b56e-2af7-4382-ad89-fa7d9e80f008-container.json new file mode 100644 index 000000000..8cfe5b783 --- /dev/null +++ b/allure-results/2063b56e-2af7-4382-ad89-fa7d9e80f008-container.json @@ -0,0 +1 @@ +{"uuid": "515a5206-5587-48b0-a9bf-508e7b57ef96", "befores": [{"name": "index", "status": "passed", "start": 1773492481777, "stop": 1773492481777}], "start": 1773492481777, "stop": 1773492481777} \ No newline at end of file diff --git a/allure-results/20fb2037-0e2c-4b6d-8a9b-ed6699a6004a-container.json b/allure-results/20fb2037-0e2c-4b6d-8a9b-ed6699a6004a-container.json new file mode 100644 index 000000000..47e419fcf --- /dev/null +++ b/allure-results/20fb2037-0e2c-4b6d-8a9b-ed6699a6004a-container.json @@ -0,0 +1 @@ +{"uuid": "675bd966-888f-49d1-812e-430e0a418c09", "children": ["3c261c09-c68d-477b-bcf9-29b9111d3009"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481780, "stop": 1773492481780}], "start": 1773492481780, "stop": 1773492481780} \ No newline at end of file diff --git a/allure-results/271e8fc1-77e9-465a-9921-bb1ae41ebbff-result.json b/allure-results/271e8fc1-77e9-465a-9921-bb1ae41ebbff-result.json new file mode 100644 index 000000000..3ab0110d9 --- /dev/null +++ b/allure-results/271e8fc1-77e9-465a-9921-bb1ae41ebbff-result.json @@ -0,0 +1 @@ +{"name": "Check bun price is set correctly in constructor", "status": "passed", "start": 1773492481744, "stop": 1773492481744, "uuid": "822831af-f33e-4b72-a7a4-26be98ebc3e6", "historyId": "009582089a308f7345618bad1deab6ea", "testCaseId": "009582089a308f7345618bad1deab6ea", "fullName": "tests.test_bun.TestBun#test_price_of_bun_return_correct", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/29296b51-8fb5-4ef7-ada5-4f35f0d9d0b7-container.json b/allure-results/29296b51-8fb5-4ef7-ada5-4f35f0d9d0b7-container.json new file mode 100644 index 000000000..04fec2d22 --- /dev/null +++ b/allure-results/29296b51-8fb5-4ef7-ada5-4f35f0d9d0b7-container.json @@ -0,0 +1 @@ +{"uuid": "acc7faed-0e93-4e34-beb4-44b5c973633b", "children": ["7c974132-7725-4f33-8c08-bb20b65b939c"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481777, "stop": 1773492481777}], "start": 1773492481777, "stop": 1773492481778} \ No newline at end of file diff --git a/allure-results/29939162-0275-40e7-bd28-e7387ba4d661-container.json b/allure-results/29939162-0275-40e7-bd28-e7387ba4d661-container.json new file mode 100644 index 000000000..8ca002262 --- /dev/null +++ b/allure-results/29939162-0275-40e7-bd28-e7387ba4d661-container.json @@ -0,0 +1 @@ +{"uuid": "b107fa4f-00b0-4ea5-80d5-a02fa6915521", "children": ["672bcfd7-d19b-4363-b254-12ecbe3cea36"], "befores": [{"name": "database", "status": "passed", "start": 1773492481783, "stop": 1773492481783}], "start": 1773492481783, "stop": 1773492481784} \ No newline at end of file diff --git a/allure-results/2af7cee2-a285-4c8a-b697-9a280b2caa3f-result.json b/allure-results/2af7cee2-a285-4c8a-b697-9a280b2caa3f-result.json new file mode 100644 index 000000000..94da98691 --- /dev/null +++ b/allure-results/2af7cee2-a285-4c8a-b697-9a280b2caa3f-result.json @@ -0,0 +1 @@ +{"name": "Check default bun value is None", "status": "passed", "start": 1773492481748, "stop": 1773492481748, "uuid": "e855ad1a-b6c6-4f34-9fa8-0c68b0a51d1b", "historyId": "0f1913d5a4a7836b6d490d038a49de45", "testCaseId": "0f1913d5a4a7836b6d490d038a49de45", "fullName": "tests.test_burger.TestBurger#test_init_default_value_bun", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/2d7335ad-51ff-4359-aa56-dc4d1a1480c0-container.json b/allure-results/2d7335ad-51ff-4359-aa56-dc4d1a1480c0-container.json new file mode 100644 index 000000000..e37603378 --- /dev/null +++ b/allure-results/2d7335ad-51ff-4359-aa56-dc4d1a1480c0-container.json @@ -0,0 +1 @@ +{"uuid": "c36ec11e-6c04-4ea7-b2c9-9daf5a575611", "children": ["58138ec2-9d34-446a-88b2-1b3d9cb86c3c"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481758, "stop": 1773492481758}], "start": 1773492481758, "stop": 1773492481759} \ No newline at end of file diff --git a/allure-results/2e75d7a3-83bc-4a21-9147-1a03a8689779-container.json b/allure-results/2e75d7a3-83bc-4a21-9147-1a03a8689779-container.json new file mode 100644 index 000000000..b542a35ea --- /dev/null +++ b/allure-results/2e75d7a3-83bc-4a21-9147-1a03a8689779-container.json @@ -0,0 +1 @@ +{"uuid": "776c7a4b-9099-440f-b249-cc7c5cf8ead0", "children": ["523e62f8-77da-44f9-8644-075ff287b198"], "befores": [{"name": "database", "status": "passed", "start": 1773492481770, "stop": 1773492481770}], "start": 1773492481770, "stop": 1773492481772} \ No newline at end of file diff --git a/allure-results/31aae7cf-6576-45a6-8209-4d69d40de81b-result.json b/allure-results/31aae7cf-6576-45a6-8209-4d69d40de81b-result.json new file mode 100644 index 000000000..fe679b445 --- /dev/null +++ b/allure-results/31aae7cf-6576-45a6-8209-4d69d40de81b-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 3", "status": "passed", "parameters": [{"name": "index", "value": "3"}], "start": 1773492481782, "stop": 1773492481782, "uuid": "ab0d957e-dfef-4786-8a19-b282e92ca392", "historyId": "1e47938c18720dccd23ea401682fd6c3", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/33fbf2bd-7849-4fd3-b93c-07cc50ed62a6-container.json b/allure-results/33fbf2bd-7849-4fd3-b93c-07cc50ed62a6-container.json new file mode 100644 index 000000000..b605a895b --- /dev/null +++ b/allure-results/33fbf2bd-7849-4fd3-b93c-07cc50ed62a6-container.json @@ -0,0 +1 @@ +{"uuid": "c8935035-2d63-4924-9acd-501a7ff7d82e", "children": ["672bcfd7-d19b-4363-b254-12ecbe3cea36"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481783, "stop": 1773492481783}], "start": 1773492481783, "stop": 1773492481784} \ No newline at end of file diff --git a/allure-results/38e4f21b-8e6f-4ed8-b31a-c0ebda960b4f-container.json b/allure-results/38e4f21b-8e6f-4ed8-b31a-c0ebda960b4f-container.json new file mode 100644 index 000000000..f9292b37d --- /dev/null +++ b/allure-results/38e4f21b-8e6f-4ed8-b31a-c0ebda960b4f-container.json @@ -0,0 +1 @@ +{"uuid": "850cd2f9-d822-49a6-8ab7-581a901f392a", "children": ["dc75274f-576b-4d87-8011-221a5ee0b148"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481763, "stop": 1773492481763}], "start": 1773492481763, "stop": 1773492481765} \ No newline at end of file diff --git a/allure-results/39ae7616-1261-4d42-9bab-439a943bc497-container.json b/allure-results/39ae7616-1261-4d42-9bab-439a943bc497-container.json new file mode 100644 index 000000000..1ef3454cd --- /dev/null +++ b/allure-results/39ae7616-1261-4d42-9bab-439a943bc497-container.json @@ -0,0 +1 @@ +{"uuid": "84b5aa03-d151-4928-946e-b916fb429c15", "befores": [{"name": "index", "status": "passed", "start": 1773492481774, "stop": 1773492481774}], "start": 1773492481774, "stop": 1773492481774} \ No newline at end of file diff --git a/allure-results/3d1dccd9-1f1a-47bc-af02-2869d52f998b-result.json b/allure-results/3d1dccd9-1f1a-47bc-af02-2869d52f998b-result.json new file mode 100644 index 000000000..1b5e250f3 --- /dev/null +++ b/allure-results/3d1dccd9-1f1a-47bc-af02-2869d52f998b-result.json @@ -0,0 +1 @@ +{"name": "Verify bun data at index: 0", "status": "passed", "parameters": [{"name": "index", "value": "0"}], "start": 1773492481771, "stop": 1773492481771, "uuid": "523e62f8-77da-44f9-8644-075ff287b198", "historyId": "72e07b425d82ec4e1f3a656bd889fc4a", "testCaseId": "056b08df8c8ab1c0b50d14285bcc4fea", "fullName": "tests.test_database.TestDatabase#test_available_buns_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/4745b3de-56c9-4c03-a040-8d7b21b4b77b-container.json b/allure-results/4745b3de-56c9-4c03-a040-8d7b21b4b77b-container.json new file mode 100644 index 000000000..bc80659fb --- /dev/null +++ b/allure-results/4745b3de-56c9-4c03-a040-8d7b21b4b77b-container.json @@ -0,0 +1 @@ +{"uuid": "e61e57ad-bf93-4963-b528-7d3e0e5b662c", "children": ["18bc745a-cffb-422f-9f81-de9380b20842"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481750, "stop": 1773492481750}], "start": 1773492481750, "stop": 1773492481750} \ No newline at end of file diff --git a/allure-results/4c06385b-2d48-457c-b8b1-f3ffd60ae01c-container.json b/allure-results/4c06385b-2d48-457c-b8b1-f3ffd60ae01c-container.json new file mode 100644 index 000000000..fd1302f72 --- /dev/null +++ b/allure-results/4c06385b-2d48-457c-b8b1-f3ffd60ae01c-container.json @@ -0,0 +1 @@ +{"uuid": "4ce78a67-def9-468f-99cf-f8df8b688231", "befores": [{"name": "index", "status": "passed", "start": 1773492481775, "stop": 1773492481775}], "start": 1773492481775, "stop": 1773492481776} \ No newline at end of file diff --git a/allure-results/4e531fe0-ce71-428a-b5aa-3578b4d51345-result.json b/allure-results/4e531fe0-ce71-428a-b5aa-3578b4d51345-result.json new file mode 100644 index 000000000..f37dc2908 --- /dev/null +++ b/allure-results/4e531fe0-ce71-428a-b5aa-3578b4d51345-result.json @@ -0,0 +1 @@ +{"name": "Verify get_price() returns correct total value", "status": "passed", "start": 1773492481763, "stop": 1773492481765, "uuid": "dc75274f-576b-4d87-8011-221a5ee0b148", "historyId": "f79c28894e6a3bbf89a1b503e5caac66", "testCaseId": "f79c28894e6a3bbf89a1b503e5caac66", "fullName": "tests.test_burger.TestBurger#test_get_price_correct_result", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/4faa22d6-52d5-4de2-bb8a-0ff210414dc4-container.json b/allure-results/4faa22d6-52d5-4de2-bb8a-0ff210414dc4-container.json new file mode 100644 index 000000000..aa946aa62 --- /dev/null +++ b/allure-results/4faa22d6-52d5-4de2-bb8a-0ff210414dc4-container.json @@ -0,0 +1 @@ +{"uuid": "d280e973-4be9-4202-ac1b-2faa4b80194a", "children": ["739a7025-71da-46ae-9a87-c8a025f3520b"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481751, "stop": 1773492481751}], "start": 1773492481751, "stop": 1773492481752} \ No newline at end of file diff --git a/allure-results/500c8e74-2528-42cf-a011-ae858f50c75d-result.json b/allure-results/500c8e74-2528-42cf-a011-ae858f50c75d-result.json new file mode 100644 index 000000000..cdc62a803 --- /dev/null +++ b/allure-results/500c8e74-2528-42cf-a011-ae858f50c75d-result.json @@ -0,0 +1 @@ +{"name": "Verify bun data at index: 1", "status": "passed", "parameters": [{"name": "index", "value": "1"}], "start": 1773492481773, "stop": 1773492481773, "uuid": "9eb6ad7b-72fa-4e3c-8866-add45700ef24", "historyId": "dd572c4ff00b6962019d1f782a588d5e", "testCaseId": "056b08df8c8ab1c0b50d14285bcc4fea", "fullName": "tests.test_database.TestDatabase#test_available_buns_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/5775b7a6-ac11-4b97-b9d4-25fefa6b2ce0-container.json b/allure-results/5775b7a6-ac11-4b97-b9d4-25fefa6b2ce0-container.json new file mode 100644 index 000000000..299ab8f2e --- /dev/null +++ b/allure-results/5775b7a6-ac11-4b97-b9d4-25fefa6b2ce0-container.json @@ -0,0 +1 @@ +{"uuid": "c6c52654-eb57-44fb-aedb-17516a6ff9f8", "children": ["3e09bc5d-3197-4911-8c8f-440fa8bd06a3"], "befores": [{"name": "database", "status": "passed", "start": 1773492481769, "stop": 1773492481769}], "start": 1773492481769, "stop": 1773492481770} \ No newline at end of file diff --git a/allure-results/5d6e1319-c202-4954-94e2-a60936046d2e-container.json b/allure-results/5d6e1319-c202-4954-94e2-a60936046d2e-container.json new file mode 100644 index 000000000..e25285846 --- /dev/null +++ b/allure-results/5d6e1319-c202-4954-94e2-a60936046d2e-container.json @@ -0,0 +1 @@ +{"uuid": "52688c63-3e16-4c31-b2f8-97b935f7af17", "befores": [{"name": "index", "status": "passed", "start": 1773492481773, "stop": 1773492481773}], "start": 1773492481773, "stop": 1773492481773} \ No newline at end of file diff --git a/allure-results/63309ee3-5e66-454b-8f64-f7212d500164-container.json b/allure-results/63309ee3-5e66-454b-8f64-f7212d500164-container.json new file mode 100644 index 000000000..b4870d9b7 --- /dev/null +++ b/allure-results/63309ee3-5e66-454b-8f64-f7212d500164-container.json @@ -0,0 +1 @@ +{"uuid": "f8469854-c1c8-4673-b14c-d9b5f6130e76", "children": ["8e396983-ae1d-43dd-9034-6933d31a85b9"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481757, "stop": 1773492481757}], "start": 1773492481757, "stop": 1773492481757} \ No newline at end of file diff --git a/allure-results/6b0ac312-c7c9-44a2-bdc4-5dcb2f94fec4-result.json b/allure-results/6b0ac312-c7c9-44a2-bdc4-5dcb2f94fec4-result.json new file mode 100644 index 000000000..e0a9b9fdd --- /dev/null +++ b/allure-results/6b0ac312-c7c9-44a2-bdc4-5dcb2f94fec4-result.json @@ -0,0 +1 @@ +{"name": "Verify bun data at index: 2", "status": "passed", "parameters": [{"name": "index", "value": "2"}], "start": 1773492481774, "stop": 1773492481774, "uuid": "9eff7ed0-62ee-4659-b7b6-f219c4e995fe", "historyId": "246f0c04209f90a91a32de97fabb4edd", "testCaseId": "056b08df8c8ab1c0b50d14285bcc4fea", "fullName": "tests.test_database.TestDatabase#test_available_buns_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/6b3f17df-5353-471e-a7ee-14e5088cbb04-result.json b/allure-results/6b3f17df-5353-471e-a7ee-14e5088cbb04-result.json new file mode 100644 index 000000000..112ef4dba --- /dev/null +++ b/allure-results/6b3f17df-5353-471e-a7ee-14e5088cbb04-result.json @@ -0,0 +1 @@ +{"name": "Check that there are exactly 3 buns in the database", "status": "passed", "start": 1773492481769, "stop": 1773492481770, "uuid": "3e09bc5d-3197-4911-8c8f-440fa8bd06a3", "historyId": "b7b0878e82a9097e4bcfb42d88e70b15", "testCaseId": "b7b0878e82a9097e4bcfb42d88e70b15", "fullName": "tests.test_database.TestDatabase#test_len_list_buns_is_three", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/6ca809f7-f68b-471a-9636-2f164a291087-result.json b/allure-results/6ca809f7-f68b-471a-9636-2f164a291087-result.json new file mode 100644 index 000000000..3301f5252 --- /dev/null +++ b/allure-results/6ca809f7-f68b-471a-9636-2f164a291087-result.json @@ -0,0 +1 @@ +{"name": "Move ingredient successfully in the list", "status": "passed", "start": 1773492481761, "stop": 1773492481762, "uuid": "31d7c93f-207f-498c-bdcf-ad81d1db6238", "historyId": "00b591d91caee610631e63a467ba7871", "testCaseId": "00b591d91caee610631e63a467ba7871", "fullName": "tests.test_burger.TestBurger#test_move_ingredient_succes", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/6e34ce0b-9c43-4aef-8ae9-d97fcced3000-result.json b/allure-results/6e34ce0b-9c43-4aef-8ae9-d97fcced3000-result.json new file mode 100644 index 000000000..4df76665f --- /dev/null +++ b/allure-results/6e34ce0b-9c43-4aef-8ae9-d97fcced3000-result.json @@ -0,0 +1 @@ +{"name": "Verify get_type() returns the correct value", "status": "passed", "start": 1773492481789, "stop": 1773492481790, "uuid": "de733ffd-e890-4f60-b6ba-5a705f77cc17", "historyId": "bb620bba899620b20127746d3dd82c3c", "testCaseId": "bb620bba899620b20127746d3dd82c3c", "fullName": "tests.test_ingredient.TestIngredient#test_get_type_return_correct_type", "labels": [{"name": "feature", "value": "Ingredient Logic"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_ingredient"}, {"name": "subSuite", "value": "TestIngredient"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_ingredient"}], "titlePath": ["tests", "test_ingredient.py", "TestIngredient"]} \ No newline at end of file diff --git a/allure-results/79dee7cb-c9ad-4de4-9d27-2b2f64c55185-result.json b/allure-results/79dee7cb-c9ad-4de4-9d27-2b2f64c55185-result.json new file mode 100644 index 000000000..77a3ba8df --- /dev/null +++ b/allure-results/79dee7cb-c9ad-4de4-9d27-2b2f64c55185-result.json @@ -0,0 +1 @@ +{"name": "Check that available_buns() returns a list", "status": "passed", "start": 1773492481768, "stop": 1773492481768, "uuid": "ad607287-d24d-4cc1-af0e-63dd38154a90", "historyId": "954b3465dbaacee906e6d222eef5719e", "testCaseId": "954b3465dbaacee906e6d222eef5719e", "fullName": "tests.test_database.TestDatabase#test_available_buns_returns_list", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/7e0b38b2-65b5-4aac-b5d1-4d97306eab1b-container.json b/allure-results/7e0b38b2-65b5-4aac-b5d1-4d97306eab1b-container.json new file mode 100644 index 000000000..b8f4f48d3 --- /dev/null +++ b/allure-results/7e0b38b2-65b5-4aac-b5d1-4d97306eab1b-container.json @@ -0,0 +1 @@ +{"uuid": "8572f804-c466-4c50-806b-d8b685026c12", "children": ["1377addc-05a3-443a-ac13-cd0d940408dc"], "befores": [{"name": "database", "status": "passed", "start": 1773492481785, "stop": 1773492481785}], "start": 1773492481785, "stop": 1773492481786} \ No newline at end of file diff --git a/allure-results/80b30a58-9648-43ed-bfe7-75b3c6bd88a6-result.json b/allure-results/80b30a58-9648-43ed-bfe7-75b3c6bd88a6-result.json new file mode 100644 index 000000000..59ca91c95 --- /dev/null +++ b/allure-results/80b30a58-9648-43ed-bfe7-75b3c6bd88a6-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 2", "status": "passed", "parameters": [{"name": "index", "value": "2"}], "start": 1773492481780, "stop": 1773492481780, "uuid": "3c261c09-c68d-477b-bcf9-29b9111d3009", "historyId": "25e07a4823b267b4512188dbd56f6edb", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/83f5eb70-c765-43aa-b92f-7990bd09d12b-result.json b/allure-results/83f5eb70-c765-43aa-b92f-7990bd09d12b-result.json new file mode 100644 index 000000000..3096f74ec --- /dev/null +++ b/allure-results/83f5eb70-c765-43aa-b92f-7990bd09d12b-result.json @@ -0,0 +1 @@ +{"name": "Check get_name() method returns correct value", "status": "passed", "start": 1773492481745, "stop": 1773492481746, "uuid": "53058849-272b-4d63-8c1e-3ea629ab89e7", "historyId": "52eda4c07c3793915218418a55fab026", "testCaseId": "52eda4c07c3793915218418a55fab026", "fullName": "tests.test_bun.TestBun#test_get_name_returns_correct_value", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/848e251f-97e6-4cb0-8d83-6b435f56f263-result.json b/allure-results/848e251f-97e6-4cb0-8d83-6b435f56f263-result.json new file mode 100644 index 000000000..1cda27382 --- /dev/null +++ b/allure-results/848e251f-97e6-4cb0-8d83-6b435f56f263-result.json @@ -0,0 +1 @@ +{"name": "Check ingredients type is list", "status": "passed", "start": 1773492481750, "stop": 1773492481750, "uuid": "18bc745a-cffb-422f-9f81-de9380b20842", "historyId": "0f9e1c22cd17950ba67fb48149301963", "testCaseId": "0f9e1c22cd17950ba67fb48149301963", "fullName": "tests.test_burger.TestBurger#test_ingredients_type_is_list", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/8ea61dba-260e-4fdb-9ea6-fc15bae825d0-container.json b/allure-results/8ea61dba-260e-4fdb-9ea6-fc15bae825d0-container.json new file mode 100644 index 000000000..50935abd2 --- /dev/null +++ b/allure-results/8ea61dba-260e-4fdb-9ea6-fc15bae825d0-container.json @@ -0,0 +1 @@ +{"uuid": "a800a331-af4b-4f54-9231-fc1908a9cb0c", "children": ["ab0d957e-dfef-4786-8a19-b282e92ca392"], "befores": [{"name": "database", "status": "passed", "start": 1773492481781, "stop": 1773492481781}], "start": 1773492481781, "stop": 1773492481782} \ No newline at end of file diff --git a/allure-results/8f325e7f-ccc5-4dd6-9118-79bce38d51e0-container.json b/allure-results/8f325e7f-ccc5-4dd6-9118-79bce38d51e0-container.json new file mode 100644 index 000000000..25446859e --- /dev/null +++ b/allure-results/8f325e7f-ccc5-4dd6-9118-79bce38d51e0-container.json @@ -0,0 +1 @@ +{"uuid": "e709a0b8-1f65-4dbe-8b90-64436d894b11", "children": ["72081ca0-db86-4a23-aa57-06e82acd9b30"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481755, "stop": 1773492481755}], "start": 1773492481755, "stop": 1773492481756} \ No newline at end of file diff --git a/allure-results/99c508d8-8de7-4f22-b224-fe54112d01d5-container.json b/allure-results/99c508d8-8de7-4f22-b224-fe54112d01d5-container.json new file mode 100644 index 000000000..a6ae27499 --- /dev/null +++ b/allure-results/99c508d8-8de7-4f22-b224-fe54112d01d5-container.json @@ -0,0 +1 @@ +{"uuid": "18562b29-4cee-41cb-9470-91ee3118ecb9", "children": ["9a293896-e661-442a-8d3f-ef348439f3da"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481749, "stop": 1773492481749}], "start": 1773492481749, "stop": 1773492481749} \ No newline at end of file diff --git a/allure-results/9a16b826-a2b9-4e87-9d2b-dd2719e50248-result.json b/allure-results/9a16b826-a2b9-4e87-9d2b-dd2719e50248-result.json new file mode 100644 index 000000000..f44a926dc --- /dev/null +++ b/allure-results/9a16b826-a2b9-4e87-9d2b-dd2719e50248-result.json @@ -0,0 +1 @@ +{"name": "Check bun price data type is float", "status": "passed", "start": 1773492481745, "stop": 1773492481745, "uuid": "c515c9d6-a069-4b4d-bd8d-e4d83af8d8db", "historyId": "dc2dc31fcb620915bf0348fe7e88a06e", "testCaseId": "dc2dc31fcb620915bf0348fe7e88a06e", "fullName": "tests.test_bun.TestBun#test_price_of_bun_is_float", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/a6af4540-99c7-4f7f-a4af-3650d00138bb-container.json b/allure-results/a6af4540-99c7-4f7f-a4af-3650d00138bb-container.json new file mode 100644 index 000000000..553bdfcc5 --- /dev/null +++ b/allure-results/a6af4540-99c7-4f7f-a4af-3650d00138bb-container.json @@ -0,0 +1 @@ +{"uuid": "19fd4af6-2ba4-428a-8ea3-05527a89fb2d", "children": ["7c974132-7725-4f33-8c08-bb20b65b939c"], "befores": [{"name": "database", "status": "passed", "start": 1773492481777, "stop": 1773492481777}], "start": 1773492481777, "stop": 1773492481778} \ No newline at end of file diff --git a/allure-results/ac244405-f7c2-419f-9a77-afa382491dba-container.json b/allure-results/ac244405-f7c2-419f-9a77-afa382491dba-container.json new file mode 100644 index 000000000..2c55ca10d --- /dev/null +++ b/allure-results/ac244405-f7c2-419f-9a77-afa382491dba-container.json @@ -0,0 +1 @@ +{"uuid": "2b3c4c06-4993-413f-a9ef-633244e5abad", "children": ["6804261c-6360-4245-b345-474865674a34"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481775, "stop": 1773492481775}], "start": 1773492481775, "stop": 1773492481776} \ No newline at end of file diff --git a/allure-results/b4817eac-9342-46c6-b31b-fa6d50048a53-result.json b/allure-results/b4817eac-9342-46c6-b31b-fa6d50048a53-result.json new file mode 100644 index 000000000..25c2c1c58 --- /dev/null +++ b/allure-results/b4817eac-9342-46c6-b31b-fa6d50048a53-result.json @@ -0,0 +1 @@ +{"name": "Verify set bun belongs to Bun class", "status": "passed", "start": 1773492481753, "stop": 1773492481753, "uuid": "5fc61c18-a167-46b4-a710-b5e3a2736107", "historyId": "6578b91ea0826ad2d029750f742edafc", "testCaseId": "6578b91ea0826ad2d029750f742edafc", "fullName": "tests.test_burger.TestBurger#test_set_buns_belongs_class_bun", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/b4dd7b04-58e0-4b63-8f03-09e9ed3f8c49-container.json b/allure-results/b4dd7b04-58e0-4b63-8f03-09e9ed3f8c49-container.json new file mode 100644 index 000000000..c9ea27a28 --- /dev/null +++ b/allure-results/b4dd7b04-58e0-4b63-8f03-09e9ed3f8c49-container.json @@ -0,0 +1 @@ +{"uuid": "57a5b532-35ba-45f3-b35b-2adbc7611df7", "children": ["e855ad1a-b6c6-4f34-9fa8-0c68b0a51d1b"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481747, "stop": 1773492481747}], "start": 1773492481747, "stop": 1773492481748} \ No newline at end of file diff --git a/allure-results/b6f38c3f-b95d-4eee-b974-a73130be2b6c-result.json b/allure-results/b6f38c3f-b95d-4eee-b974-a73130be2b6c-result.json new file mode 100644 index 000000000..966ec5e34 --- /dev/null +++ b/allure-results/b6f38c3f-b95d-4eee-b974-a73130be2b6c-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 5", "status": "passed", "parameters": [{"name": "index", "value": "5"}], "start": 1773492481785, "stop": 1773492481785, "uuid": "1377addc-05a3-443a-ac13-cd0d940408dc", "historyId": "c733f07a1374eecc83ed3b8096332eaa", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/bb0fe176-809c-47a6-82a9-1977e59a963d-container.json b/allure-results/bb0fe176-809c-47a6-82a9-1977e59a963d-container.json new file mode 100644 index 000000000..5efa97192 --- /dev/null +++ b/allure-results/bb0fe176-809c-47a6-82a9-1977e59a963d-container.json @@ -0,0 +1 @@ +{"uuid": "b13c3c7d-4136-40a9-8d1d-7410507d32e5", "befores": [{"name": "index", "status": "passed", "start": 1773492481781, "stop": 1773492481781}], "start": 1773492481781, "stop": 1773492481782} \ No newline at end of file diff --git a/allure-results/bbf6e6ea-f750-4fe1-bb29-2515a746665d-container.json b/allure-results/bbf6e6ea-f750-4fe1-bb29-2515a746665d-container.json new file mode 100644 index 000000000..c4b2f064f --- /dev/null +++ b/allure-results/bbf6e6ea-f750-4fe1-bb29-2515a746665d-container.json @@ -0,0 +1 @@ +{"uuid": "372f4508-cf34-4389-b76c-9fa7dc69f98a", "children": ["31d7c93f-207f-498c-bdcf-ad81d1db6238"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481760, "stop": 1773492481761}], "start": 1773492481760, "stop": 1773492481762} \ No newline at end of file diff --git a/allure-results/bea6c275-dda0-44f6-a9ad-f29a5b241ed9-result.json b/allure-results/bea6c275-dda0-44f6-a9ad-f29a5b241ed9-result.json new file mode 100644 index 000000000..a0c180985 --- /dev/null +++ b/allure-results/bea6c275-dda0-44f6-a9ad-f29a5b241ed9-result.json @@ -0,0 +1 @@ +{"name": "Check bun name is set correctly in constructor", "status": "passed", "start": 1773492481741, "stop": 1773492481741, "uuid": "50e80d9f-e1e2-4856-a3ad-8e69ca24b3bd", "historyId": "71440f79c3b29f350e66bcc500d37449", "testCaseId": "71440f79c3b29f350e66bcc500d37449", "fullName": "tests.test_bun.TestBun#test_name_of_bun_return_correct", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/c07023c3-c762-4b1d-acee-babdf7cde520-result.json b/allure-results/c07023c3-c762-4b1d-acee-babdf7cde520-result.json new file mode 100644 index 000000000..e90c73a4b --- /dev/null +++ b/allure-results/c07023c3-c762-4b1d-acee-babdf7cde520-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 4", "status": "passed", "parameters": [{"name": "index", "value": "4"}], "start": 1773492481783, "stop": 1773492481783, "uuid": "672bcfd7-d19b-4363-b254-12ecbe3cea36", "historyId": "747ce5b5b0d0ca021ed20bae8bfdfa3d", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/c1bd192d-0301-4ab6-8bbe-dcbbcc0274f6-result.json b/allure-results/c1bd192d-0301-4ab6-8bbe-dcbbcc0274f6-result.json new file mode 100644 index 000000000..806041770 --- /dev/null +++ b/allure-results/c1bd192d-0301-4ab6-8bbe-dcbbcc0274f6-result.json @@ -0,0 +1 @@ +{"name": "Check bun name data type is string", "status": "passed", "start": 1773492481743, "stop": 1773492481743, "uuid": "03ec0a5c-d90f-4c16-80b2-b2fb08195b77", "historyId": "74f6bdac8398f64b905eb5a8e78239d6", "testCaseId": "74f6bdac8398f64b905eb5a8e78239d6", "fullName": "tests.test_bun.TestBun#test_name_of_bun_is_string", "labels": [{"name": "feature", "value": "Bun"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_bun"}, {"name": "subSuite", "value": "TestBun"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_bun"}], "titlePath": ["tests", "test_bun.py", "TestBun"]} \ No newline at end of file diff --git a/allure-results/c50b3e21-86bb-4973-a36d-47b2ab472654-result.json b/allure-results/c50b3e21-86bb-4973-a36d-47b2ab472654-result.json new file mode 100644 index 000000000..f261120d1 --- /dev/null +++ b/allure-results/c50b3e21-86bb-4973-a36d-47b2ab472654-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 0", "status": "passed", "parameters": [{"name": "index", "value": "0"}], "start": 1773492481776, "stop": 1773492481776, "uuid": "6804261c-6360-4245-b345-474865674a34", "historyId": "e585a5389a76c69b2c71b0798b8650f4", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/c631ffe6-0498-4063-8555-55909566e611-container.json b/allure-results/c631ffe6-0498-4063-8555-55909566e611-container.json new file mode 100644 index 000000000..8157a510d --- /dev/null +++ b/allure-results/c631ffe6-0498-4063-8555-55909566e611-container.json @@ -0,0 +1 @@ +{"uuid": "66ebf662-4c31-4269-b859-fd6c52ab1dff", "children": ["6804261c-6360-4245-b345-474865674a34"], "befores": [{"name": "database", "status": "passed", "start": 1773492481775, "stop": 1773492481775}], "start": 1773492481775, "stop": 1773492481776} \ No newline at end of file diff --git a/allure-results/c68d72e9-c55e-415f-a87e-ef55635d0518-result.json b/allure-results/c68d72e9-c55e-415f-a87e-ef55635d0518-result.json new file mode 100644 index 000000000..f925d7971 --- /dev/null +++ b/allure-results/c68d72e9-c55e-415f-a87e-ef55635d0518-result.json @@ -0,0 +1 @@ +{"name": "Check default ingredients is an empty list", "status": "passed", "start": 1773492481749, "stop": 1773492481749, "uuid": "9a293896-e661-442a-8d3f-ef348439f3da", "historyId": "4d3d80d16b8ac24588b033b5f00dddb5", "testCaseId": "4d3d80d16b8ac24588b033b5f00dddb5", "fullName": "tests.test_burger.TestBurger#test_init_default_value_ingredients", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/c6e4c0a9-1672-41af-a7e0-dd105867883f-result.json b/allure-results/c6e4c0a9-1672-41af-a7e0-dd105867883f-result.json new file mode 100644 index 000000000..690ffccb2 --- /dev/null +++ b/allure-results/c6e4c0a9-1672-41af-a7e0-dd105867883f-result.json @@ -0,0 +1 @@ +{"name": "Verify get_price() returns the correct value", "status": "passed", "start": 1773492481788, "stop": 1773492481788, "uuid": "9c556fcd-008c-4679-bce4-572d2eef3906", "historyId": "b08399416d6b4e92213a58276b9ea55b", "testCaseId": "b08399416d6b4e92213a58276b9ea55b", "fullName": "tests.test_ingredient.TestIngredient#test_get_price_return_correct_price", "labels": [{"name": "feature", "value": "Ingredient Logic"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_ingredient"}, {"name": "subSuite", "value": "TestIngredient"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_ingredient"}], "titlePath": ["tests", "test_ingredient.py", "TestIngredient"]} \ No newline at end of file diff --git a/allure-results/ca2203f2-92f0-4350-8928-9b35a56773c8-result.json b/allure-results/ca2203f2-92f0-4350-8928-9b35a56773c8-result.json new file mode 100644 index 000000000..a6016b5ca --- /dev/null +++ b/allure-results/ca2203f2-92f0-4350-8928-9b35a56773c8-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient belongs to Ingredient class", "status": "passed", "start": 1773492481755, "stop": 1773492481756, "uuid": "72081ca0-db86-4a23-aa57-06e82acd9b30", "historyId": "839998f58e4afc9b31090e2e5b79b3d4", "testCaseId": "839998f58e4afc9b31090e2e5b79b3d4", "fullName": "tests.test_burger.TestBurger#test_ingredient_belongs_class_ingredient", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/cd60eca8-bb92-408c-bacc-92169962b569-container.json b/allure-results/cd60eca8-bb92-408c-bacc-92169962b569-container.json new file mode 100644 index 000000000..323b01ac3 --- /dev/null +++ b/allure-results/cd60eca8-bb92-408c-bacc-92169962b569-container.json @@ -0,0 +1 @@ +{"uuid": "9b22bef1-7f35-4009-b8ad-38b4abb2baea", "children": ["9eff7ed0-62ee-4659-b7b6-f219c4e995fe"], "befores": [{"name": "database", "status": "passed", "start": 1773492481774, "stop": 1773492481774}], "start": 1773492481774, "stop": 1773492481774} \ No newline at end of file diff --git a/allure-results/d44a275c-ef2d-478d-aa07-4948fda1f1e8-container.json b/allure-results/d44a275c-ef2d-478d-aa07-4948fda1f1e8-container.json new file mode 100644 index 000000000..dce7501e1 --- /dev/null +++ b/allure-results/d44a275c-ef2d-478d-aa07-4948fda1f1e8-container.json @@ -0,0 +1 @@ +{"uuid": "3b8cc8ef-3ac5-4c0b-be53-5a09a4017ceb", "children": ["ad607287-d24d-4cc1-af0e-63dd38154a90"], "befores": [{"name": "database", "status": "passed", "start": 1773492481768, "stop": 1773492481768}], "start": 1773492481768, "stop": 1773492481768} \ No newline at end of file diff --git a/allure-results/d585d8c5-0c2d-4cd4-bc85-15f26afafdab-container.json b/allure-results/d585d8c5-0c2d-4cd4-bc85-15f26afafdab-container.json new file mode 100644 index 000000000..8112bc5a1 --- /dev/null +++ b/allure-results/d585d8c5-0c2d-4cd4-bc85-15f26afafdab-container.json @@ -0,0 +1 @@ +{"uuid": "1659c308-26b3-4e7c-ac79-5e800a4e0cb2", "children": ["5fc61c18-a167-46b4-a710-b5e3a2736107"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481752, "stop": 1773492481752}], "start": 1773492481752, "stop": 1773492481753} \ No newline at end of file diff --git a/allure-results/dcc03efc-b6d7-41be-a255-315dd0646c3a-container.json b/allure-results/dcc03efc-b6d7-41be-a255-315dd0646c3a-container.json new file mode 100644 index 000000000..4e89fe242 --- /dev/null +++ b/allure-results/dcc03efc-b6d7-41be-a255-315dd0646c3a-container.json @@ -0,0 +1 @@ +{"uuid": "36e216a5-e54b-4ed5-a266-718077bac7b3", "children": ["ab0d957e-dfef-4786-8a19-b282e92ca392"], "befores": [{"name": "expected_ingredients", "status": "passed", "start": 1773492481781, "stop": 1773492481781}], "start": 1773492481781, "stop": 1773492481782} \ No newline at end of file diff --git a/allure-results/e1d79ae1-b8fe-4c3e-ba5e-b3b9a0efea2a-container.json b/allure-results/e1d79ae1-b8fe-4c3e-ba5e-b3b9a0efea2a-container.json new file mode 100644 index 000000000..bf63dd96a --- /dev/null +++ b/allure-results/e1d79ae1-b8fe-4c3e-ba5e-b3b9a0efea2a-container.json @@ -0,0 +1 @@ +{"uuid": "4e8eebcb-d7e3-460a-b4e4-381b95b30792", "befores": [{"name": "index", "status": "passed", "start": 1773492481785, "stop": 1773492481785}], "start": 1773492481785, "stop": 1773492481785} \ No newline at end of file diff --git a/allure-results/e1eae20f-cb25-4ce7-ab2b-5bcd4d7ef1d2-container.json b/allure-results/e1eae20f-cb25-4ce7-ab2b-5bcd4d7ef1d2-container.json new file mode 100644 index 000000000..da192b5b3 --- /dev/null +++ b/allure-results/e1eae20f-cb25-4ce7-ab2b-5bcd4d7ef1d2-container.json @@ -0,0 +1 @@ +{"uuid": "5cc584f0-a48c-4215-9534-d82c9b095b11", "children": ["310510b8-5df1-441c-b792-793fa93d0e27"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481754, "stop": 1773492481754}], "start": 1773492481754, "stop": 1773492481754} \ No newline at end of file diff --git a/allure-results/ebee5ea6-4b5f-4c5b-a759-7df1df0a160b-container.json b/allure-results/ebee5ea6-4b5f-4c5b-a759-7df1df0a160b-container.json new file mode 100644 index 000000000..799d55ba9 --- /dev/null +++ b/allure-results/ebee5ea6-4b5f-4c5b-a759-7df1df0a160b-container.json @@ -0,0 +1 @@ +{"uuid": "aeb45359-1274-4b2a-a68f-d03562a0d9d1", "befores": [{"name": "index", "status": "passed", "start": 1773492481780, "stop": 1773492481780}], "start": 1773492481780, "stop": 1773492481780} \ No newline at end of file diff --git a/allure-results/ef18abe8-b227-45dd-b08e-1bc03c3b3ad6-container.json b/allure-results/ef18abe8-b227-45dd-b08e-1bc03c3b3ad6-container.json new file mode 100644 index 000000000..f8f55c098 --- /dev/null +++ b/allure-results/ef18abe8-b227-45dd-b08e-1bc03c3b3ad6-container.json @@ -0,0 +1 @@ +{"uuid": "4e62d7ed-db64-4778-ae96-974b4b3ab7c1", "children": ["9ebc7b36-771d-4d65-abb9-d8cdc5e61073"], "befores": [{"name": "burger", "status": "passed", "start": 1773492481766, "stop": 1773492481767}], "start": 1773492481766, "stop": 1773492481767} \ No newline at end of file diff --git a/allure-results/f0600789-c533-4f0b-9004-77c5c60714b7-result.json b/allure-results/f0600789-c533-4f0b-9004-77c5c60714b7-result.json new file mode 100644 index 000000000..4d7c16d32 --- /dev/null +++ b/allure-results/f0600789-c533-4f0b-9004-77c5c60714b7-result.json @@ -0,0 +1 @@ +{"name": "Verify bun name cannot be None", "status": "passed", "start": 1773492481754, "stop": 1773492481754, "uuid": "310510b8-5df1-441c-b792-793fa93d0e27", "historyId": "1f6846731bb3c70b8652c388a472af31", "testCaseId": "1f6846731bb3c70b8652c388a472af31", "fullName": "tests.test_burger.TestBurger#test_set_buns_rejects_none", "labels": [{"name": "feature", "value": "Burger Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_burger"}, {"name": "subSuite", "value": "TestBurger"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_burger"}], "titlePath": ["tests", "test_burger.py", "TestBurger"]} \ No newline at end of file diff --git a/allure-results/f4c35c6b-eb4c-417a-8ec4-dda70ccf7e4b-container.json b/allure-results/f4c35c6b-eb4c-417a-8ec4-dda70ccf7e4b-container.json new file mode 100644 index 000000000..07d21684e --- /dev/null +++ b/allure-results/f4c35c6b-eb4c-417a-8ec4-dda70ccf7e4b-container.json @@ -0,0 +1 @@ +{"uuid": "5abb77ca-9fcb-4812-9ef9-6b01a27f7ea5", "children": ["9eb6ad7b-72fa-4e3c-8866-add45700ef24"], "befores": [{"name": "database", "status": "passed", "start": 1773492481772, "stop": 1773492481772}], "start": 1773492481772, "stop": 1773492481773} \ No newline at end of file diff --git a/allure-results/f9b37781-408e-4c61-bb74-55918759ad47-result.json b/allure-results/f9b37781-408e-4c61-bb74-55918759ad47-result.json new file mode 100644 index 000000000..8d7ac7cc8 --- /dev/null +++ b/allure-results/f9b37781-408e-4c61-bb74-55918759ad47-result.json @@ -0,0 +1 @@ +{"name": "Verify ingredient data at index: 1", "status": "passed", "parameters": [{"name": "index", "value": "1"}], "start": 1773492481777, "stop": 1773492481777, "uuid": "7c974132-7725-4f33-8c08-bb20b65b939c", "historyId": "e090cb5b682cc954f14be0adbfdefab6", "testCaseId": "ca14fa64941d80549ce7a8e66c954e4e", "fullName": "tests.test_database.TestDatabase#test_available_ingredients_content", "labels": [{"name": "feature", "value": "Database Operations"}, {"name": "parentSuite", "value": "tests"}, {"name": "suite", "value": "test_database"}, {"name": "subSuite", "value": "TestDatabase"}, {"name": "host", "value": "MacBook-Pro-Alina.local"}, {"name": "thread", "value": "71332-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_database"}], "titlePath": ["tests", "test_database.py", "TestDatabase"]} \ No newline at end of file diff --git a/allure-results/fc123f15-789f-4835-9a3a-9c3bc32f496e-container.json b/allure-results/fc123f15-789f-4835-9a3a-9c3bc32f496e-container.json new file mode 100644 index 000000000..d0f8c850e --- /dev/null +++ b/allure-results/fc123f15-789f-4835-9a3a-9c3bc32f496e-container.json @@ -0,0 +1 @@ +{"uuid": "61210e99-4856-4942-a8ad-5e18f0ee4a9a", "children": ["3c261c09-c68d-477b-bcf9-29b9111d3009"], "befores": [{"name": "database", "status": "passed", "start": 1773492481780, "stop": 1773492481780}], "start": 1773492481780, "stop": 1773492481780} \ No newline at end of file diff --git a/conftest.py b/conftest.py new file mode 100644 index 000000000..2f60aaced --- /dev/null +++ b/conftest.py @@ -0,0 +1,17 @@ +import pytest +from praktikum.burger import Burger +from praktikum.database import Database + + +# фикстура создания экземпляра класса Burger +@pytest.fixture +def burger(): + return Burger() + +@pytest.fixture +def database(): + return Database() + +@pytest.fixture +def expected_ingredients(): + return [(ingredient.type, ingredient.name, ingredient.price) for ingredient in Database().available_ingredients()] diff --git a/__init__.py b/praktikum/__init__.py similarity index 100% rename from __init__.py rename to praktikum/__init__.py diff --git a/bun.py b/praktikum/bun.py similarity index 100% rename from bun.py rename to praktikum/bun.py diff --git a/burger.py b/praktikum/burger.py similarity index 100% rename from burger.py rename to praktikum/burger.py diff --git a/database.py b/praktikum/database.py similarity index 100% rename from database.py rename to praktikum/database.py diff --git a/ingredient.py b/praktikum/ingredient.py similarity index 100% rename from ingredient.py rename to praktikum/ingredient.py diff --git a/ingredient_types.py b/praktikum/ingredient_types.py similarity index 100% rename from ingredient_types.py rename to praktikum/ingredient_types.py diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..de1f73a31 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +addopts = --alluredir=allure-results --clean-alluredir +testpaths = tests \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..69d9ba91b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +allure-pytest +coverage==7.8.2 +iniconfig==2.1.0 +packaging==25.0 +pluggy==1.6.0 +Pygments==2.19.1 +pytest==8.4.0 +pytest-cov==6.1.1 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_bun.py b/tests/test_bun.py new file mode 100644 index 000000000..2f7dd7192 --- /dev/null +++ b/tests/test_bun.py @@ -0,0 +1,36 @@ +from praktikum.bun import Bun +import allure + + +@allure.feature('Bun') +class TestBun: + + @allure.title('Check bun name is set correctly in constructor') + def test_name_of_bun_return_correct(self): + bun = Bun(name='Флюорисцентная булка R2-D3', price=3100.56) + assert bun.name == 'Флюорисцентная булка R2-D3', f"Expected name 'Флюорисцентная булка R2-D3', but got '{bun.name}'" + + @allure.title('Check bun name data type is string') + def test_name_of_bun_is_string(self): + bun = Bun(name='Флюорисцентная булка R2-D3', price=3100.56) + assert isinstance(bun.name, str), f"Expected name to be str, but got {type(bun.name)}" + + @allure.title('Check bun price is set correctly in constructor') + def test_price_of_bun_return_correct(self): + bun = Bun(name='Флюорисцентная булка R2-D3', price=3100.56) + assert bun.price == 3100.56, f"Expected price 3100.56, but got {bun.price}" + + @allure.title('Check bun price data type is float') + def test_price_of_bun_is_float(self): + bun = Bun(name='Флюорисцентная булка R2-D3', price=3100.56) + assert isinstance(bun.price, float), f"Expected price to be float, but got {type(bun.price)}" + + @allure.title('Check get_name() method returns correct value') + def test_get_name_returns_correct_value(self): + bun = Bun('Краторная булка N200-i', 4567.50) + assert bun.get_name() == 'Краторная булка N200-i', f"Expected name 'Краторная булка N200-i', btu got {bun.get_name}" + + @allure.title('Check get_price() method returns correct value') + def test_get_price_returns_correct_value(self): + bun = Bun('Краторная булка N200-i', 4567.50) + assert bun.get_price() == 4567.50, f"Expected price 4567.50, but got {bun.get_price}" diff --git a/tests/test_burger.py b/tests/test_burger.py new file mode 100644 index 000000000..0dc4eb284 --- /dev/null +++ b/tests/test_burger.py @@ -0,0 +1,113 @@ +from unittest.mock import Mock, patch +from praktikum.bun import Bun +from praktikum.ingredient import Ingredient +from conftest import burger +from praktikum.ingredient_types import INGREDIENT_TYPE_SAUCE +import allure + +@allure.feature('Burger Operations') +class TestBurger: + + @allure.title('Check default bun value is None') + def test_init_default_value_bun(self, burger): + assert burger.bun is None, f"Expected None, but got {burger.bun}" + + @allure.title('Check default ingredients is an empty list') + def test_init_default_value_ingredients(self, burger): + assert burger.ingredients == [], f"Expected empty list, but got {burger.ingredients}" + + @allure.title('Check ingredients type is list') + def test_ingredients_type_is_list(self, burger): + assert isinstance(burger.ingredients, list), f"Expected list type, but got {type(burger.ingredients)}" + + @allure.title('Set bun using Mock object') + def test_set_buns_return_correct_bun(self, burger): + mock_bun = Mock(spec=Bun) + mock_bun.name = 'Мягкий лаваш' + mock_bun.price = 234.80 + burger.set_buns(mock_bun) + assert burger.bun == mock_bun, "The bun was not set correctly" + + @allure.title('Verify set bun belongs to Bun class') + def test_set_buns_belongs_class_bun(self, burger): + mock_bun = Mock(spec=Bun) + mock_bun.name = 'Мягкий лаваш' + mock_bun.price = 234.80 + burger.set_buns(mock_bun) + assert isinstance(burger.bun, Bun), "The object is not an instance of Bun class" + + @allure.title('Verify bun name cannot be None') + def test_set_buns_rejects_none(self, burger): + mock_bun = Mock(spec=Bun) + mock_bun.name = None + mock_bun.price = 234.80 + assert burger.bun != mock_bun, "Bun name cannot be None" + + @allure.title('Verify ingredient belongs to Ingredient class') + def test_ingredient_belongs_class_ingredient(self, burger): + mock_ingredient = Mock(spec=Ingredient) + mock_ingredient.type = INGREDIENT_TYPE_SAUCE + mock_ingredient.name = 'кетчуп' + mock_ingredient.price = 35.30 + burger.add_ingredient(mock_ingredient) + assert isinstance(burger.ingredients[0], Ingredient), f"Ingredient does not belong to the Ingredient class" + + @allure.title('Add ingredient successfully using Mock') + def test_add_ingredient_as_mock_success(self, burger): + mock_ingredient = Mock(spec=Ingredient) + burger.add_ingredient(mock_ingredient) + assert burger.ingredients[0] == mock_ingredient, "Ingredient was not added to the burger" + + @allure.title('Remove ingredient successfully using Mock') + def test_remove_ingredient_as_mock_success(self, burger): + mock_ingredient_1 = Mock(spec=Ingredient) + mock_ingredient_2 = Mock(spec=Ingredient) + burger.add_ingredient(mock_ingredient_1) + burger.add_ingredient(mock_ingredient_2) + burger.remove_ingredient(0) + assert burger.ingredients[0] == mock_ingredient_2, f"Ingredient {burger.ingredients[0]} was not removed" + + @allure.title('Move ingredient successfully in the list') + def test_move_ingredient_succes(self, burger): + mock_ingredient_1 = Mock(spec=Ingredient) + mock_ingredient_2 = Mock(spec=Ingredient) + mock_ingredient_3 = Mock(spec=Ingredient) + burger.add_ingredient(mock_ingredient_1) + burger.add_ingredient(mock_ingredient_2) + burger.add_ingredient(mock_ingredient_3) + burger.move_ingredient(2, 0) + assert burger.ingredients == [mock_ingredient_3, mock_ingredient_1, mock_ingredient_2], f"Ingredient {burger.ingredients[2]} was not moved" + + @allure.title('Verify get_price() returns correct total value') + @patch('praktikum.bun.Bun') + def test_get_price_correct_result(self, mock_bun, burger): + mock_bun.return_value.get_price.return_value = 100.20 # замокировали метод get_price класса Bun + mock_ingredients = [Mock(get_price=Mock(return_value=20.50)), # мок цены соуса + Mock(get_price=Mock(return_value=60.45))] # мок цены начинки + burger.set_buns(mock_bun()) + burger.ingredients = mock_ingredients + assert burger.get_price() == 281.35, f"Expected 281.35, but got {burger.get_price()}" + + @allure.title('Verify get_receipt() formatting') + @patch('praktikum.burger.Burger.get_price') + def test_get_receipt(self, mock_get_price, burger): + mock_bun = Mock() + mock_bun.get_name.return_value = 'ржаная булка' + burger.bun = mock_bun + mock_ingredient_1 = Mock() + mock_ingredient_1.get_name.return_value = 'говяжья котлета' + mock_ingredient_1.get_type.return_value = 'FILLING' + mock_ingredient_2 = Mock() + mock_ingredient_2.get_name.return_value = 'кетчуп' + mock_ingredient_2.get_type.return_value = 'SAUCE' + burger.ingredients = [mock_ingredient_1, mock_ingredient_2] + mock_get_price.return_value = 467 + expected_receipt = ( + "(==== ржаная булка ====)\n" + "= filling говяжья котлета =\n" + "= sauce кетчуп =\n" + "(==== ржаная булка ====)\n" + "\n" + "Price: 467") + + assert burger.get_receipt() == expected_receipt diff --git a/tests/test_database.py b/tests/test_database.py new file mode 100644 index 000000000..bb7ffb992 --- /dev/null +++ b/tests/test_database.py @@ -0,0 +1,33 @@ +import pytest +from praktikum.database import Database +from conftest import database +from conftest import expected_ingredients +import allure + + +@allure.feature('Database Operations') +class TestDatabase: + + @allure.title('Check that available_buns() returns a list') + def test_available_buns_returns_list(self, database): + buns = database.available_buns() + assert isinstance(buns, list), f"Expected list, but got {type(buns)}" + + @allure.title('Check that there are exactly 3 buns in the database') + def test_len_list_buns_is_three(self, database): + buns = database.available_buns() + assert len(buns) == 3, f"Expected 3 buns, but found {len(buns)}" + + @allure.title('Verify bun data at index: {index}') + @pytest.mark.parametrize('index', [0, 1, 2]) + def test_available_buns_content(self, database, index): + bun = database.available_buns()[index] + expected_bun = Database().available_buns()[index] + assert (bun.name, bun.price) == (expected_bun.name, expected_bun.price), f"Bun at index {index} does not match expected data" + + @allure.title('Verify ingredient data at index: {index}') + @pytest.mark.parametrize('index', list(range(6))) + def test_available_ingredients_content(self, database, expected_ingredients, index): + ingredient = database.available_ingredients()[index] + expected_content = expected_ingredients[index] + assert (ingredient.type, ingredient.name, ingredient.price) == expected_content, f"Ingredient at index {index} does not match expected data" diff --git a/tests/test_ingredient.py b/tests/test_ingredient.py new file mode 100644 index 000000000..be132c3d0 --- /dev/null +++ b/tests/test_ingredient.py @@ -0,0 +1,33 @@ +from praktikum.ingredient import Ingredient +from praktikum.ingredient_types import INGREDIENT_TYPE_SAUCE +import allure + +@allure.feature('Ingredient Logic') +class TestIngredient: + + @allure.title('Successfully create an ingredient and verify attributes') + def test_create_ingredient_is_successfil(self): + ingredient = Ingredient(INGREDIENT_TYPE_SAUCE, 'Сырный соус', 10.25) + assert ( + ingredient.type, + ingredient.name, + ingredient.price + ) == ( + INGREDIENT_TYPE_SAUCE, + 'Сырный соус', + 10.25), f"Expected {(INGREDIENT_TYPE_SAUCE, 'Сырный соус', 10.25)}, but got {(ingredient.type, ingredient.name, ingredient.price)}" + + @allure.title('Verify get_price() returns the correct value') + def test_get_price_return_correct_price(self): + ingredient = Ingredient(INGREDIENT_TYPE_SAUCE, 'Чили соус', 12.25) + assert ingredient.get_price() == 12.25, f"Expected price 12.25, but got {ingredient.get_price()}" + + @allure.title('Verify get_name() returns the correct value') + def test_get_name_return_correct_name(self): + ingredient = Ingredient(INGREDIENT_TYPE_SAUCE, 'Чили соус', 12.25) + assert ingredient.get_name() == 'Чили соус', f"Expected name 'Чили соус', but got '{ingredient.get_name()}'" + + @allure.title('Verify get_type() returns the correct value') + def test_get_type_return_correct_type(self): + ingredient = Ingredient(INGREDIENT_TYPE_SAUCE, 'Чили соус', 12.25) + assert ingredient.get_type() == INGREDIENT_TYPE_SAUCE, f"Expected type {INGREDIENT_TYPE_SAUCE}, but got {ingredient.get_type()}"