@ -0,0 +1,5 @@ | |||||
# frozen_string_literal: true | |||||
Fabricator(:preview_card_provider) do | |||||
domain { Faker::Internet.domain_name } | |||||
end |
@ -0,0 +1,17 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe AccountWarningPreset do | |||||
describe 'alphabetical' do | |||||
let(:first) { Fabricate(:account_warning_preset, title: 'aaa', text: 'aaa') } | |||||
let(:second) { Fabricate(:account_warning_preset, title: 'bbb', text: 'aaa') } | |||||
let(:third) { Fabricate(:account_warning_preset, title: 'bbb', text: 'bbb') } | |||||
it 'returns records in order of title and text' do | |||||
results = described_class.alphabetic | |||||
expect(results).to eq([first, second, third]) | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,29 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe ExtendedDescription do | |||||
describe '.current' do | |||||
context 'with the default values' do | |||||
it 'makes a new instance' do | |||||
record = described_class.current | |||||
expect(record.text).to be_nil | |||||
expect(record.updated_at).to be_nil | |||||
end | |||||
end | |||||
context 'with a custom setting value' do | |||||
before do | |||||
setting = instance_double(Setting, value: 'Extended text', updated_at: 10.days.ago) | |||||
allow(Setting).to receive(:find_by).with(var: 'site_extended_description').and_return(setting) | |||||
end | |||||
it 'has the privacy text' do | |||||
record = described_class.current | |||||
expect(record.text).to eq('Extended text') | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,42 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe PreviewCardProvider do | |||||
describe 'scopes' do | |||||
let(:trendable_and_reviewed) { Fabricate(:preview_card_provider, trendable: true, reviewed_at: 5.days.ago) } | |||||
let(:not_trendable_and_not_reviewed) { Fabricate(:preview_card_provider, trendable: false, reviewed_at: nil) } | |||||
describe 'trendable' do | |||||
it 'returns the relevant records' do | |||||
results = described_class.trendable | |||||
expect(results).to eq([trendable_and_reviewed]) | |||||
end | |||||
end | |||||
describe 'not_trendable' do | |||||
it 'returns the relevant records' do | |||||
results = described_class.not_trendable | |||||
expect(results).to eq([not_trendable_and_not_reviewed]) | |||||
end | |||||
end | |||||
describe 'reviewed' do | |||||
it 'returns the relevant records' do | |||||
results = described_class.reviewed | |||||
expect(results).to eq([trendable_and_reviewed]) | |||||
end | |||||
end | |||||
describe 'pending_review' do | |||||
it 'returns the relevant records' do | |||||
results = described_class.pending_review | |||||
expect(results).to eq([not_trendable_and_not_reviewed]) | |||||
end | |||||
end | |||||
end | |||||
end |
@ -0,0 +1,28 @@ | |||||
# frozen_string_literal: true | |||||
require 'rails_helper' | |||||
describe PrivacyPolicy do | |||||
describe '.current' do | |||||
context 'with the default values' do | |||||
it 'has the privacy text' do | |||||
policy = described_class.current | |||||
expect(policy.text).to eq(PrivacyPolicy::DEFAULT_PRIVACY_POLICY) | |||||
end | |||||
end | |||||
context 'with a custom setting value' do | |||||
before do | |||||
terms_setting = instance_double(Setting, value: 'Terms text', updated_at: 10.days.ago) | |||||
allow(Setting).to receive(:find_by).with(var: 'site_terms').and_return(terms_setting) | |||||
end | |||||
it 'has the privacy text' do | |||||
policy = described_class.current | |||||
expect(policy.text).to eq('Terms text') | |||||
end | |||||
end | |||||
end | |||||
end |