1
0
mirror of https://github.com/danbee/danbarberphoto synced 2025-03-04 08:49:07 +00:00
danbarberphoto/spec/features/visitor_navigates_site_spec.rb
Dan Barber e2c4ebf0e9 Use Kaminari instead of WillPaginate
This is to avoid any conflict with Kaminari in Administrate. We also add
some specs for pagination in the front end.
2015-10-26 14:26:32 +00:00

67 lines
1.6 KiB
Ruby

require 'spec_helper'
feature 'visitor navigates site' do
it 'shows the featured image on the home page' do
category = create(:category)
photo = create(:photo, featured: true, categories: [category])
visit root_path
expect(page).to have_selector("a[data-id='#{photo.id}']")
end
it 'increments the view counter when an image is displayed', js: true do
category = create(:category)
photo = create(:photo, featured: true, categories: [category])
visit root_path
selector = "a[data-id='#{photo.id}']"
page.find(selector).click
expect(page).to have_selector('img.fancybox-image')
wait_for_ajax
photo.reload
expect(photo.views).to eq(1)
end
it 'shows the categories' do
categories = create_list(:category, 5)
visit root_path
click_link 'portfolio'
expect(page).to have_link(categories.first.name.downcase)
click_link '→'
expect(page).to have_link(categories.last.name.downcase)
end
it 'shows the photos for the category' do
category = create(:category)
photo = create(:photo, featured: true, categories: [category])
visit categories_path
click_link category.name.downcase
selector = "a[data-id='#{photo.id}']"
expect(page).to have_selector(selector)
end
it 'shows the second page of photos' do
category = create(:category)
photos = create_list(:photo, 12, featured: true, categories: [category])
visit url_for([category, :photos])
click_link '→'
selector = "a[data-id='#{photos.last.id}']"
expect(page).to have_selector(selector)
end
end