Skip to content

Commit

Permalink
Merge pull request #356 from Vladyslav49/develop
Browse files Browse the repository at this point in the history
remove duplicate mock_manager fixture
  • Loading branch information
Tishka17 authored Feb 1, 2024
2 parents 53c97c1 + da3f6ad commit 93b2974
Show file tree
Hide file tree
Showing 20 changed files with 31 additions and 383 deletions.
22 changes: 22 additions & 0 deletions tests/widgets/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from unittest.mock import MagicMock, Mock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = MagicMock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)
return manager
20 changes: 0 additions & 20 deletions tests/widgets/kbd/test_base.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,13 @@
from unittest.mock import Mock

import pytest
from aiogram import F
from aiogram.fsm.state import State
from aiogram.types import KeyboardButton

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.api.internal import RawKeyboard
from aiogram_dialog.widgets.common import WhenCondition
from aiogram_dialog.widgets.kbd import Keyboard


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


class Button(Keyboard):
def __init__(self, id: str, when: WhenCondition = None):
super().__init__(when=when, id=id)
Expand Down
21 changes: 0 additions & 21 deletions tests/widgets/kbd/test_calendar.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,8 @@
from unittest.mock import Mock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Calendar, CalendarScope


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_calendar(mock_manager):
calendar = Calendar(id="calendar")
Expand Down
21 changes: 1 addition & 20 deletions tests/widgets/kbd/test_checkbox.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,12 @@
from unittest.mock import AsyncMock, Mock
from unittest.mock import AsyncMock

import pytest
from aiogram.fsm.state import State
from aiogram.types import TelegramObject

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Checkbox
from aiogram_dialog.widgets.text import Const


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_check_checkbox(mock_manager) -> None:
checkbox = Checkbox(
Expand Down
21 changes: 0 additions & 21 deletions tests/widgets/kbd/test_column.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,9 @@
from unittest.mock import Mock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Button, Column
from aiogram_dialog.widgets.text import Const


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_column(mock_manager) -> None:
column = Column(
Expand Down
21 changes: 1 addition & 20 deletions tests/widgets/kbd/test_counter.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,10 @@
from unittest.mock import AsyncMock, Mock
from unittest.mock import AsyncMock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Counter


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_set_value_counter(mock_manager) -> None:
counter = Counter(id="counter")
Expand Down
19 changes: 1 addition & 18 deletions tests/widgets/kbd/test_group.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from unittest.mock import AsyncMock, Mock
from unittest.mock import AsyncMock

import pytest
from aiogram import Dispatcher
Expand All @@ -9,29 +9,12 @@
from aiogram_dialog import (
Dialog, DialogManager, setup_dialogs, StartMode, Window,
)
from aiogram_dialog.api.entities import Context
from aiogram_dialog.test_tools import BotClient, MockMessageManager
from aiogram_dialog.test_tools.keyboard import InlineButtonTextLocator
from aiogram_dialog.widgets.kbd import Button, Group
from aiogram_dialog.widgets.text import Const


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_group(mock_manager) -> None:
group = Group(
Expand Down
21 changes: 1 addition & 20 deletions tests/widgets/kbd/test_multiselect.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,13 @@
import operator
from unittest.mock import AsyncMock, Mock
from unittest.mock import AsyncMock

import pytest
from aiogram.fsm.state import State
from aiogram.types import TelegramObject

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Multiselect
from aiogram_dialog.widgets.text import Format


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_check_multiselect(mock_manager) -> None:
multiselect = Multiselect(
Expand Down
21 changes: 1 addition & 20 deletions tests/widgets/kbd/test_radio.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,13 @@
import operator
from unittest.mock import AsyncMock, Mock
from unittest.mock import AsyncMock

import pytest
from aiogram.fsm.state import State
from aiogram.types import TelegramObject

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Radio
from aiogram_dialog.widgets.text import Format


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_check_radio(mock_manager) -> None:
radio = Radio(
Expand Down
21 changes: 0 additions & 21 deletions tests/widgets/kbd/test_row.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,9 @@
from unittest.mock import Mock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Button, Row
from aiogram_dialog.widgets.text import Const


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_row(mock_manager) -> None:
row = Row(
Expand Down
20 changes: 0 additions & 20 deletions tests/widgets/kbd/test_select.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,11 @@
import operator
from unittest.mock import Mock

import pytest
from aiogram.fsm.state import State

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Select
from aiogram_dialog.widgets.text import Format


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_select(mock_manager) -> None:
select = Select(
Expand Down
20 changes: 0 additions & 20 deletions tests/widgets/kbd/test_toggle.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,12 @@
import operator
from unittest.mock import Mock

import pytest
from aiogram.fsm.state import State
from aiogram.types import TelegramObject

from aiogram_dialog import DialogManager
from aiogram_dialog.api.entities import Context
from aiogram_dialog.widgets.kbd import Toggle
from aiogram_dialog.widgets.text import Format


@pytest.fixture()
def mock_manager() -> DialogManager:
manager = Mock()
context = Context(
dialog_data={},
start_data={},
widget_data={},
state=State(),
_stack_id="_stack_id",
_intent_id="_intent_id",
)
manager.current_context = Mock(side_effect=lambda: context)

return manager


@pytest.mark.asyncio
async def test_render_toggle(mock_manager) -> None:
toggle = Toggle(
Expand Down
Loading

0 comments on commit 93b2974

Please sign in to comment.