mirror of
https://github.com/Retrospring/retrospring.git
synced 2024-11-20 10:19:52 +01:00
Add specs for comment and modal controller Turbo Frame actions
This commit is contained in:
parent
4c393defb7
commit
bc0ce6be3f
3 changed files with 59 additions and 1 deletions
|
@ -7,7 +7,7 @@ class ModalController < ApplicationController
|
|||
skip_before_action :find_active_announcements, :banned?
|
||||
|
||||
def close
|
||||
redirect_to root_path unless turbo_frame_request?
|
||||
return redirect_to root_path unless turbo_frame_request?
|
||||
render inline: turbo_frame_tag("modal")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -34,4 +34,33 @@ describe CommentController, type: :controller do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#show_reactions" do
|
||||
let(:answer_author) { FactoryBot.create(:user) }
|
||||
let(:answer) { FactoryBot.create(:answer, user: answer_author) }
|
||||
let(:commenter) { FactoryBot.create(:user) }
|
||||
let(:comment) { FactoryBot.create(:comment, answer:, user: commenter) }
|
||||
|
||||
context "a regular web navigation request" do
|
||||
subject { get :show_reactions, params: { username: commenter.screen_name, id: comment.id } }
|
||||
|
||||
it "should redirect to the answer page" do
|
||||
subject
|
||||
|
||||
expect(response).to redirect_to answer_path(username: answer_author.screen_name, id: answer.id)
|
||||
end
|
||||
end
|
||||
|
||||
context "a Turbo Frame request" do
|
||||
subject { get :show_reactions, params: { username: commenter.screen_name, id: comment.id } }
|
||||
|
||||
it "renders the show_reaction template" do
|
||||
@request.headers["Turbo-Frame"] = "some_id"
|
||||
|
||||
subject
|
||||
|
||||
expect(response).to render_template(:show_reactions)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
29
spec/controllers/modal_controller_spec.rb
Normal file
29
spec/controllers/modal_controller_spec.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require "rails_helper"
|
||||
|
||||
describe ModalController, type: :controller do
|
||||
describe "#close" do
|
||||
context "a regular web navigation request" do
|
||||
subject { get :close }
|
||||
|
||||
it "should redirect to the root page" do
|
||||
subject
|
||||
|
||||
expect(response).to redirect_to root_path
|
||||
end
|
||||
end
|
||||
|
||||
context "a Turbo Frame request" do
|
||||
subject { get :close }
|
||||
|
||||
it "renders the show_reaction template" do
|
||||
@request.headers["Turbo-Frame"] = "some_id"
|
||||
|
||||
subject
|
||||
|
||||
expect(response.body).to include('<turbo-frame id="modal"></turbo-frame>')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue