mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-11-05 12:42:48 -05:00
64 lines
1.6 KiB
Ruby
64 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe 'seeds/index.rss.haml' do
|
|
before do
|
|
controller.stub(:current_user) { nil }
|
|
end
|
|
|
|
shared_examples 'displays seed in rss feed' do
|
|
it 'has a useful item title' do
|
|
expect(rendered).to have_content "#{seed.owner.login_name}'s #{seed.crop.name} seeds"
|
|
end
|
|
|
|
it 'shows the seed count' do
|
|
expect(rendered).to have_content "Quantity: #{seed.quantity}"
|
|
end
|
|
|
|
it 'shows the plant_before date' do
|
|
expect(rendered).to have_content "Plant before: #{seed.plant_before.year}"
|
|
end
|
|
end
|
|
|
|
context 'all seeds' do
|
|
let!(:seed) { create(:seed) }
|
|
let!(:tradable) { create(:tradable_seed) }
|
|
|
|
before do
|
|
assign(:seeds, Seed.all)
|
|
render
|
|
end
|
|
|
|
include_examples 'displays seed in rss feed'
|
|
|
|
it 'shows RSS feed title' do
|
|
expect(rendered).to have_content "Recent seeds from all members"
|
|
end
|
|
|
|
it 'mentions that one seed is tradable' do
|
|
expect(rendered).to have_content "Will trade #{tradable.tradable_to} from #{tradable.owner.location}"
|
|
end
|
|
|
|
it "does not offer untradable seed as tradeable" do
|
|
expect(rendered).to have_no_content "Will trade #{seed.tradable_to} from #{seed.owner.location}"
|
|
end
|
|
end
|
|
|
|
context "one member's seeds" do
|
|
let!(:seed) { create(:seed) }
|
|
|
|
before do
|
|
assign(:owner, seed.owner)
|
|
assign(:seeds, Seed.all)
|
|
render
|
|
end
|
|
|
|
it 'shows RSS feed title' do
|
|
expect(rendered).to have_content "Recent seeds from #{seed.owner}"
|
|
end
|
|
|
|
include_examples 'displays seed in rss feed'
|
|
end
|
|
end
|