mirror of
https://github.com/Growstuff/growstuff.git
synced 2025-12-24 01:57:46 -05:00
52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe PostsController do
|
|
login_member
|
|
|
|
def valid_attributes
|
|
member = FactoryBot.create(:member)
|
|
{ author_id: member.id, subject: "blah", body: "blah blah" }
|
|
end
|
|
|
|
describe '#index' do
|
|
before do
|
|
FactoryBot.create_list(:post, 100)
|
|
FactoryBot.create_list(:post, 5, author: member)
|
|
end
|
|
|
|
describe "everyone's posts" do
|
|
before { get :index }
|
|
|
|
it { expect(assigns(:posts).size).to eq 12 }
|
|
end
|
|
|
|
describe "one member's posts" do
|
|
before { get :index, params: { member_slug: member.slug } }
|
|
|
|
it { expect(assigns(:posts).size).to eq 5 }
|
|
it { expect(assigns(:posts).first.author).to eq member }
|
|
end
|
|
end
|
|
|
|
describe "GET RSS feed" do
|
|
it "returns an RSS feed" do
|
|
get :index, format: "rss"
|
|
expect(response).to be_successful
|
|
expect(response).to render_template("posts/index")
|
|
expect(response.content_type).to eq("application/rss+xml; charset=utf-8")
|
|
end
|
|
end
|
|
|
|
describe "GET RSS feed for individual post" do
|
|
it "returns an RSS feed" do
|
|
post = Post.create! valid_attributes
|
|
get :show, format: "rss", params: { id: post.slug }
|
|
expect(response).to be_successful
|
|
expect(response).to render_template("posts/show")
|
|
expect(response.content_type).to eq("application/rss+xml; charset=utf-8")
|
|
end
|
|
end
|
|
end
|