diff options
author | Fire Demon <firedemon@creature.cafe> | 2020-09-20 21:10:14 -0500 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-09-20 22:53:42 -0500 |
commit | e3cb18ba7520997a0f605c7f90db258ccccd5e33 (patch) | |
tree | 77ad166f04c96b2bf97bf989eabc8ca1fa61948c /spec/services | |
parent | 8ede83b2179488e0a28101033e8ce9e6978ea849 (diff) | |
parent | 787d5d728923393f12421a480b3c7aee789a11fe (diff) |
Merge remote-tracking branch 'upstream/master' into merge-glitch
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/fan_out_on_write_service_spec.rb | 4 | ||||
-rw-r--r-- | spec/services/hashtag_query_service_spec.rb | 60 |
2 files changed, 2 insertions, 62 deletions
diff --git a/spec/services/fan_out_on_write_service_spec.rb b/spec/services/fan_out_on_write_service_spec.rb index b7fc7f7ed..538dc2592 100644 --- a/spec/services/fan_out_on_write_service_spec.rb +++ b/spec/services/fan_out_on_write_service_spec.rb @@ -28,10 +28,10 @@ RSpec.describe FanOutOnWriteService, type: :service do end it 'delivers status to hashtag' do - expect(Tag.find_by!(name: 'test').statuses.pluck(:id)).to include status.id + expect(TagFeed.new(Tag.find_by(name: 'test'), alice).get(20).map(&:id)).to include status.id end it 'delivers status to public timeline' do - expect(Status.as_public_timeline(alice).map(&:id)).to include status.id + expect(PublicFeed.new(alice).get(20).map(&:id)).to include status.id end end diff --git a/spec/services/hashtag_query_service_spec.rb b/spec/services/hashtag_query_service_spec.rb deleted file mode 100644 index 24282d2f0..000000000 --- a/spec/services/hashtag_query_service_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'rails_helper' - -describe HashtagQueryService, type: :service do - describe '.call' do - let(:account) { Fabricate(:account) } - let(:tag1) { Fabricate(:tag) } - let(:tag2) { Fabricate(:tag) } - let!(:status1) { Fabricate(:status, tags: [tag1]) } - let!(:status2) { Fabricate(:status, tags: [tag2]) } - let!(:both) { Fabricate(:status, tags: [tag1, tag2]) } - - it 'can add tags in "any" mode' do - results = subject.call(tag1, { any: [tag2.name] }) - expect(results).to include status1 - expect(results).to include status2 - expect(results).to include both - end - - it 'can remove tags in "all" mode' do - results = subject.call(tag1, { all: [tag2.name] }) - expect(results).to_not include status1 - expect(results).to_not include status2 - expect(results).to include both - end - - it 'can remove tags in "none" mode' do - results = subject.call(tag1, { none: [tag2.name] }) - expect(results).to include status1 - expect(results).to_not include status2 - expect(results).to_not include both - end - - it 'ignores an invalid mode' do - results = subject.call(tag1, { wark: [tag2.name] }) - expect(results).to include status1 - expect(results).to_not include status2 - expect(results).to include both - end - - it 'handles being passed non existant tag names' do - results = subject.call(tag1, { any: ['wark'] }) - expect(results).to include status1 - expect(results).to_not include status2 - expect(results).to include both - end - - it 'can restrict to an account' do - BlockService.new.call(account, status1.account) - results = subject.call(tag1, { none: [tag2.name] }, account) - expect(results).to_not include status1 - end - - it 'can restrict to local' do - status1.account.update(domain: 'example.com') - status1.update(local: false, uri: 'example.com/toot') - results = subject.call(tag1, { any: [tag2.name] }, nil, true) - expect(results).to_not include status1 - end - end -end |