Files
app
bin
config
db
docs
lib
log
nanobox
public
spec
controllers
fabricators
features
fixtures
helpers
javascript
lib
mailers
models
concerns
form
web
account_domain_block_spec.rb
account_filter_spec.rb
account_spec.rb
block_spec.rb
conversation_mute_spec.rb
conversation_spec.rb
domain_block_spec.rb
export_spec.rb
favourite_spec.rb
feed_spec.rb
follow_request_spec.rb
follow_spec.rb
import_spec.rb
media_attachment_spec.rb
mention_spec.rb
mute_spec.rb
notification_spec.rb
preview_card_spec.rb
report_filter_spec.rb
report_spec.rb
session_activation_spec.rb
status_pin_spec.rb
status_spec.rb
stream_entry_spec.rb
subscription_spec.rb
tag_spec.rb
user_spec.rb
policies
presenters
requests
routing
services
support
validators
views
workers
rails_helper.rb
spec_helper.rb
streaming
vendor
.babelrc
.buildpacks
.codeclimate.yml
.dockerignore
.editorconfig
.env.nanobox
.env.production.sample
.env.test
.env.vagrant
.eslintignore
.eslintrc.yml
.foreman
.gitattributes
.gitignore
.haml-lint.yml
.nanoignore
.nvmrc
.postcssrc.yml
.profile
.rspec
.rubocop.yml
.ruby-version
.scss-lint.yml
.slugignore
.travis.yml
Aptfile
CODEOWNERS
CONTRIBUTING.md
Capfile
Dockerfile
Gemfile
Gemfile.lock
ISSUE_TEMPLATE.md
LICENSE
Procfile
Procfile.dev
README.md
Rakefile
Vagrantfile
app.json
boxfile.yml
config.ru
docker-compose.yml
docker_entrypoint.sh
package.json
scalingo.json
yarn.lock
hometown/spec/models/feed_spec.rb
Akihiko Odaki (@fn_aki@pawoo.net) f85dbe83c8 Remove sort in Feed ()
In from_redis method, statuses retrieved from the database was mapped to
the IDs retrieved from Redis. It was equivalent to order from high to low
because those IDs are sorted in the same order.
Statuses are ordered with the ID by default, so we do not have to reorder.
Sorting statuses in the database is even faster since the IDs are indexed
with B-tree.
2017-07-03 13:17:27 +02:00

22 lines
717 B
Ruby

require 'rails_helper'
RSpec.describe Feed, type: :model do
describe '#get' do
it 'gets statuses with ids in the range' do
account = Fabricate(:account)
Fabricate(:status, account: account, id: 1)
Fabricate(:status, account: account, id: 2)
Fabricate(:status, account: account, id: 3)
Fabricate(:status, account: account, id: 10)
Redis.current.zadd(FeedManager.instance.key(:home, account.id),
[[4, 'deleted'], [3, 'val3'], [2, 'val2'], [1, 'val1']])
feed = Feed.new(:home, account)
results = feed.get(3)
expect(results.map(&:id)).to eq [3, 2]
expect(results.first.attributes.keys).to eq %w(id updated_at)
end
end
end