docker tests finished ok
This commit is contained in:
@@ -42,7 +42,7 @@ async def db_init():
|
||||
async with async_engine.begin() as conn:
|
||||
await conn.run_sync(Base.metadata.drop_all)
|
||||
|
||||
|
||||
|
||||
async def get_test_session() -> AsyncGenerator[AsyncSession, None]:
|
||||
async with async_session_maker() as session:
|
||||
yield session
|
||||
|
@@ -5,7 +5,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from fastfood.cruds.menu import MenuCrud
|
||||
from fastfood.cruds.submenu import SubMenuCrud
|
||||
from fastfood.models import Dish, Menu, SubMenu
|
||||
from fastfood.models import Menu, SubMenu
|
||||
from fastfood.schemas import Menu as menuschema
|
||||
from fastfood.schemas import MenuBase as menubaseschema
|
||||
|
||||
@@ -13,28 +13,32 @@ from fastfood.schemas import MenuBase as menubaseschema
|
||||
@pytest.mark.asyncio
|
||||
async def test_menu(asession: AsyncSession) -> None:
|
||||
async with asession:
|
||||
# Создаем меню
|
||||
menu: Menu = Menu(title="SomeMenu", description="SomeDescription")
|
||||
|
||||
menu: Menu = await MenuCrud.create_menu_item(
|
||||
menubaseschema.model_validate(menu),
|
||||
asession,
|
||||
)
|
||||
|
||||
menu_id: UUID = menu.id
|
||||
|
||||
# Получаем его же
|
||||
req_menu: Menu | None = await MenuCrud.get_menu_item(menu_id, asession)
|
||||
assert menu == req_menu
|
||||
|
||||
# Получаем все меню и проверяем
|
||||
req_menus = await MenuCrud.get_menus(asession)
|
||||
assert menu == req_menus.scalars().all()[0]
|
||||
|
||||
# Обновляем
|
||||
menu.title = "updatedMenu"
|
||||
await MenuCrud.update_menu_item(
|
||||
menu.id, menuschema.model_validate(menu), asession
|
||||
)
|
||||
# И сверяем
|
||||
req_menu = await MenuCrud.get_menu_item(menu_id, asession)
|
||||
assert menu == req_menu
|
||||
|
||||
# Удаляем и проверяем
|
||||
await MenuCrud.delete_menu_item(menu_id, asession)
|
||||
req_menus = await MenuCrud.get_menus(asession)
|
||||
assert req_menus.all() == []
|
||||
@@ -50,7 +54,7 @@ async def test_submenu(asession: AsyncSession) -> None:
|
||||
await asession.refresh(menu)
|
||||
menu_id: UUID = menu.id
|
||||
|
||||
# Создаем подменю через ручку
|
||||
# Создаем подменю
|
||||
submenu: SubMenu = SubMenu(
|
||||
title="submenu",
|
||||
description="",
|
||||
@@ -61,9 +65,36 @@ async def test_submenu(asession: AsyncSession) -> None:
|
||||
menubaseschema.model_validate(submenu),
|
||||
asession,
|
||||
)
|
||||
submenu_id = submenu.id
|
||||
|
||||
# Проверяем подменю
|
||||
req_submenu = await SubMenuCrud.get_submenu_item(
|
||||
menu_id, submenu.id, asession,
|
||||
)
|
||||
assert submenu == req_submenu
|
||||
|
||||
# Обновляем меню
|
||||
submenu.title = "UpdatedSubmenu"
|
||||
req_submenu = await SubMenuCrud.update_submenu_item(
|
||||
submenu_id, menubaseschema.model_validate(submenu), asession,
|
||||
)
|
||||
assert submenu == req_submenu.scalar_one_or_none()
|
||||
|
||||
menu = await MenuCrud.get_menu_item(menu_id, asession)
|
||||
assert 1 == menu.submenus_count
|
||||
|
||||
# Удаляем полменю
|
||||
await SubMenuCrud.delete_submenu_item(submenu_id, asession)
|
||||
|
||||
menu = await MenuCrud.get_menu_item(menu_id, asession)
|
||||
assert 0 == menu.submenus_count
|
||||
|
||||
await MenuCrud.delete_menu_item(menu_id, asession)
|
||||
|
||||
|
||||
@pytest.mark.skip
|
||||
@pytest.mark.asyncio
|
||||
async def test_dish(asession: AsyncSession):
|
||||
"""Not Implemented yet"""
|
||||
async with asession:
|
||||
pass
|
||||
|
Reference in New Issue
Block a user