odoo-timesheets/tests
Jef Roosens 2d60624e0e
feat(stories): add stories subcommand
- Add stories subcommand listing stories worked on, grouped by project
- Preserve story_raw in parser row dicts alongside the stripped story,
  so markdown links are available for display
- print_stories() filters to rows with a non-empty story field,
  deduplicates by stripped story text (preferring the linked version),
  sums hours per story, and outputs an indented Markdown list
- Project names resolved through project_map (same as csv/summary)
- -w/--weekly flag aggregates stories across the full week
- Add tests for print_stories covering deduplication, link preservation,
  grouping, empty rows, and story-less row exclusion
- Fix flex daily target in status: use projected hours per prior day
  rather than fixed 8h when computing remaining hours for today
2026-06-02 09:31:09 +02:00
..
2026 - W21.md feat(parser): support multiple tables in a single markdown document 2026-06-02 09:31:02 +02:00
__init__.py feat: set up modularized version of project with testing 2026-06-02 09:31:01 +02:00
test_config.py feat(config): add TOML config file support 2026-06-02 09:31:04 +02:00
test_joplin.py feat(joplin): add --joplin flag to fetch weekly timesheet note from Joplin 2026-06-02 09:31:02 +02:00
test_output.py feat(stories): add stories subcommand 2026-06-02 09:31:09 +02:00
test_parser.py feat(status): add status subcommand with day and week metrics 2026-06-02 09:31:08 +02:00
test_projects.py feat: set up modularized version of project with testing 2026-06-02 09:31:01 +02:00
test_status.py feat(status): add status subcommand with day and week metrics 2026-06-02 09:31:08 +02:00
test_utils.py feat(cli): add natural language date parsing via dateparser 2026-06-02 09:31:05 +02:00