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) }
|
desc { random_string(10) }
|
||||||
category :to
|
category :to
|
||||||
permission :commons
|
permission :commons
|
||||||
association :node1, factory: :topic
|
association :topic1, factory: :topic
|
||||||
association :node2, factory: :topic
|
association :topic2, factory: :topic
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,5 +2,7 @@ FactoryGirl.define do
|
||||||
factory :topic do
|
factory :topic do
|
||||||
name { random_string(10) }
|
name { random_string(10) }
|
||||||
permission :commons
|
permission :commons
|
||||||
|
user
|
||||||
|
metacode
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,53 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Topic, type: :model do
|
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
|
end
|
||||||
|
|
Loading…
Reference in a new issue