def test_is_element_or_parent_visible_parent_visible():
    mock_finder = MagicMock()
    mock_finder.elements.return_value = [MockElement(False, False, True)]
    interrogate = Interrogator(None, mock_finder, None)

    result = interrogate.is_element_or_parent_visible(default_page_element)

    assert_that(result, equal_to(True), "Element's parent should be visible")
def test_is_element_or_parent_visible_no_elements_found():
    mock_finder = MagicMock()
    mock_finder.elements.return_value = []
    interrogate = Interrogator(None, mock_finder, None)

    result = interrogate.is_element_or_parent_visible(default_page_element)

    assert_that(result, equal_to(False), "No elements should have been found")
def test_is_checkbox_visible():
    mock_is_element_or_parent_visible = MagicMock(
        return_value="result of is_displayed")
    interrogate = Interrogator(None, None, None)
    interrogate.is_element_or_parent_visible = mock_is_element_or_parent_visible

    result = interrogate.is_checkbox_visible(default_page_element)

    mock_is_element_or_parent_visible.assert_called_once_with(
        default_page_element)
    assert_that(result, equal_to("result of is_displayed"),
                "Result not returned correctly")