Skip to content
Snippets Groups Projects
Commit 7dcc65ab authored by Caspar Martens's avatar Caspar Martens
Browse files

Add ui_service tests

parent c65edd1a
No related branches found
No related tags found
3 merge requests!107Icrement from Version 0.6 to Version 1.0,!79Release/v0.11.0,!69Toasts
Pipeline #232870 passed
......@@ -20,9 +20,3 @@ class UiServiceRegistry:
def unregister(self, window=Gtk.Window):
"""Unregister a UI service."""
del self._services[window]
def unregister_by_value(self, service=UiService):
"""Unregister a UI service by value."""
for window, service in self._services.items():
if service == service:
del self._services[window]
class MessageMock:
def __init__(self, text, action_name=None, action_target=None):
self.text = text
self.action_name = action_name
self.action_target = action_target
import pytest
from blackfennec.facade.ui_service.message import Message
@pytest.fixture
def message():
return Message(
'text',
action_name='action_name',
action_target='action_target',
)
def test_can_construct(message):
assert isinstance(message, Message)
def test_can_get_text(message):
assert message.text == 'text'
def test_can_get_action_name(message):
assert message.action_name == 'action_name'
def test_can_get_action_target(message):
assert message.action_target == 'action_target'
def test_can_get_timeout(message):
assert message.timeout > 0.5
import pytest
from blackfennec.facade.ui_service.ui_service import UiService
from blackfennec_doubles.facade.ui_service.double_message import MessageMock
from tests.test_utils.observer import Observer
@pytest.fixture
def message():
return MessageMock('message')
@pytest.fixture
def ui_service():
return UiService()
def test_can_construct(ui_service):
assert isinstance(ui_service, UiService)
def test_can_show_simple_message(ui_service, message):
observer = Observer()
ui_service.bind(message=observer.endpoint)
ui_service.show_message(message)
toast = observer.last_call[0][1]
assert toast.get_title() == message.text
def test_can_show_action_message(ui_service, message):
message.action_name = 'action'
message.action_target = 'target'
observer = Observer()
ui_service.bind(message=observer.endpoint)
ui_service.show_message(message)
toast = observer.last_call[0][1]
assert toast.get_title() == message.text
assert toast.get_button_label() == message.action_name
assert toast.get_action_name() == message.action_target
def test_can_copy(ui_service):
copy = ui_service.copy()
assert isinstance(copy, UiService)
assert copy != ui_service
import pytest
from blackfennec.facade.ui_service.ui_service_registry import UiServiceRegistry
from blackfennec_doubles.double_dummy import Dummy
@pytest.fixture
def ui_service_key():
return Dummy('window')
@pytest.fixture
def ui_service():
return Dummy('UiService')
@pytest.fixture
def ui_service_registry(ui_service, ui_service_key):
return UiServiceRegistry()
def test_can_construct(ui_service_registry):
assert isinstance(ui_service_registry, UiServiceRegistry)
def test_can_get_services(ui_service_registry):
assert ui_service_registry.services == {}
def test_can_register_service(ui_service_registry, ui_service, ui_service_key):
ui_service_registry.register(ui_service_key, ui_service)
assert ui_service_registry.services[ui_service_key] == ui_service
def test_can_unregister_service(ui_service_registry, ui_service, ui_service_key):
ui_service_registry.register(ui_service_key, ui_service)
assert ui_service_registry.services[ui_service_key] == ui_service
ui_service_registry.unregister(ui_service_key)
assert ui_service_registry.services == {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment