You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
require 'rails_helper' |
|
|
|
describe Report do |
|
describe 'statuses' do |
|
it 'returns the statuses for the report' do |
|
status = Fabricate(:status) |
|
_other = Fabricate(:status) |
|
report = Fabricate(:report, status_ids: [status.id]) |
|
|
|
expect(report.statuses).to eq [status] |
|
end |
|
end |
|
|
|
describe 'media_attachments' do |
|
it 'returns media attachments from statuses' do |
|
status = Fabricate(:status) |
|
media_attachment = Fabricate(:media_attachment, status: status) |
|
_other_media_attachment = Fabricate(:media_attachment) |
|
report = Fabricate(:report, status_ids: [status.id]) |
|
|
|
expect(report.media_attachments).to eq [media_attachment] |
|
end |
|
end |
|
|
|
describe 'validatiions' do |
|
it 'has a valid fabricator' do |
|
report = Fabricate(:report) |
|
report.valid? |
|
expect(report).to be_valid |
|
end |
|
|
|
it 'is invalid if comment is longer than 1000 characters' do |
|
report = Fabricate.build(:report, comment: Faker::Lorem.characters(1001)) |
|
report.valid? |
|
expect(report).to model_have_error_on_field(:comment) |
|
end |
|
end |
|
end
|
|
|