From 01e6480920e0435caba3b94800c5cd146e571516 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Tue, 25 Oct 2016 11:45:33 +0800 Subject: [PATCH] more synapse controller tests --- app/policies/synapse_policy.rb | 1 - spec/controllers/synapses_controller_spec.rb | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/policies/synapse_policy.rb b/app/policies/synapse_policy.rb index d3218204..36116970 100644 --- a/app/policies/synapse_policy.rb +++ b/app/policies/synapse_policy.rb @@ -60,5 +60,4 @@ class SynapsePolicy < ApplicationPolicy record.permission == 'commons' || record.permission == 'public' || record.user == user end end - end diff --git a/spec/controllers/synapses_controller_spec.rb b/spec/controllers/synapses_controller_spec.rb index 3a5310e4..511971ad 100644 --- a/spec/controllers/synapses_controller_spec.rb +++ b/spec/controllers/synapses_controller_spec.rb @@ -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