mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
72 lines
1.7 KiB
Ruby
72 lines
1.7 KiB
Ruby
require 'rails_helper'
|
|
|
|
shared_examples_for 'content with an is_public scope' do
|
|
context 'when model is in a public universe' do
|
|
let(:universe) { create(:universe, privacy: 'public') }
|
|
|
|
context 'when model is private' do
|
|
let(:model) do
|
|
create(
|
|
described_class.model_name.param_key.to_sym,
|
|
universe: universe,
|
|
privacy: 'private'
|
|
)
|
|
end
|
|
|
|
describe '#is_public' do
|
|
subject { described_class.is_public }
|
|
it { is_expected.to include(model) }
|
|
end
|
|
end
|
|
|
|
context 'when model is public' do
|
|
let(:model) do
|
|
create(
|
|
described_class.model_name.param_key.to_sym,
|
|
universe: universe,
|
|
privacy: 'public'
|
|
)
|
|
end
|
|
|
|
describe '#is_public' do
|
|
subject { described_class.is_public }
|
|
it { is_expected.to include(model) }
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'when model is in a private universe' do
|
|
let(:universe) { build(:universe, privacy: 'private') }
|
|
|
|
context 'when model is private' do
|
|
let(:model) do
|
|
create(
|
|
described_class.model_name.param_key.to_sym,
|
|
universe: universe,
|
|
privacy: 'private'
|
|
)
|
|
end
|
|
|
|
describe '#is_public' do
|
|
subject { described_class.is_public }
|
|
it { is_expected.to_not include(model) }
|
|
end
|
|
end
|
|
|
|
context 'when model is public' do
|
|
let(:model) do
|
|
create(
|
|
described_class.model_name.param_key.to_sym,
|
|
universe: universe,
|
|
privacy: 'public'
|
|
)
|
|
end
|
|
|
|
describe '#is_public' do
|
|
subject { described_class.is_public }
|
|
it { is_expected.to include(model) }
|
|
end
|
|
end
|
|
end
|
|
end
|