Spaces:
Running
Running
File size: 1,913 Bytes
f87fe7f 2b5a90d f87fe7f 2b5a90d f87fe7f 2b5a90d f87fe7f 2b5a90d f87fe7f 2b5a90d f87fe7f | 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 | """
Settings tab tests β verify settings load, display, and save correctly.
Run with: pytest tests/e2e_settings.py -v
"""
import pytest
from playwright.sync_api import Page, expect
from tests.conftest import logged_in_page # noqa: F401
def go_to_settings(page: Page):
"""Navigate to the Settings tab."""
page.click('button[role=tab]:has-text("βοΈ Settings")')
page.wait_for_timeout(1500)
class TestSettingsTab:
def test_settings_tab_accessible(self, logged_in_page: Page):
"""Settings tab loads without error."""
go_to_settings(logged_in_page)
body_text = logged_in_page.inner_text('body')
assert any(word in body_text.lower() for word in ["settings", "save", "model"])
def test_save_settings_button_present(self, logged_in_page: Page):
"""Save Settings button is visible in the Settings tab."""
go_to_settings(logged_in_page)
expect(logged_in_page.locator('button:has-text("πΎ Save Settings")')).to_be_visible(timeout=10000)
def test_reset_to_defaults_button_present(self, logged_in_page: Page):
"""Reset to Defaults button is visible."""
go_to_settings(logged_in_page)
expect(logged_in_page.locator('button:has-text("π Reset to Defaults")')).to_be_visible(timeout=10000)
def test_change_password_section_present(self, logged_in_page: Page):
"""Change Password section is accessible for the test user."""
go_to_settings(logged_in_page)
expect(logged_in_page.locator('button:has-text("π Change Password")')).to_be_visible(timeout=10000)
def test_admin_sections_not_visible_for_test_user(self, logged_in_page: Page):
"""Admin-only sections should not show other users' data for testrunner."""
go_to_settings(logged_in_page)
body_text = logged_in_page.inner_text('body')
assert "mike.boone@thoughtspot.com" not in body_text
|