Sha256: 677b0345e9005c1a39cff25a0264ff74fc6f955caf5f89e873ba5e68afea1342

Contents?: true

Size: 1.65 KB

Versions: 5

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

5 entries across 5 versions & 1 rubygems

Version Path
blacklight-spotlight-3.0.0.alpha.7 spec/features/create_exhibit_spec.rb
blacklight-spotlight-3.0.0.alpha.6 spec/features/create_exhibit_spec.rb
blacklight-spotlight-3.0.0.alpha.5 spec/features/create_exhibit_spec.rb
blacklight-spotlight-3.0.0.alpha.4 spec/features/create_exhibit_spec.rb
blacklight-spotlight-3.0.0.alpha.3 spec/features/create_exhibit_spec.rb