Sha256: bc9f9a9861f48ccc33b05a64dfa7570fe45f55d10fdb2a69d348aac0f8c016be

Contents?: true

Size: 1.65 KB

Versions: 18

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

describe 'Create a new exhibit', type: :feature do
  let(:user) { FactoryBot.create(:site_admin) }
  before do
    allow(Spotlight::DefaultThumbnailJob).to receive(:perform_later)
    login_as user
  end

  it 'has a link in the user dropdown' do
    visit '/'
    within '.dropdown-menu' do
      click_link 'Create new exhibit'
    end
    expect(page).to have_selector 'h1', text: 'Manage exhibits'
    expect(page).to have_selector 'h1 small', text: 'Create a new exhibit'
  end

  it 'allows admins to create a new exhibit' do
    visit '/'
    within '.dropdown-menu' do
      click_link 'Create new exhibit'
    end

    fill_in 'Title', with: 'My exhibit title'

    click_button 'Save'

    expect(page).to have_content 'The exhibit was created.'
    expect(Spotlight::Exhibit.last.slug).to eq 'my-exhibit-title'
  end

  it 'allows admins to create a new exhibit with a slug' do
    visit '/'
    within '.dropdown-menu' do
      click_link 'Create new exhibit'
    end

    fill_in 'Title', with: 'My exhibit title'
    fill_in 'URL slug', with: 'custom-slug'

    click_button 'Save'

    expect(page).to have_content 'The exhibit was created.'
    expect(Spotlight::Exhibit.last.slug).to eq 'custom-slug'
  end

  it 'fails validation if the slug is already used' do
    visit spotlight.new_exhibit_path

    fill_in 'Title', with: 'My exhibit title'
    fill_in 'URL slug', with: 'custom-slug'

    click_button 'Save'

    visit spotlight.new_exhibit_path

    fill_in 'Title', with: 'My exhibit title'
    fill_in 'URL slug', with: 'custom-slug'

    click_button 'Save'
    expect(page).to have_content 'has already been taken'
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
blacklight-spotlight-3.0.0.alpha.2 spec/features/create_exhibit_spec.rb
blacklight-spotlight-3.0.0.alpha.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.13.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.12.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.12.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.11.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.10.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.9.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.8.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.7.2 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.7.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.7.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.6.1.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.6.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.6.0 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.5.2 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.5.1 spec/features/create_exhibit_spec.rb
blacklight-spotlight-2.5.0 spec/features/create_exhibit_spec.rb