Initial commit
This commit is contained in:
56
spec/controllers/notes_controller_spec.rb
Normal file
56
spec/controllers/notes_controller_spec.rb
Normal file
@@ -0,0 +1,56 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe NotesController, type: :controller do
|
||||
let(:current_user) { create(:user) }
|
||||
let(:releasable) { create(:appearance_release) }
|
||||
|
||||
before do
|
||||
sign_in current_user
|
||||
end
|
||||
|
||||
describe "#index" do
|
||||
it "responds successfully" do
|
||||
get :index, xhr: true, params: { "#{releasable.model_name.singular}_id" => releasable }
|
||||
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
describe "#new" do
|
||||
it "responds successfully" do
|
||||
get :new, xhr: true, params: { "#{releasable.model_name.singular}_id" => releasable }
|
||||
end
|
||||
end
|
||||
|
||||
describe "#create" do
|
||||
it "responds successfully" do
|
||||
post :create, xhr: true, params: { "#{releasable.model_name.singular}_id" => releasable, note: note_params }
|
||||
|
||||
expect(response).to be_successful
|
||||
end
|
||||
|
||||
it "creates a new Note record" do
|
||||
expect {
|
||||
post :create, xhr: true, params: { "#{releasable.model_name.singular}_id" => releasable, note: note_params }
|
||||
}.to change(Note, :count).by(1)
|
||||
end
|
||||
|
||||
context "when the new note is not valid" do
|
||||
before do
|
||||
allow_any_instance_of(Note).to receive(:save).and_return(false)
|
||||
end
|
||||
|
||||
it "does not create a new Note record" do
|
||||
expect {
|
||||
post :create, xhr: true, params: { "#{releasable.model_name.singular}_id" => releasable, note: note_params }
|
||||
}.not_to change(Note, :count)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def note_params
|
||||
attributes_for(:note)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user