Add CalloutsController specs
This commit is contained in:
parent
c4667f8703
commit
bca1038553
1 changed files with 39 additions and 0 deletions
39
spec/controllers/callouts_controller_spec.rb
Normal file
39
spec/controllers/callouts_controller_spec.rb
Normal file
|
@ -0,0 +1,39 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe CalloutsController do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
describe "POST #dismiss" do
|
||||
subject { post :dismiss, feature_name: 'feature_name', format: :json }
|
||||
|
||||
context 'when callout entry does not exist' do
|
||||
it 'should create a callout entry with dismissed state' do
|
||||
expect { subject }.to change { Callout.count }.by(1)
|
||||
end
|
||||
|
||||
it 'should return success' do
|
||||
subject
|
||||
|
||||
expect(response).to have_gitlab_http_status(:ok)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when callout entry already exists' do
|
||||
let!(:callout) { create(:callout, feature_name: 'feature_name', user: user) }
|
||||
|
||||
it 'should update it with a dismissed state' do
|
||||
expect { subject }.to change { callout.reload.dismissed_state }.from(false).to(true)
|
||||
end
|
||||
|
||||
it 'should return success' do
|
||||
subject
|
||||
|
||||
expect(response).to have_gitlab_http_status(:ok)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue