import pytest
from webdriver.error import NoSuchElementException

URL = "https://www.vivobarefoot.com/eu/mens"
FILTER_CSS = "#narrow-by-list .filter-wrapper:last-of-type"
SUBMENU_CSS = "#narrow-by-list .filter-wrapper:last-of-type dd"
POPUP1_CSS = "#globalePopupWrapper"
POPUP2_CSS = "#globale_overlay"
POPUP3_CSS = ".weblayer--box-subscription-1"


async def check_filter_opens(client):
    await client.navigate(URL)

    popup = client.await_css(POPUP1_CSS, timeout=3)
    if popup:
        client.remove_element(popup)
    popup = client.find_css(POPUP2_CSS)
    if popup:
        client.remove_element(popup)
    popup = client.find_css(POPUP3_CSS)
    if popup:
        client.remove_element(popup)

    filter = client.await_css(FILTER_CSS)
    client.mouse.click(element=filter).perform()
    try:
        client.await_css(SUBMENU_CSS, is_displayed=True, timeout=3)
    except NoSuchElementException:
        return False
    return True


@pytest.mark.skip_platforms("android")
@pytest.mark.asyncio
@pytest.mark.with_interventions
async def test_enabled(client):
    assert await check_filter_opens(client)


@pytest.mark.skip_platforms("android")
@pytest.mark.asyncio
@pytest.mark.without_interventions
async def test_disabled(client):
    assert not await check_filter_opens(client)
