Skip to content

recent filters automatic recording #79

Description

@MostafaShraief

1. Feature Overview

Record a logged-in user's applied filter combinations automatically as a side effect of searching (only when filter parameters were sent): the payload is validated against a strict schema before saving, identical combinations refresh the timestamp instead of duplicating, and only the latest 10 are kept.

2. User Stories

  • As a user,
  • I want my filter combinations to be remembered automatically,
  • So that I can re-run a specific filtered search later from "Recent Filters".

3. Acceptance Criteria

Scenario 1: Filter Combination Recorded Automatically

  • Given I am logged in and search with filter parameters
  • When the search runs
  • Then the combination is recorded automatically, shown later as a card with its criteria.

Scenario 2: No Filters, Nothing Recorded

  • Given I search with no filter parameters
  • When the search runs
  • Then nothing is recorded to recent filters.

Scenario 3: Invalid Combination Rejected

  • Given my filters fail validation (e.g., minimum above maximum, invalid enum value, wrong type)
  • When the search runs
  • Then I get a validation error and nothing is recorded.

Scenario 4: Repeated Combination Refreshes Instead of Duplicating

  • Given I already saved the same combination
  • When I apply it again
  • Then its timestamp is refreshed and no duplicate card is created.

Scenario 5: Keep Only the Latest 10

  • Given I have 10 saved combinations
  • When an 11th distinct one is saved
  • Then the oldest card is evicted.

Scenario 6: Filters and Searches Stay Independent

  • Given I filter and type a keyword in the same request
  • When the combination is recorded
  • Then the keyword text is never stored with the filter card.

4. Resources & References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions