topic spec - need to add permissions and fix 2 failing tests
This commit is contained in:
parent
9522c30273
commit
cf6411988d
4 changed files with 57 additions and 3 deletions
4
spec/factories/metacodes.rb
Normal file
4
spec/factories/metacodes.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
FactoryGirl.define do
|
||||
factory :metacode do
|
||||
end
|
||||
end
|
|
@ -3,7 +3,7 @@ FactoryGirl.define do
|
|||
desc { random_string(10) }
|
||||
category :to
|
||||
permission :commons
|
||||
association :node1, factory: :topic
|
||||
association :node2, factory: :topic
|
||||
association :topic1, factory: :topic
|
||||
association :topic2, factory: :topic
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,5 +2,7 @@ FactoryGirl.define do
|
|||
factory :topic do
|
||||
name { random_string(10) }
|
||||
permission :commons
|
||||
user
|
||||
metacode
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,53 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Topic, type: :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
it { is_expected.to belong_to :user }
|
||||
it { is_expected.to belong_to :metacode }
|
||||
it { is_expected.to have_many :maps }
|
||||
|
||||
context 'has_viewable_synapses function' do
|
||||
let (:user) { create(:user) }
|
||||
let (:other_user) { create(:user) }
|
||||
|
||||
context 'topic with no synapses' do
|
||||
let (:topic) { create(:topic) }
|
||||
|
||||
it 'returns false' do
|
||||
expect(topic.has_viewable_synapses(user)).to eq false
|
||||
end
|
||||
end
|
||||
|
||||
context 'topic with one unpermitted synapse' do
|
||||
let (:topic) { create(:topic) }
|
||||
let (:synapse) { create(:synapse, permission: :private, topic1: topic, user: other_user) }
|
||||
|
||||
it 'returns false' do
|
||||
expect(topic.has_viewable_synapses(user)).to eq false
|
||||
end
|
||||
end
|
||||
|
||||
context 'topic with one permitted synapse' do
|
||||
let (:topic) { create(:topic) }
|
||||
let (:synapse) { create(:synapse, permission: :private, topic1: topic, user: user) }
|
||||
|
||||
it 'returns true' do
|
||||
expect(topic.has_viewable_synapses(user)).to eq true
|
||||
end
|
||||
end
|
||||
|
||||
context 'topic with one unpermitted, one permitted synapse' do
|
||||
let (:topic) { create(:topic) }
|
||||
let (:synapse1) { create(:synapse, permission: :private, topic1: topic, user: other_user) }
|
||||
let (:synapse2) { create(:synapse, permission: :private, topic1: topic, user: user) }
|
||||
|
||||
it 'returns true' do
|
||||
expect(topic.synapses.count).to eq 2
|
||||
expect(topic.has_viewable_synapses(user)).to eq true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'permssions' do
|
||||
pending "TODO"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue