summaryrefslogtreecommitdiff
path: root/spec/models/issue_email_participant_spec.rb
blob: 8ddc9a5f4780f489408a399e201c52d9546ecb96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe IssueEmailParticipant do
  describe "Associations" do
    it { is_expected.to belong_to(:issue) }
  end

  describe 'Modules' do
    subject { described_class }

    it { is_expected.to include_module(Presentable) }
  end

  describe 'Validations' do
    subject { build(:issue_email_participant) }

    it { is_expected.to validate_presence_of(:issue) }
    it { is_expected.to validate_uniqueness_of(:email).scoped_to([:issue_id]).ignoring_case_sensitivity }

    it_behaves_like 'an object with RFC3696 compliant email-formatted attributes', :email

    it 'is invalid if the email is nil' do
      subject.email = nil

      expect(subject).to be_invalid
    end
  end
end