add posts scope filter

This commit is contained in:
João Victor Geonizeli
2022-02-28 11:22:37 -03:00
parent e1f96c04a4
commit bf3253dc9e
5 changed files with 71 additions and 24 deletions

View File

@@ -0,0 +1,37 @@
require 'rails_helper'
RSpec.describe PostsQueryResolverService, type: :service do
context '#call' do
let(:current_user) { create(:user) }
context 'when without filter' do
it 'returns all posts' do
followed_user = create(:user)
create(:user_follow, follower_id: current_user.id, followed_id: followed_user.id)
post1 = create(:post, user_id: followed_user.id)
post2 = create(:post, user_id: followed_user.id)
post3 = create(:post)
expect(
described_class.call({}, current_user)
).to eq([post1, post2, post3])
end
end
context 'when scoping by user follows' do
it 'returns only posts from user follows' do
followed_user = create(:user)
create(:user_follow, follower_id: current_user.id, followed_id: followed_user.id)
post1 = create(:post, user_id: followed_user.id)
post2 = create(:post, user_id: followed_user.id)
post3 = create(:post)
expect(
described_class.call({ scope: 'follows' }, current_user)
).to eq([post1, post2])
end
end
end
end