Lists (#5703)
* Add structure for lists * Add list timeline streaming API * Add list APIs, bind list-account relation to follow relation * Add API for adding/removing accounts from lists * Add pagination to lists API * Add pagination to list accounts API * Adjust scopes for new APIs - Creating and modifying lists merely requires "write" scope - Fetching information about lists merely requires "read" scope * Add test for wrong user context on list timeline * Clean up tests
This commit is contained in:
parent
4a2fc2d444
commit
24cafd73a2
67 changed files with 855 additions and 224 deletions
|
@ -18,8 +18,8 @@ RSpec.describe AfterBlockService do
|
|||
end
|
||||
|
||||
it "clears account's statuses" do
|
||||
FeedManager.instance.push(:home, account, status)
|
||||
FeedManager.instance.push(:home, account, other_account_status)
|
||||
FeedManager.instance.push_to_home(account, status)
|
||||
FeedManager.instance.push_to_home(account, other_account_status)
|
||||
|
||||
is_expected.to change {
|
||||
Redis.current.zrange(home_timeline_key, 0, -1)
|
||||
|
|
|
@ -30,11 +30,11 @@ RSpec.describe BatchedRemoveStatusService do
|
|||
end
|
||||
|
||||
it 'removes statuses from author\'s home feed' do
|
||||
expect(Feed.new(:home, alice).get(10)).to_not include([status1.id, status2.id])
|
||||
expect(HomeFeed.new(alice).get(10)).to_not include([status1.id, status2.id])
|
||||
end
|
||||
|
||||
it 'removes statuses from local follower\'s home feed' do
|
||||
expect(Feed.new(:home, jeff).get(10)).to_not include([status1.id, status2.id])
|
||||
expect(HomeFeed.new(jeff).get(10)).to_not include([status1.id, status2.id])
|
||||
end
|
||||
|
||||
it 'notifies streaming API of followers' do
|
||||
|
|
|
@ -19,12 +19,12 @@ RSpec.describe FanOutOnWriteService do
|
|||
end
|
||||
|
||||
it 'delivers status to home timeline' do
|
||||
expect(Feed.new(:home, author).get(10).map(&:id)).to include status.id
|
||||
expect(HomeFeed.new(author).get(10).map(&:id)).to include status.id
|
||||
end
|
||||
|
||||
it 'delivers status to local followers' do
|
||||
pending 'some sort of problem in test environment causes this to sometimes fail'
|
||||
expect(Feed.new(:home, follower).get(10).map(&:id)).to include status.id
|
||||
expect(HomeFeed.new(follower).get(10).map(&:id)).to include status.id
|
||||
end
|
||||
|
||||
it 'delivers status to hashtag' do
|
||||
|
|
|
@ -18,8 +18,8 @@ RSpec.describe MuteService do
|
|||
end
|
||||
|
||||
it "clears account's statuses" do
|
||||
FeedManager.instance.push(:home, account, status)
|
||||
FeedManager.instance.push(:home, account, other_account_status)
|
||||
FeedManager.instance.push_to_home(account, status)
|
||||
FeedManager.instance.push_to_home(account, other_account_status)
|
||||
|
||||
is_expected.to change {
|
||||
Redis.current.zrange(home_timeline_key, 0, -1)
|
||||
|
|
|
@ -25,11 +25,11 @@ RSpec.describe RemoveStatusService do
|
|||
end
|
||||
|
||||
it 'removes status from author\'s home feed' do
|
||||
expect(Feed.new(:home, alice).get(10)).to_not include(@status.id)
|
||||
expect(HomeFeed.new(alice).get(10)).to_not include(@status.id)
|
||||
end
|
||||
|
||||
it 'removes status from local follower\'s home feed' do
|
||||
expect(Feed.new(:home, jeff).get(10)).to_not include(@status.id)
|
||||
expect(HomeFeed.new(jeff).get(10)).to_not include(@status.id)
|
||||
end
|
||||
|
||||
it 'sends PuSH update to PuSH subscribers' do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue