mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-03-26 02:33:03 -04:00
51 lines
1.8 KiB
Ruby
51 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe "browse crops" do
|
|
let(:tomato) { FactoryBot.create(:tomato) }
|
|
|
|
it "Show crop info" do
|
|
visit crop_path(tomato)
|
|
expect(page).to have_text 'tomato'
|
|
end
|
|
|
|
describe "shows varieties" do
|
|
let!(:cherry) { FactoryBot.create(:crop, name: 'cherry tomato', parent: tomato) }
|
|
let!(:heirloom) { FactoryBot.create(:crop, name: 'heirloom tomato', parent: tomato) }
|
|
let!(:striped) { FactoryBot.create(:crop, name: 'striped tomato', parent: heirloom) }
|
|
|
|
before { visit crop_path(tomato) }
|
|
|
|
it { expect(page).to have_link heirloom.name, href: crop_path(heirloom) }
|
|
it { expect(page).to have_link cherry.name, href: crop_path(cherry) }
|
|
it { expect(page).to have_link striped.name, href: crop_path(striped) }
|
|
end
|
|
|
|
context "when the most recently created harvest is not the most recently harvested" do
|
|
before { FactoryBot.create_list(:harvest, 20, crop: tomato, harvested_at: 1.year.ago, created_at: 1.minute.ago) }
|
|
|
|
let!(:most_recent_harvest) do
|
|
FactoryBot.create(:harvest, crop: tomato, harvested_at: 60.minutes.ago, created_at: 10.minutes.ago)
|
|
end
|
|
|
|
it "Shows most recently harvested harvest" do
|
|
visit crop_path(tomato)
|
|
expect(page).to have_link(href: harvest_path(most_recent_harvest))
|
|
end
|
|
end
|
|
|
|
context "when the most recently created planting is not the most recently planted" do
|
|
before { FactoryBot.create_list(:planting, 20, crop: tomato, planted_at: 1.year.ago, created_at: 1.minute.ago) }
|
|
|
|
let!(:most_recent_planting) do
|
|
FactoryBot.create(:planting, crop: tomato, planted_at: 60.minutes.ago, created_at: 10.minutes.ago)
|
|
end
|
|
|
|
it "Shows most recently planted planting" do
|
|
visit crop_path(tomato)
|
|
expect(page).to have_link(href: planting_path(most_recent_planting))
|
|
end
|
|
end
|
|
end
|