Sha256: 1594990692b3bdaed863ac06e97e134e06c9753e15dd1309a736141b75ee57ff

Contents?: true

Size: 1.85 KB

Versions: 7

Compression:

Stored size: 1.85 KB

Contents

describe 'Report a Problem', type: :feature do
  let!(:exhibit) { FactoryGirl.create(:exhibit) }
  let(:honeypot_field_name) { Spotlight::Engine.config.spambot_honeypot_email_field }

  it 'does not have a header link' do
    visit root_path
    expect(page).to_not have_content 'Feedback'
  end

  describe 'when emails are setup' do
    before do
      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

    it 'accepts a problem report', js: true do
      visit spotlight.exhibit_solr_document_path(exhibit, id: 'dq287tq6352')
      click_on 'Feedback'
      expect(find('#contact_form_current_url', visible: false).value).to end_with spotlight.exhibit_solr_document_path(exhibit, id: 'dq287tq6352')
      fill_in 'Name', with: 'Some Body'
      fill_in 'Email', with: 'test@example.com'
      fill_in 'Message', with: 'This is my problem report'

      expect do
        click_on 'Send'
      end.to change { ActionMailer::Base.deliveries.count }.by(1)
    end

    it 'rejects a spammy looking problem report', js: true do
      visit spotlight.exhibit_solr_document_path(exhibit, id: 'dq287tq6352')
      click_on 'Feedback'
      expect(find('#contact_form_current_url', visible: false).value).to end_with spotlight.exhibit_solr_document_path(exhibit, id: 'dq287tq6352')
      fill_in 'Name', with: 'Some Body'
      fill_in 'Email', with: 'test@example.com'
      page.find("#contact_form_#{honeypot_field_name}", visible: false).set 'possible_spam@spam.com'
      fill_in 'Message', with: 'This is my problem report'

      expect do
        click_on 'Send'
      end.not_to change { ActionMailer::Base.deliveries.count }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
blacklight-spotlight-0.34.0 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.33.3 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.33.2 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.33.1 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.33.0 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.32.0 spec/features/report_a_problem_spec.rb
blacklight-spotlight-0.31.0 spec/features/report_a_problem_spec.rb