Models specs coverage (#23940)
This commit is contained in:
		
							
								
								
									
										5
									
								
								spec/fabricators/preview_card_provider_fabricator.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								spec/fabricators/preview_card_provider_fabricator.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
Fabricator(:preview_card_provider) do
 | 
			
		||||
  domain { Faker::Internet.domain_name }
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										17
									
								
								spec/models/account_warning_preset_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								spec/models/account_warning_preset_spec.rb
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										29
									
								
								spec/models/extended_description_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								spec/models/extended_description_spec.rb
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										42
									
								
								spec/models/preview_card_provider_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								spec/models/preview_card_provider_spec.rb
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
							
								
								
									
										28
									
								
								spec/models/privacy_policy_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								spec/models/privacy_policy_spec.rb
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user