summaryrefslogtreecommitdiffstats
path: root/testing/webcompat/interventions/tests/test_1799994_vivobarefoot_com.py
blob: 5b3713ce300bdc3355730b5cce684b340f8677ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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)