Skip to content

test(hybrid): exercise FilterExpression form of vsimFilter in integration#33

Open
banker wants to merge 1 commit into
mainfrom
feat/hybrid-vsim-filter-integration-test
Open

test(hybrid): exercise FilterExpression form of vsimFilter in integration#33
banker wants to merge 1 commit into
mainfrom
feat/hybrid-vsim-filter-integration-test

Conversation

@banker
Copy link
Copy Markdown
Contributor

@banker banker commented May 22, 2026

Summary

Closes #20. The type widening (vsimFilter: string | FilterExpression), the renderFilter() plumbing, the unit-test coverage of both forms, and the docs update all landed during PR #9's review cycle. This PR fills the last remaining acceptance criterion from the issue: an integration test that drives the typed DSL form through FT.HYBRID against a real Redis 8.4+ container.

  • New test inside the existing vsimFilter (pre-filter on vector candidates) describe block.
  • Composes Tag('category').eq('furniture').and(Num('price').lt(400)) to confirm DSL composition renders correctly to Redis's filter dialect.
  • Reuses the "gibberish text → only the VSIM side runs" isolation strategy from the existing string-form test, so the assertion truly pins vsimFilter behavior.

Test plan

  • npm run type-check:tests — clean
  • npx vitest run tests/integration/hybrid-search.test.ts — 9/9 passing (8 pre-existing + 1 new)
  • CI green

🤖 Generated with Claude Code

…tion

Closes #20. The type widening, renderFilter plumbing, unit tests, and docs
all landed with PR #9; this fills the last remaining acceptance criterion
by running the typed DSL end-to-end against Redis 8.4+.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 22, 2026 20:33
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds missing integration coverage for the FilterExpression (typed filter DSL) form of HybridQuery.vsimFilter by driving FT.HYBRID against a real Redis 8.4+ instance, closing the final acceptance criterion from #20.

Changes:

  • Imports the typed filter DSL helpers (Tag, Num) into the hybrid integration test suite.
  • Adds an integration test verifying vsimFilter accepts a composed FilterExpression and correctly gates VSIM-side candidates (using the existing “gibberish text” isolation strategy).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Widen HybridQuery.vsimFilter to accept FilterExpression

2 participants