debian-mirror-gitlab/spec/models/notes/note_metadata_spec.rb

36 lines
1 KiB
Ruby
Raw Permalink Normal View History

2023-07-09 08:55:56 +05:30
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Notes::NoteMetadata, feature_category: :team_planning do
describe 'associations' do
it { is_expected.to belong_to(:note) }
end
describe 'callbacks' do
let_it_be(:note) { create(:note) }
let_it_be(:email) { "#{'a' * 255}@example.com" }
context 'with before_save :ensure_email_participant_length' do
let(:note_metadata) { create(:note_metadata, note: note, email_participant: email) }
context 'when email length is > 255' do
let(:expected_email) { "#{'a' * 252}..." }
it 'rewrites the email within max length' do
expect(note_metadata.email_participant.length).to eq(255)
expect(note.note_metadata.email_participant).to eq(expected_email)
end
end
context 'when email is within permissible length' do
let(:email) { 'email@example.com' }
it 'saves the email as-is' do
expect(note_metadata.email_participant).to eq(email)
end
end
end
end
end