diff options
author | Starfall <us@starfall.systems> | 2022-08-26 18:09:33 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2022-08-26 18:09:33 -0500 |
commit | b581e6b6d4a5ba9ed4ae17427b7f2d5d158be4e5 (patch) | |
tree | 06c3f6859d5cee4794d678a0aa57d15c31036ce4 /spec/presenters/status_relationships_presenter_spec.rb | |
parent | 3871928aa4f660cdf1a0c451ac3396052b59ddea (diff) | |
parent | 978dd7e73c911441503ff803ffdce544ce50a33d (diff) |
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'spec/presenters/status_relationships_presenter_spec.rb')
-rw-r--r-- | spec/presenters/status_relationships_presenter_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/presenters/status_relationships_presenter_spec.rb b/spec/presenters/status_relationships_presenter_spec.rb index 5cd4929a6..eaab922fd 100644 --- a/spec/presenters/status_relationships_presenter_spec.rb +++ b/spec/presenters/status_relationships_presenter_spec.rb @@ -94,5 +94,32 @@ RSpec.describe StatusRelationshipsPresenter do expect(matched_filters[0].keyword_matches).to eq ['irrelevant'] end end + + context 'when post includes filtered individual statuses' do + let(:statuses) { [Fabricate(:status, text: 'hello world'), Fabricate(:status, reblog: Fabricate(:status, text: 'this toot is about an irrelevant word'))] } + let(:options) { {} } + + before do + filter = Account.find(current_account_id).custom_filters.create!(phrase: 'filter1', context: %w(home), action: :hide) + filter.statuses.create!(status_id: statuses[0].id) + filter.statuses.create!(status_id: statuses[1].reblog_of_id) + end + + it 'sets @filters_map to filter top-level status' do + matched_filters = presenter.filters_map[statuses[0].id] + expect(matched_filters.size).to eq 1 + + expect(matched_filters[0].filter.title).to eq 'filter1' + expect(matched_filters[0].status_matches).to eq [statuses[0].id] + end + + it 'sets @filters_map to filter reblogged status' do + matched_filters = presenter.filters_map[statuses[1].reblog_of_id] + expect(matched_filters.size).to eq 1 + + expect(matched_filters[0].filter.title).to eq 'filter1' + expect(matched_filters[0].status_matches).to eq [statuses[1].reblog_of_id] + end + end end end |