Files
growstuff/spec/features/seeds/stack_open_spec.rb
T

50 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe "opening a stack of packets", :js do
let(:owner) { create(:member) }
let(:crop) { create(:crop, name: 'Brandywine tomato') }
let(:pile_button) { 'Brandywine tomato, 3 packets. Open to see each packet' }
context "with three packets of one variety" do
before do
create_list(:seed, 3, owner:, crop:)
visit member_seeds_path(owner)
end
context "when closed" do
it { expect(page).to have_button(pile_button) }
it { expect(page).to have_css('.seed-packet', count: 1) }
end
context "when opened" do
before { click_button pile_button }
it { expect(page).to have_css('.seed-group .seed-group-packet', count: 3) }
it { expect(page).to have_css('.seed-group-packet .seed-packet-name a', count: 3) }
it { expect(page).to have_link('Open the Brandywine tomato page →', href: crop_path(crop)) }
it { expect(page).to have_current_path member_seeds_path(owner), ignore_query: true }
end
context "when closed again" do
before do
click_button pile_button
click_button 'Close ▴'
end
it { expect(page).to have_no_css('.seed-group') }
it { expect(page).to have_button(pile_button) }
end
context "when closed with the escape key" do
before do
click_button pile_button
find_button('Close ▴').send_keys(:escape)
end
it { expect(page).to have_no_css('.seed-group') }
end
end
end