mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-31 11:21:06 -04:00
50 lines
1.5 KiB
Ruby
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
|