diff --git a/app/models/search_term.rb b/app/models/search_term.rb index f45b22a..d6720ac 100644 --- a/app/models/search_term.rb +++ b/app/models/search_term.rb @@ -42,6 +42,7 @@ class SearchTerm < ActiveRecord::Base def calculate_relevance(valid_occurrences) indexed = valid_occurrences.last.indexed.to_f + return 0 if indexed == 0 total = valid_occurrences.last.total.to_f (1 - indexed/total)*100 end diff --git a/test/unit/search_term_test.rb b/test/unit/search_term_test.rb index 2fb6284..4a1bba8 100644 --- a/test/unit/search_term_test.rb +++ b/test/unit/search_term_test.rb @@ -118,4 +118,12 @@ class SearchTermTest < ActiveSupport::TestCase assert st1.score > st2.score, "Less ratio results:total are not getting higher scores." end + + should 'consider relevance zero if no results indexed' do + st = SearchTerm.find_or_create('st', Environment.default) + SearchTermOccurrence.create!(:search_term => st, :total => 10, :indexed => 0) + SearchTerm.calculate_scores + st.reload + assert_equal 0, st.score + end end -- libgit2 0.21.2