from django.urls import reverse from playwright.sync_api import sync_playwright, expect from bookmarks.e2e.helpers import LinkdingE2ETestCase class SettingsGeneralE2ETestCase(LinkdingE2ETestCase): def test_should_only_enable_public_sharing_if_sharing_is_enabled(self): with sync_playwright() as p: browser = self.setup_browser(p) page = browser.new_page() page.goto(self.live_server_url + reverse('bookmarks:settings.general')) enable_sharing = page.get_by_label('Enable bookmark sharing') enable_sharing_label = page.get_by_text('Enable bookmark sharing') enable_public_sharing = page.get_by_label('Enable public bookmark sharing') enable_public_sharing_label = page.get_by_text('Enable public bookmark sharing') # Public sharing is disabled by default expect(enable_sharing).not_to_be_checked() expect(enable_public_sharing).not_to_be_checked() expect(enable_public_sharing).to_be_disabled() # Enable sharing enable_sharing_label.click() expect(enable_sharing).to_be_checked() expect(enable_public_sharing).not_to_be_checked() expect(enable_public_sharing).to_be_enabled() # Enable public sharing enable_public_sharing_label.click() expect(enable_public_sharing).to_be_checked() expect(enable_public_sharing).to_be_enabled() # Disable sharing enable_sharing_label.click() expect(enable_sharing).not_to_be_checked() expect(enable_public_sharing).not_to_be_checked() expect(enable_public_sharing).to_be_disabled()