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