diff --git a/spec/controllers/ajax/answer_controller_spec.rb b/spec/controllers/ajax/answer_controller_spec.rb index d80c5b82..bdc6cef4 100644 --- a/spec/controllers/ajax/answer_controller_spec.rb +++ b/spec/controllers/ajax/answer_controller_spec.rb @@ -3,13 +3,7 @@ require "rails_helper" -describe Ajax::AnswerController, type: :controller do - shared_examples "returns the expected response" do - it "returns the expected response" do - expect(JSON.parse(subject.body)).to match(expected_response) - end - end - +describe Ajax::AnswerController, :ajax_controller, type: :controller do let(:user) { FactoryBot.create(:user) } let(:question) { FactoryBot.create(:question, user: FactoryBot.build(:user, privacy_allow_stranger_answers: asker_allows_strangers)) } let(:asker_allows_strangers) { true } diff --git a/spec/controllers/ajax/comment_controller_spec.rb b/spec/controllers/ajax/comment_controller_spec.rb index a91b7fe3..c071b03f 100644 --- a/spec/controllers/ajax/comment_controller_spec.rb +++ b/spec/controllers/ajax/comment_controller_spec.rb @@ -3,13 +3,7 @@ require "rails_helper" -describe Ajax::CommentController, type: :controller do - shared_examples "returns the expected response" do - it "returns the expected response" do - expect(JSON.parse(subject.body)).to match(expected_response) - end - end - +describe Ajax::CommentController, :ajax_controller, type: :controller do let(:user) { FactoryBot.create(:user) } let(:answer) { FactoryBot.create(:answer, user: FactoryBot.create(:user)) } diff --git a/spec/controllers/ajax/smile_controller_spec.rb b/spec/controllers/ajax/smile_controller_spec.rb index 3b739f24..7f509674 100644 --- a/spec/controllers/ajax/smile_controller_spec.rb +++ b/spec/controllers/ajax/smile_controller_spec.rb @@ -3,13 +3,7 @@ require "rails_helper" -describe Ajax::SmileController, type: :controller do - shared_examples "returns the expected response" do - it "returns the expected response" do - expect(JSON.parse(subject.body)).to match(expected_response) - end - end - +describe Ajax::SmileController, :ajax_controller, type: :controller do let(:user) { FactoryBot.create(:user) } describe "#create" do diff --git a/spec/shared_examples/ajax_controllers.rb b/spec/shared_examples/ajax_controllers.rb new file mode 100644 index 00000000..144e216d --- /dev/null +++ b/spec/shared_examples/ajax_controllers.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +RSpec.shared_context "AjaxController context" do + shared_examples "returns the expected response" do + it "returns the expected response" do + expect(JSON.parse(subject.body)).to match(expected_response) + end + end +end + +RSpec.configure do |c| + c.include_context "AjaxController context", ajax_controller: true +end