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.
31 lines
892 B
31 lines
892 B
# frozen_string_literal: true |
|
|
|
require 'rails_helper' |
|
|
|
RSpec.describe ReportNote do |
|
describe 'chronological scope' do |
|
it 'returns report notes oldest to newest' do |
|
report = Fabricate(:report) |
|
note1 = Fabricate(:report_note, report: report) |
|
note2 = Fabricate(:report_note, report: report) |
|
|
|
expect(report.notes.chronological).to eq [note1, note2] |
|
end |
|
end |
|
|
|
describe 'validations' do |
|
it 'is invalid if the content is empty' do |
|
report = Fabricate.build(:report_note, content: '') |
|
expect(report.valid?).to be false |
|
end |
|
|
|
it 'is invalid if content is longer than character limit' do |
|
report = Fabricate.build(:report_note, content: comment_over_limit) |
|
expect(report.valid?).to be false |
|
end |
|
|
|
def comment_over_limit |
|
Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2) |
|
end |
|
end |
|
end
|
|
|