Sha256: a3ada17d106bbdb69ca50313edfde02c7b4a63417289fcfe6d3ba07025ba9a46

Contents?: true

Size: 1.37 KB

Versions: 15

Compression:

Stored size: 1.37 KB

Contents

require 'spec_helper'

describe Locomotive::Concerns::Page::Redirect do

  let(:page) { FactoryGirl.build(:page, redirect: true, redirect_url: 'http://www.locomotivecms.com') }

  describe 'redirect option enabled' do

    it 'is valid' do
      page.valid?
      expect(page.errors[:redirect_url]).to be_blank
    end

    it 'requires the presence of the redirect url' do
      page.redirect_url = ''
      page.valid?
      expect(page.errors[:redirect_url]).to eq(["can't be blank"])
    end

    it 'requires the presence of the redirect type' do
      page.redirect_type = ''
      page.valid?
      expect(page.errors[:redirect_type]).to eq(["can't be blank"])
    end

    it 'requires valid URLs' do
      page.redirect_url = 'http:/foo.fr'
      page.valid?
      expect(page.errors[:redirect_url]).to eq(['is invalid'])

      page.redirect_url = 'httpss://foo.fr'
      page.valid?
      expect(page.errors[:redirect_url]).to eq(['is invalid'])
    end

    it 'allows absolute urls' do
      page.redirect_url = '/'
      page.valid?
      expect(page.errors[:redirect_url]).to be_blank
      page.redirect_url = '/foo/bar'
      page.valid?
      expect(page.errors[:redirect_url]).to be_blank
    end

    it 'also allows mailto as a valid URL' do
      page.redirect_url = 'mailto:foo@foo.fr'
      page.valid?
      expect(page.errors[:redirect_url]).to be_blank
    end

  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
locomotivecms-3.3.0 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.3.0.rc3 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.3.0.rc2 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.2 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.2.1 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.3.0.rc1 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.2.0 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.2.0.rc2 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.2.0.rc1 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.1 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.0 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.0.rc3 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.0.rc2 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.1.0.rc1 spec/models/locomotive/concerns/page/redirect_spec.rb
locomotivecms-3.0.1 spec/models/locomotive/concerns/page/redirect_spec.rb