Skip to content

Uc002 List Tasks

# specs/features/UC002-list-tasks.feature
#
# SINGLE SOURCE OF TRUTH for UC002 behaviour.
# This file is:
#   (1) referenced by specs/use_cases/UC002-list-tasks.md  (documentation)
#   (2) executed by the acceptance test suite              (living documentation)
#
# Rules:
#   - Scenario IDs (e.g. UC002-S01) must match the use case document.
#   - Step definitions live in: src/test/java/.../steps/
#   - Keep scenarios focused: one behaviour per scenario.
#   - Use exact terms from specs/glossary.md.

Feature: List All Tasks
  As a User
  I want to see all my tasks
  So that I can get an overview of my outstanding work

  # ---------------------------------------------------------------------------
  # Happy path
  # ---------------------------------------------------------------------------

  Scenario: UC002-S01 Return all tasks when tasks exist
    Given the following tasks exist:
      | title          | status      |
      | Fix login bug  | TODO        |
      | Write tests    | IN_PROGRESS |
      | Update readme  | DONE        |
    When the User requests the list of all tasks
    Then the response status is 200
    And the response contains 3 tasks
    And the response includes a task with title "Fix login bug"
    And the response includes a task with title "Write tests"
    And the response includes a task with title "Update readme"

  # ---------------------------------------------------------------------------
  # Empty list
  # ---------------------------------------------------------------------------

  Scenario: UC002-S02 Return empty list when no tasks exist
    Given the task list is empty
    When the User requests the list of all tasks
    Then the response status is 200
    And the response contains 0 tasks