def test_wait_for_disappear_works_even_when_is_visible_raises():
    context = Context(Settings())
    selenium_mock = Mock()
    selenium_mock.expects(at_least_once()).is_element_present(eq('some element')).will(return_value(True))
    selenium_mock.expects(once()).is_visible(eq('some element')).will(raise_exception(Exception("ERROR: Element some element not found")))

    driver = SeleniumDriver(context, selenium=selenium_mock)
    driver.wait_for_element_to_disappear("some element", 1)
    selenium_mock.verify()
def test_wait_for_disappear():
    context = Context(Settings())
    selenium_mock = Mock()
    selenium_mock.expects(once()).is_element_present(eq('some element')).will(return_value(True))
    selenium_mock.expects(once()).is_visible(eq('some element')).will(return_value(False))

    driver = SeleniumDriver(context, selenium=selenium_mock)
    driver.wait_for_element_to_disappear("some element", 1)
    selenium_mock.verify()
def test_wait_for_disappear_works_even_when_is_visible_raises():
    
    mocker = Mocker()
    
    context = Context(Settings())
    selenium_mock = mocker.mock()
    selenium_mock.is_element_present('some element')
    mocker.count(min=1, max=None)
    mocker.result(True)
    selenium_mock.is_visible('some element')
    mocker.throw(Exception("ERROR: Element some element not found"))

    with mocker:
        driver = SeleniumDriver(context, selenium=selenium_mock)
        driver.wait_for_element_to_disappear("some element", 1)
def test_wait_for_disappear():
    
    mocker = Mocker()
    
    context = Context(Settings())
    selenium_mock = mocker.mock()
    selenium_mock.is_element_present('some element')
    mocker.count(min=1, max=None)
    mocker.result(True)
    selenium_mock.is_visible('some element')
    mocker.count(min=1, max=None)
    mocker.result(True)

    with mocker:
        driver = SeleniumDriver(context, selenium=selenium_mock)
        driver.wait_for_element_to_disappear("some element", 1)