mcp / tests /e2e_settings.py
mikeboone's picture
feat: march sprint β€” logging, run history, chat fixes, deploy sub-stages
2b5a90d
Raw
History Blame Contribute Delete
1.91 kB
"""
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