tags: tests: Fix functional tests broken by separate apps/add page

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2026-08-22 19:53:06 -07:00 committed by James Valleroy
parent 5f5cec695c
commit 5c2fe7a3d1
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808

View File

@ -17,10 +17,21 @@ def _is_app_listed(session_browser, app):
assert len(app_links) == 1 assert len(app_links) == 1
@pytest.fixture(scope='module', autouse=True)
def fixture_disable_apps(session_browser):
"""Disable all the apps we expect to see in apps/add page."""
apps = [
'deluge', 'nextcloud', 'samba', 'sharing', 'syncthing', 'transmission'
]
functional.login(session_browser)
for app in apps:
functional.app_disable(session_browser, app)
@pytest.fixture(name='bittorrent_tag') @pytest.fixture(name='bittorrent_tag')
def fixture_bittorrent_tag(session_browser): def fixture_bittorrent_tag(session_browser):
"""Click on the BitTorrent tag.""" """Click on the BitTorrent tag."""
bittorrent_tag = '/freedombox/apps/?tag=BitTorrent' bittorrent_tag = '/freedombox/apps/add/?tag=BitTorrent'
functional.login(session_browser) functional.login(session_browser)
functional.nav_to_module(session_browser, 'transmission') functional.nav_to_module(session_browser, 'transmission')
with functional.wait_for_page_update(session_browser, timeout=10, with functional.wait_for_page_update(session_browser, timeout=10,
@ -49,8 +60,8 @@ def test_search_for_tag(session_browser, bittorrent_tag):
"""Test that searching for a tag returns the expected apps.""" """Test that searching for a tag returns the expected apps."""
search_input = session_browser.find_by_id('add-tag-input').first search_input = session_browser.find_by_id('add-tag-input').first
with functional.wait_for_page_update( with functional.wait_for_page_update(
session_browser, timeout=10, session_browser, timeout=10, expected_url='/freedombox/apps/add/'
expected_url='/freedombox/apps/?tag=BitTorrent&tag=File+sharing'): '?tag=BitTorrent&tag=File+sharing'):
search_input.click() search_input.click()
search_input.type('file sharing') search_input.type('file sharing')
search_input.type(Keys.ENTER) search_input.type(Keys.ENTER)
@ -64,7 +75,7 @@ def test_click_on_tag(session_browser, bittorrent_tag):
search_input = session_browser.find_by_id('add-tag-input').first search_input = session_browser.find_by_id('add-tag-input').first
with functional.wait_for_page_update( with functional.wait_for_page_update(
session_browser, timeout=10, session_browser, timeout=10,
expected_url='/freedombox/apps/?tag=BitTorrent&tag=File+sync'): expected_url='/freedombox/apps/add/?tag=BitTorrent&tag=File+sync'):
search_input.click() search_input.click()
session_browser.find_by_css( session_browser.find_by_css(
".dropdown-item[data-tag='File sync']").click() ".dropdown-item[data-tag='File sync']").click()
@ -75,14 +86,14 @@ def test_click_on_tag(session_browser, bittorrent_tag):
def test_tag_localization(session_browser, locale): def test_tag_localization(session_browser, locale):
"""Test that tags are localized and tests in done localized.""" """Test that tags are localized and tests in done localized."""
functional.visit(session_browser, '/freedombox/apps/?tag=Sharing') functional.visit(session_browser, '/freedombox/apps/add/?tag=Sharing')
badge = session_browser.find_by_css('.tag[data-tag="Sharing"]').first badge = session_browser.find_by_css('.tag[data-tag="Sharing"]').first
assert 'Compartir' in badge.text assert 'Compartir' in badge.text
search_input = session_browser.find_by_id('add-tag-input').first search_input = session_browser.find_by_id('add-tag-input').first
with functional.wait_for_page_update( with functional.wait_for_page_update(
session_browser, timeout=10, session_browser, timeout=10,
expected_url='/freedombox/apps/?tag=Sharing&tag=Bookmarks'): expected_url='/freedombox/apps/add/?tag=Sharing&tag=Bookmarks'):
search_input.click() search_input.click()
search_input.type('Marcadores') search_input.type('Marcadores')
search_input.type(Keys.ENTER) search_input.type(Keys.ENTER)