diff --git a/app/services/discovery_engine/query/search.rb b/app/services/discovery_engine/query/search.rb index 94d4853..804d90c 100644 --- a/app/services/discovery_engine/query/search.rb +++ b/app/services/discovery_engine/query/search.rb @@ -56,7 +56,9 @@ def query end def serving_config - ServingConfig.default.name + return ServingConfig.default.name unless query_params[:serving_config].present? + + ServingConfig.new(query_params[:serving_config]).name end def page_size diff --git a/spec/services/discovery_engine/query/search_spec.rb b/spec/services/discovery_engine/query/search_spec.rb index ec3353e..4a58b0d 100644 --- a/spec/services/discovery_engine/query/search_spec.rb +++ b/spec/services/discovery_engine/query/search_spec.rb @@ -204,6 +204,16 @@ ) end end + + context "when a serving config is manually specified" do + let(:query_params) { { q: "garden centres", serving_config: "preview" } } + + it "calls the client with the expected parameters" do + expect(client).to have_received(:search).with( + hash_including(serving_config: ServingConfig.new("preview").name) + ) + end + end end end end