Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diplom_1 #197

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
51 changes: 51 additions & 0 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import pytest
import random
from praktikum.bun import Bun
from unittest.mock import Mock
from praktikum import ingredient_types
from praktikum.ingredient import Ingredient


@pytest.fixture
def bun_object():
bun_name = ['Гордость и предубеждение и зомби', 'Гарри Поттер и кубок огня', 'Ведьмак', 'Последнее желание',
'Сталкер']
bun_price = [0, 11, 100, 1000]
bun = Bun(random.choice(bun_name), random.choice(bun_price))
return bun


@pytest.fixture()
def ingredient_object():
ingredient_type = [ingredient_types.INGREDIENT_TYPE_SAUCE, ingredient_types.INGREDIENT_TYPE_FILLING]
ingredient = Ingredient(ingredient_type=random.choice(ingredient_type), name="горчица", price=15)
return ingredient


@pytest.fixture
def mock_bun():
mock_bun = Mock()
mock_bun.return_value.get_name = "Ржаная"
mock_bun.return_value.get_price = 15
return mock_bun


@pytest.fixture()
def mock_ingredient_1():
mock_ingredient_1 = Mock()
mock_ingredient_1.return_value.get_price = 15
mock_ingredient_1.return_value.get_name = "майонез"
mock_ingredient_1.return_value.get_type = "соус"
return mock_ingredient_1


@pytest.fixture()
def mock_ingredient_2():
mock_ingredient_2 = Mock()
mock_ingredient_2.return_value.get_price = 15
mock_ingredient_2.return_value.get_name = "горчица"
mock_ingredient_2.return_value.get_type = "соус"
return mock_ingredient_2



41 changes: 0 additions & 41 deletions praktikum.py

This file was deleted.

File renamed without changes.
Empty file added praktikum/__init__.py
Empty file.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file added tests/__init__.py
Empty file.
12 changes: 12 additions & 0 deletions tests/bun_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from praktikum.bun import Bun

class TestBun:

def test_get_name(self):
bun = Bun("Ржаная", 15)
assert bun.get_name() == bun.name

def test_get_price(self):
bun = Bun("Ржаная", 15)
assert bun.get_price() == bun.price

40 changes: 40 additions & 0 deletions tests/burger_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from praktikum.burger import Burger


class TestBurger:

def test_set_buns(self, mock_bun):
burger = Burger()
burger.set_buns(mock_bun)
assert burger.bun.name == mock_bun.name

def test_add_ingredient(self, mock_ingredient_1):
burger = Burger()
burger.add_ingredient(mock_ingredient_1)
assert burger.ingredients[0] == mock_ingredient_1

def test_remove_ingredient(self, mock_ingredient_1):
burger = Burger()
burger.add_ingredient(mock_ingredient_1)
burger.add_ingredient(mock_ingredient_1)
burger.remove_ingredient(1)
assert burger.ingredients[0] == mock_ingredient_1

def test_move_ingredient(self, mock_ingredient_1, mock_ingredient_2):
burger = Burger()
burger.add_ingredient(mock_ingredient_1)
burger.add_ingredient(mock_ingredient_2)
burger.move_ingredient(1, 0)
assert burger.ingredients[0] == mock_ingredient_2

def test_get_price(self, bun_object, ingredient_object):
burger = Burger()
burger.set_buns(bun_object)
burger.add_ingredient(ingredient_object)
assert burger.get_price() == bun_object.price * 2 + ingredient_object.get_price()

def test_get_receipt(self, bun_object, ingredient_object):
burger = Burger()
burger.set_buns(bun_object)
burger.add_ingredient(ingredient_object)
assert burger.get_receipt() == f'(==== {bun_object.get_name()} ====)\n= {(ingredient_object.get_type()).lower()} {ingredient_object.get_name()} =\n(==== {bun_object.get_name()} ====)\n\nPrice: {burger.get_price()}'
12 changes: 12 additions & 0 deletions tests/database_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from praktikum.database import Database


class TestDatabase:

def test_available_buns(self):
database = Database()
assert database.available_buns() == database.buns

def test_available_ingredients(self):
database = Database()
assert database.available_ingredients() == database.ingredients
17 changes: 17 additions & 0 deletions tests/ingredient_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from praktikum.ingredient import Ingredient



class TestIngredient:

def test_get_price(self):
ingredient = Ingredient("соус", "горчица", 15)
assert ingredient.get_price() == 15

def test_get_name(self):
ingredient = Ingredient("соус", "горчица", 15)
assert ingredient.get_name() == "горчица"

def test_get_type(self):
ingredient = Ingredient("соус", "горчица", 15)
assert ingredient.get_type() == "соус"