Skip to content

Commit

Permalink
Rename Filterable#search to Filterable#search_text to avoid name coll…
Browse files Browse the repository at this point in the history
…ision
  • Loading branch information
bensheldon committed Nov 5, 2021
1 parent 73bca70 commit 49f73a2
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 10 deletions.
2 changes: 1 addition & 1 deletion engine/app/filters/good_job/executions_filter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def filtered_query
query = base_query
query = query.job_class(params[:job_class]) if params[:job_class].present?
query = query.where(queue_name: params[:queue_name]) if params[:queue_name].present?
query = query.search(params['query']) if params[:query].present?
query = query.search_text(params[:query]) if params[:query].present?

if params[:state]
case params[:state]
Expand Down
2 changes: 1 addition & 1 deletion engine/app/filters/good_job/jobs_filter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def filtered_query

query = query.job_class(params[:job_class]) if params[:job_class].present?
query = query.where(queue_name: params[:queue_name]) if params[:queue_name].present?
query = query.search(params['query']) if params[:query].present?
query = query.search_text(params[:query]) if params[:query].present?

if params[:state]
case params[:state]
Expand Down
4 changes: 2 additions & 2 deletions lib/good_job/filterable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ module Filterable
end)

# Search records by text query.
# @!method search(query)
# @!method search_text(query)
# @!scope class
# @param query [String]
# Search Query
# @return [ActiveRecord::Relation]
scope :search, (lambda do |query|
scope :search_text, (lambda do |query|
query = query.to_s.strip
next if query.blank?

Expand Down
10 changes: 10 additions & 0 deletions spec/engine/filters/good_job/executions_filter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,16 @@
expect(filter.records.size).to eq 1
end
end

context 'when filtered by search' do
before do
params[:query] = 'default'
end

it 'returns a limited set of results' do
expect(filter.records.size).to eq 2
end
end
end

%w[
Expand Down
10 changes: 10 additions & 0 deletions spec/engine/filters/good_job/jobs_filter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,16 @@
expect(filter.records.size).to eq 1
end
end

context 'when filtered by search' do
before do
params[:query] = 'DeadError'
end

it 'returns a limited set of results' do
expect(filter.records.size).to eq 1
end
end
end

%w[
Expand Down
12 changes: 6 additions & 6 deletions spec/lib/good_job/filterable_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
let(:model_class) { GoodJob::Execution }
let!(:execution) { model_class.create(active_job_id: SecureRandom.uuid, queue_name: "default", serialized_params: { example_key: 'example_value' }, error: "ExampleError: a message") }

describe '.search' do
describe '.search_test' do
it 'searches serialized params' do
expect(model_class.search('example_value')).to include(execution)
expect(model_class.search_text('example_value')).to include(execution)
end

it 'searches record id' do
expect(model_class.search(execution.id)).to include(execution)
expect(model_class.search_text(execution.id)).to include(execution)
end

it 'searches errors' do
expect(model_class.search('ExampleError')).to include(execution)
expect(model_class.search_text('ExampleError')).to include(execution)
end

it 'filters out non-matching records' do
expect(model_class.search('ghost')).to be_empty
expect(model_class.search_text('ghost')).to be_empty
end

it 'is chainable and reversible' do
expect(model_class.where.not(id: nil).search('example_value').reverse).to include(execution)
expect(model_class.where.not(id: nil).search_text('example_value').reverse).to include(execution)
end
end
end

0 comments on commit 49f73a2

Please sign in to comment.