From a08e724476f47b85de9bb334eeadaf882a7a23ee Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 25 Mar 2016 02:13:30 +0100 Subject: Fix subscriptions:clear task, refactor feeds, refactor streamable activites and atom feed generation to some extent, as well as the way mentions are stored --- spec/helpers/application_helper_spec.rb | 25 ++++++++++++++++++++++++- spec/models/account_spec.rb | 12 ------------ spec/models/favourite_spec.rb | 6 ------ spec/models/follow_spec.rb | 6 ------ spec/models/status_spec.rb | 25 ------------------------- 5 files changed, 24 insertions(+), 50 deletions(-) (limited to 'spec') diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index ca38c792c..30b3653ee 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -30,6 +30,29 @@ RSpec.describe ApplicationHelper, type: :helper do end describe '#linkify' do - pending + let(:alice) { Fabricate(:account, username: 'alice') } + let(:bob) { Fabricate(:account, username: 'bob', domain: 'example.com', url: 'http://example.com/bob') } + + it 'turns mention of remote user into link' do + status = Fabricate(:status, text: 'Hello @bob@example.com', account: bob) + status.mentions.create(account: bob) + expect(helper.linkify(status)).to match('@bob@example.com') + end + + it 'turns mention of local user into link' do + status = Fabricate(:status, text: 'Hello @alice', account: bob) + status.mentions.create(account: alice) + expect(helper.linkify(status)).to match('@alice') + end + end + + describe '#account_from_mentions' do + let(:bob) { Fabricate(:account, username: 'bob', domain: 'example.com') } + let(:status) { Fabricate(:status, text: 'Hello @bob@example.com', account: bob) } + let(:mentions) { [Mention.create(status: status, account: bob)] } + + it 'returns account' do + expect(helper.account_from_mentions('bob@example.com', mentions)).to eq bob + end end end diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index 569442c2c..059e4ee3a 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -96,18 +96,6 @@ RSpec.describe Account, type: :model do end end - describe '#title' do - it 'is the same as the username' do - expect(subject.title).to eql subject.username - end - end - - describe '#content' do - it 'is the same as the note' do - expect(subject.content).to eql subject.note - end - end - describe '#ping!' do pending end diff --git a/spec/models/favourite_spec.rb b/spec/models/favourite_spec.rb index c778b13d4..6cf3af464 100644 --- a/spec/models/favourite_spec.rb +++ b/spec/models/favourite_spec.rb @@ -42,12 +42,6 @@ RSpec.describe Favourite, type: :model do end end - describe '#mentions' do - it 'is always empty' do - expect(subject.mentions).to be_empty - end - end - describe '#thread' do it 'equals the target' do expect(subject.thread).to eq subject.target diff --git a/spec/models/follow_spec.rb b/spec/models/follow_spec.rb index 28bd41dfd..c9d02ab16 100644 --- a/spec/models/follow_spec.rb +++ b/spec/models/follow_spec.rb @@ -35,10 +35,4 @@ RSpec.describe Follow, type: :model do expect(subject.target).to eq bob end end - - describe '#mentions' do - it 'is empty' do - expect(subject.mentions).to be_empty - end - end end diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index 2bf2c744f..b9d079521 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -40,31 +40,6 @@ RSpec.describe Status, type: :model do end end - describe '#mentions' do - before do - bob # make sure the account exists - end - - it 'is empty if the status is self-contained and does not mention anyone' do - expect(subject.mentions).to be_empty - end - - it 'returns mentioned accounts' do - subject.mentioned_accounts.create!(account: bob) - expect(subject.mentions).to include bob - end - - it 'returns account of the replied-to status' do - subject.thread = other - expect(subject.mentions).to include bob - end - - it 'returns the account of the shared status' do - subject.reblog = other - expect(subject.mentions).to include bob - end - end - describe '#verb' do it 'is always post' do expect(subject.verb).to be :post -- cgit