"""Settings pages say what Steward does now, in the reader's zone (milestone 493).""" from quart import render_template, session from steward.core.settings import DEFAULTS def _settings(**over): return {**DEFAULTS, **over} async def _render(app, name, path, tz="America/New_York", **ctx): async with app.test_request_context(path): session["user_role"] = "admin" session["tz"] = tz return await render_template(name, **ctx) async def test_reports_name_the_readers_zone_and_what_the_report_holds(app): page = await _render(app, "settings/reports.html", "/settings/reports/", settings=_settings(), flash=None, shown_day=6, shown_hour=4, last_sent=None) assert "UTC" not in page[page.index("' in page.replace("\n", "").replace(" ", "") assert "ping-enabled" not in page and "Monitors down now" in page async def test_the_traefik_group_shows_only_while_the_plugin_runs(app): on = await _render(app, "settings/thresholds.html", "/settings/thresholds/", settings=_settings(), traefik_on=True) off = await _render(app, "settings/thresholds.html", "/settings/thresholds/", settings=_settings(), traefik_on=False) assert 'id="traefik"' in on and 'name="error_5xx_pct"' in on and 'value="0.1"' in on assert 'id="traefik"' not in off assert "Ping widget" not in on and "Response time" in on async def test_settings_tabs_sit_above_the_trail(app): page = await _render(app, "settings/thresholds.html", "/settings/thresholds/", settings=_settings(), traefik_on=False) tabs, trail = page.index('aria-label="Settings"'), page.index('aria-label="Breadcrumb"') assert tabs < trail assert '' in page