2020-09-25 21:02:34 +00:00
|
|
|
require 'rails_helper'
|
|
|
|
|
2022-05-16 08:29:59 +00:00
|
|
|
RSpec.describe Portal, type: :model do
|
2020-09-25 21:02:34 +00:00
|
|
|
context 'with validations' do
|
|
|
|
it { is_expected.to validate_presence_of(:account_id) }
|
|
|
|
it { is_expected.to validate_presence_of(:slug) }
|
|
|
|
it { is_expected.to validate_presence_of(:name) }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'associations' do
|
|
|
|
it { is_expected.to belong_to(:account) }
|
|
|
|
it { is_expected.to have_many(:categories) }
|
|
|
|
it { is_expected.to have_many(:folders) }
|
|
|
|
it { is_expected.to have_many(:articles) }
|
2022-07-04 14:59:44 +00:00
|
|
|
it { is_expected.to have_many(:portal_members) }
|
|
|
|
it { is_expected.to have_many(:members) }
|
2020-09-25 21:02:34 +00:00
|
|
|
end
|
2022-07-11 07:13:24 +00:00
|
|
|
|
|
|
|
describe 'validations' do
|
|
|
|
let!(:account) { create(:account) }
|
|
|
|
let!(:portal) { create(:portal, account_id: account.id) }
|
|
|
|
|
|
|
|
context 'when set portal config' do
|
|
|
|
it 'Adds default allowed_locales en' do
|
|
|
|
expect(portal.config).to be_present
|
|
|
|
expect(portal.config['allowed_locales']).to eq(['en'])
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'Does not allow any other config than allowed_locales' do
|
|
|
|
portal.update(config: { 'some_other_key': 'test_value' })
|
|
|
|
expect(portal).not_to be_valid
|
|
|
|
expect(portal.errors.full_messages[0]).to eq('Cofig in portal on some_other_key is not supported.')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2020-09-25 21:02:34 +00:00
|
|
|
end
|