diff options
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/account_spec.rb | 9 | ||||
-rw-r--r-- | spec/models/favourite_spec.rb | 41 | ||||
-rw-r--r-- | spec/models/follow_spec.rb | 30 | ||||
-rw-r--r-- | spec/models/import_spec.rb | 5 | ||||
-rw-r--r-- | spec/models/mute_spec.rb | 5 | ||||
-rw-r--r-- | spec/models/report_spec.rb | 5 | ||||
-rw-r--r-- | spec/models/stream_entry_spec.rb | 14 | ||||
-rw-r--r-- | spec/models/tag_spec.rb | 10 |
8 files changed, 33 insertions, 86 deletions
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index 287f389ac..91c8d75cf 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -178,7 +178,6 @@ RSpec.describe Account, type: :model do end end - describe 'MENTION_RE' do subject { Account::MENTION_RE } @@ -190,6 +189,14 @@ RSpec.describe Account, type: :model do expect(subject.match('@alice Hey how are you?')[1]).to eq 'alice' end + it 'matches full usernames' do + expect(subject.match('@alice@example.com')[1]).to eq 'alice@example.com' + end + + it 'matches full usernames with a dot at the end' do + expect(subject.match('Hello @alice@example.com.')[1]).to eq 'alice@example.com' + end + it 'matches dot-prepended usernames' do expect(subject.match('.@alice I want everybody to see this')[1]).to eq 'alice' end diff --git a/spec/models/favourite_spec.rb b/spec/models/favourite_spec.rb index 6cf3af464..5b7126506 100644 --- a/spec/models/favourite_spec.rb +++ b/spec/models/favourite_spec.rb @@ -6,45 +6,4 @@ RSpec.describe Favourite, type: :model do let(:status) { Fabricate(:status, account: bob) } subject { Favourite.new(account: alice, status: status) } - - describe '#verb' do - it 'is always favorite' do - expect(subject.verb).to be :favorite - end - end - - describe '#title' do - it 'describes the favourite' do - expect(subject.title).to eql 'alice favourited a status by bob' - end - end - - describe '#content' do - it 'equals the title' do - expect(subject.content).to eq subject.title - end - end - - describe '#object_type' do - it 'is a note when the target is a note' do - expect(subject.object_type).to be :note - end - - it 'is a comment when the target is a comment' do - status.in_reply_to_id = 2 - expect(subject.object_type).to be :comment - end - end - - describe '#target' do - it 'is the status that was favourited' do - expect(subject.target).to eq status - end - end - - describe '#thread' do - it 'equals the target' do - expect(subject.thread).to eq subject.target - end - end end diff --git a/spec/models/follow_spec.rb b/spec/models/follow_spec.rb index c9d02ab16..eb21f3e18 100644 --- a/spec/models/follow_spec.rb +++ b/spec/models/follow_spec.rb @@ -5,34 +5,4 @@ RSpec.describe Follow, type: :model do let(:bob) { Fabricate(:account, username: 'bob') } subject { Follow.new(account: alice, target_account: bob) } - - describe '#verb' do - it 'is follow' do - expect(subject.verb).to be :follow - end - end - - describe '#title' do - it 'describes the follow' do - expect(subject.title).to eql 'alice started following bob' - end - end - - describe '#content' do - it 'is the same as the title' do - expect(subject.content).to eql subject.title - end - end - - describe '#object_type' do - it 'is a person' do - expect(subject.object_type).to be :person - end - end - - describe '#target' do - it 'is the person being followed' do - expect(subject.target).to eq bob - end - end end diff --git a/spec/models/import_spec.rb b/spec/models/import_spec.rb new file mode 100644 index 000000000..fa52077cd --- /dev/null +++ b/spec/models/import_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Import, type: :model do + +end diff --git a/spec/models/mute_spec.rb b/spec/models/mute_spec.rb new file mode 100644 index 000000000..83ba793b2 --- /dev/null +++ b/spec/models/mute_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Mute, type: :model do + +end diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb new file mode 100644 index 000000000..ade53cffa --- /dev/null +++ b/spec/models/report_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Report, type: :model do + +end diff --git a/spec/models/stream_entry_spec.rb b/spec/models/stream_entry_spec.rb index 9ecf6412a..45bf26899 100644 --- a/spec/models/stream_entry_spec.rb +++ b/spec/models/stream_entry_spec.rb @@ -3,21 +3,11 @@ require 'rails_helper' RSpec.describe StreamEntry, type: :model do let(:alice) { Fabricate(:account, username: 'alice') } let(:bob) { Fabricate(:account, username: 'bob') } - let(:follow) { Fabricate(:follow, account: alice, target_account: bob) } let(:status) { Fabricate(:status, account: alice) } let(:reblog) { Fabricate(:status, account: bob, reblog: status) } let(:reply) { Fabricate(:status, account: bob, thread: status) } - let(:favourite) { Fabricate(:favourite, account: alice, status: status) } describe '#targeted?' do - it 'returns true for a follow' do - expect(follow.stream_entry.targeted?).to be true - end - - it 'returns true for a favourite' do - expect(favourite.stream_entry.targeted?).to be true - end - it 'returns true for a reblog' do expect(reblog.stream_entry.targeted?).to be true end @@ -28,10 +18,6 @@ RSpec.describe StreamEntry, type: :model do end describe '#threaded?' do - it 'returns true for a favourite' do - expect(favourite.stream_entry.threaded?).to be true - end - it 'returns true for a reply' do expect(reply.stream_entry.threaded?).to be true end diff --git a/spec/models/tag_spec.rb b/spec/models/tag_spec.rb index 9a7f481e4..360bbc16d 100644 --- a/spec/models/tag_spec.rb +++ b/spec/models/tag_spec.rb @@ -1,5 +1,15 @@ require 'rails_helper' RSpec.describe Tag, type: :model do + describe 'HASHTAG_RE' do + subject { Tag::HASHTAG_RE } + it 'does not match URLs with anchors with non-hashtag characters' do + expect(subject.match('Check this out https://medium.com/@alice/some-article#.abcdef123')).to be_nil + end + + it 'does not match URLs with hashtag-like anchors' do + expect(subject.match('https://en.wikipedia.org/wiki/Ghostbusters_(song)#Lawsuit')).to be_nil + end + end end |