Sha256: 64b8c04705648a81a23c1cd912006c6cdca7ad31c2709dd9a1fe6d36b7cf6241

Contents?: true

Size: 1.35 KB

Versions: 15

Compression:

Stored size: 1.35 KB

Contents

describe Spotlight::ContactFormsController, type: :controller do
  routes { Spotlight::Engine.routes }
  let(:exhibit) { FactoryBot.create(:exhibit) }
  let(:honeypot_field_name) { Spotlight::Engine.config.spambot_honeypot_email_field }

  before do
    request.env['HTTP_REFERER'] = 'http://example.com'
    exhibit.contact_emails_attributes = [{ 'email' => 'test@example.com' }, { 'email' => 'test2@example.com' }]
    exhibit.save!
    exhibit.contact_emails.first.tap do |e|
      if e.respond_to? :confirm
        e.confirm
      else
        e.confirm!
      end
    end
  end
  describe 'POST create' do
    it 'sends an email' do
      expect do
        post :create, params: { exhibit_id: exhibit.id, contact_form: { name: 'Joe Doe', email: 'jdoe@example.com', honeypot_field_name => '' } }
      end.to change { ActionMailer::Base.deliveries.count }.by(1)
    end
    it 'redirects back' do
      post :create, params: { exhibit_id: exhibit.id, contact_form: { name: 'Joe Doe', email: 'jdoe@example.com', honeypot_field_name => '' } }
      expect(response).to redirect_to 'http://example.com'
    end
    it 'sets a flash message' do
      post :create, params: { exhibit_id: exhibit.id, contact_form: { name: 'Joe Doe', email: 'jdoe@example.com', honeypot_field_name => '' } }
      expect(flash[:notice]).to eq 'Thanks. Your feedback has been sent.'
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
blacklight-spotlight-2.0.2 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.1 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc6 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc5 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc4 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc3 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc2 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-2.0.0.rc1 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.5.1 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.4.1 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.4.0 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.3.0 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.2.0 spec/controllers/spotlight/contact_forms_controller_spec.rb
blacklight-spotlight-1.1.0 spec/controllers/spotlight/contact_forms_controller_spec.rb