diff --git a/src/presentation/templates/index.html b/src/presentation/templates/index.html index e105055..ed6ca6f 100644 --- a/src/presentation/templates/index.html +++ b/src/presentation/templates/index.html @@ -20,7 +20,7 @@
- +
@@ -165,9 +165,12 @@ } const end = new Date(); - const start = new Date(); - const offsetDays = preset === 'last7' ? 6 : 2; - start.setDate(end.getDate() - offsetDays); + const start = new Date(end); + + if (preset === 'last7') { + start.setDate(end.getDate() - 6); + } + return { startDate: toDateInput(start), endDate: toDateInput(end) @@ -179,9 +182,9 @@ return 'all'; } - const last3 = buildDatePresetRange('last3'); - if (startDate === last3.startDate && endDate === last3.endDate) { - return 'last3'; + const today = buildDatePresetRange('today'); + if (startDate === today.startDate && endDate === today.endDate) { + return 'today'; } const last7 = buildDatePresetRange('last7'); @@ -749,7 +752,7 @@ } function setDefaultDateRange() { - const defaultRange = buildDatePresetRange('last3'); + const defaultRange = buildDatePresetRange('today'); document.getElementById('startDate').value = defaultRange.startDate; document.getElementById('endDate').value = defaultRange.endDate; currentFilters = { diff --git a/tests/test_dashboard_defaults.py b/tests/test_dashboard_defaults.py new file mode 100644 index 0000000..999c8d9 --- /dev/null +++ b/tests/test_dashboard_defaults.py @@ -0,0 +1,41 @@ +import unittest +from pathlib import Path + +from flask import Flask, render_template + + +class DashboardDefaultDateRangeTests(unittest.TestCase): + def setUp(self) -> None: + presentation_root = Path(__file__).resolve().parents[1] / "src" / "presentation" + self.app = Flask( + __name__, + template_folder=str(presentation_root / "templates"), + static_folder=str(presentation_root / "static"), + static_url_path="/static", + ) + + def render_dashboard(self) -> str: + with self.app.app_context(): + return render_template( + "index.html", + active_page="index", + current_username="", + auth_enabled=False, + ) + + def test_dashboard_shows_today_preset_button(self) -> None: + html = self.render_dashboard() + + self.assertIn('data-date-preset="today"', html) + self.assertIn("今天", html) + self.assertNotIn("近3天", html) + + def test_dashboard_defaults_date_range_to_today(self) -> None: + html = self.render_dashboard() + + self.assertIn("const defaultRange = buildDatePresetRange('today');", html) + self.assertNotIn("const defaultRange = buildDatePresetRange('last3');", html) + + +if __name__ == "__main__": + unittest.main()