From 3932fce3096482593f858b94071e0fb4d59c9176 Mon Sep 17 00:00:00 2001 From: Fernando Olivares Date: Thu, 19 Feb 2026 16:16:44 -0600 Subject: [PATCH] Add tests for hyphenated string search Cover the stemmer tokenizing hyphenated input into separate words and end-to-end search finding cards with hyphenated titles. Co-Authored-By: Claude Opus 4.6 --- test/models/search/stemmer_test.rb | 6 ++++++ test/models/search_test.rb | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/test/models/search/stemmer_test.rb b/test/models/search/stemmer_test.rb index 858ed2dca..147e77869 100644 --- a/test/models/search/stemmer_test.rb +++ b/test/models/search/stemmer_test.rb @@ -12,4 +12,10 @@ class Search::StemmerTest < ActiveSupport::TestCase assert_equal "test run jump walk", result end + + test "stem hyphenated words" do + result = Search::Stemmer.stem("BC3-IOS-1D8B") + + assert_equal "bc3 io 1d8b", result + end end diff --git a/test/models/search_test.rb b/test/models/search_test.rb index 44996404b..c52a397f4 100644 --- a/test/models/search_test.rb +++ b/test/models/search_test.rb @@ -35,4 +35,11 @@ class SearchTest < ActiveSupport::TestCase results = Search::Record.for(user_without_access.account_id).search("anything", user: user_without_access) assert_empty results end + + test "search for hyphenated strings" do + card = @board.cards.create!(title: "BC3-IOS-1D8B", creator: @user, status: "published") + + results = Search::Record.for(@user.account_id).search("BC3-IOS-1D8B", user: @user) + assert results.find { |it| it.card_id == card.id } + end end