Sha256: bdf35cd785cff5fc6cb18c44e2dec80f15a4216c33e3976d684f374ba5819ee3

Contents?: true

Size: 825 Bytes

Versions: 3

Compression:

Stored size: 825 Bytes

Contents

require 'spec_helper'

describe ExampleController, type: :controller do
  before(:each) do
    PersistCampaign.configure { |c| c.keys = %w{alpha beta} }
  end
  let(:params) { { alpha: '1', beta: '2' } }

  it 'should persist specified params' do
    get 'foo', params
    expect(response).to redirect_to('/example/bar?alpha=1&beta=2')
  end

  it 'does not overwrite existing params' do
    get 'action_with_params', params
    expect(response).to redirect_to('/example/bar?hello=world&alpha=1&beta=2')
  end

  it 'ignores unconfigured params' do
    get 'foo', params.merge(colour: 'red')
    expect(response).to redirect_to('/example/bar?alpha=1&beta=2')
  end

  context 'with no params to persist' do
    it 'redirects normally' do
      get 'foo'
      expect(response).to redirect_to('/example/bar')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
persist_campaign-0.0.3 spec/persist_campaign/controller_spec.rb
persist_campaign-0.0.2 spec/persist_campaign/controller_spec.rb
persist_campaign-0.0.1 spec/persist_campaign/controller_spec.rb