def test_card_draw_buttons_custom_size_colours(): """ Ensure that customisations to the buttons text size, text colour and background colour are set as expected. """ card = Card( "title", buttons=[ { "label": "Button1", "target": "AnotherCard", "text_size": 32, "text_color": "red", "background_color": "blue", } ], ) card.layout = mock.MagicMock() card._button_click = mock.MagicMock() card._draw_buttons() assert len(card.button_widgets) == 1 assert card.button_widgets[0].text == "Button1" assert card.button_widgets[0].font_size == 32.0 assert card.button_widgets[0].color == [1.0, 0.0, 0.0, 1.0] assert card.button_widgets[0].background_color == [0.0, 0.0, 1.0, 1.0] card._button_click.assert_called_once_with("AnotherCard") assert card.layout.add_widget.call_count == 1
def test_card_button_click_with_string(): """ Ensure the function returned from the _button_click method works by transitioning the screen manager to the string value it returns. """ card = Card("title") card.data_store = {} card.form_value = mock.MagicMock(return_value=None) card.screen_manager = mock.MagicMock() handler = card._button_click("AnotherCard") assert callable(handler) handler(None) assert card.screen_manager.current == "AnotherCard"
def test_card_draw_buttons(): """ Ensure the expected buttons are created and linked to an event handler. """ card = Card("title", buttons=[{ "label": "Button1", "target": "AnotherCard" }]) card.layout = mock.MagicMock() card._button_click = mock.MagicMock() card._draw_buttons() assert len(card.button_widgets) == 1 assert card.button_widgets[0].text == "Button1" card._button_click.assert_called_once_with("AnotherCard") assert card.layout.add_widget.call_count == 1
def test_card_draw_buttons(): """ Ensure the expected buttons are created and linked to an event handler. """ card = Card( "title", buttons=[{"label": "Button1", "target": "AnotherCard"}] ) card.layout = mock.MagicMock() card._button_click = mock.MagicMock() card._draw_buttons() assert len(card.button_widgets) == 1 assert card.button_widgets[0].text == "Button1" assert card.button_widgets[0].color == [1.0, 1.0, 1.0, 1.0] # white. assert card.button_widgets[0].background_color == [ 0.7450980392156863, 0.7450980392156863, 0.7450980392156863, 1.0, ] # grey. assert card.button_widgets[0].font_size == 24.0 card._button_click.assert_called_once_with("AnotherCard") assert card.layout.add_widget.call_count == 1