more synapse controller tests

This commit is contained in:
Devin Howard 2016-10-25 11:45:33 +08:00
parent 070bb0c368
commit 01e6480920
2 changed files with 17 additions and 1 deletions

View file

@ -60,5 +60,4 @@ class SynapsePolicy < ApplicationPolicy
record.permission == 'commons' || record.permission == 'public' || record.user == user
end
end
end

View file

@ -35,6 +35,16 @@ RSpec.describe SynapsesController, type: :controller do
end
end
context 'with private topics' do
it 'redirects to /' do
post :create, format: :json, params: {
synapse: valid_attributes.merge(topic1_id: create(:topic, permission: 'private'), topic2_id: create(:topic, permission: 'private'))
}
expect(response.status).to eq 302
expect(response).to redirect_to('/')
end
end
context 'with invalid params' do
it 'returns 422 UNPROCESSABLE ENTITY' do
post :create, format: :json, params: {
@ -42,6 +52,13 @@ RSpec.describe SynapsesController, type: :controller do
}
expect(response.status).to eq 422
end
it 'does not create a synapse' do
expect {
post :create, format: :json, params: { synapse: invalid_attributes }
}.to change {
Synapse.count
}.by 0
end
end
end