diff --git a/app/models/concerns/search_cache.rb b/app/models/concerns/search_cache.rb index ad25b07de..478f9a0e1 100644 --- a/app/models/concerns/search_cache.rb +++ b/app/models/concerns/search_cache.rb @@ -6,7 +6,7 @@ module SearchCache end def calculate_tsvector - self.class.where(id: id).update_all("tsv = (#{searchable_values_sql})") + self.class.with_hidden.where(id: id).update_all("tsv = (#{searchable_values_sql})") end private diff --git a/spec/models/search_cache_spec.rb b/spec/models/search_cache_spec.rb new file mode 100644 index 000000000..03dc09368 --- /dev/null +++ b/spec/models/search_cache_spec.rb @@ -0,0 +1,27 @@ +require "rails_helper" + +describe SearchCache do + describe "#calculate_tsvector" do + it "calculates the tsv column of a record" do + debate = create(:debate) + debate.update_column(:tsv, nil) + + expect(debate.reload.tsv).to be_nil + + debate.calculate_tsvector + + expect(debate.reload.tsv).not_to be_nil + end + + it "calculates the tsv column of a hidden record" do + debate = create(:debate, :hidden) + debate.update_column(:tsv, nil) + + expect(debate.reload.tsv).to be_nil + + debate.calculate_tsvector + + expect(debate.reload.tsv).not_to be_nil + end + end +end