Spaces:
Running
Running
| """ | |
| 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 | |