b89353b76c
* Add `invited_by` foreign key to User Allows for a User to be tied to the user who invited them * Include `current_user` in new agent initialization parameters * Add `shoulda-matchers` for testing associations * Add Inviter information and associated account to welcome email * Only show inviter info if applicable * Update conversation spec for FFaker compatibility
24 lines
775 B
Ruby
24 lines
775 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe User do
|
|
context 'validations' do
|
|
it { is_expected.to validate_presence_of(:email) }
|
|
it { is_expected.to validate_presence_of(:name) }
|
|
it { is_expected.to validate_presence_of(:account_id) }
|
|
end
|
|
|
|
context 'associations' do
|
|
it { is_expected.to belong_to(:account) }
|
|
it { is_expected.to belong_to(:inviter).class_name('User').required(false) }
|
|
|
|
it do
|
|
is_expected.to have_many(:assigned_conversations)
|
|
.class_name('Conversation').dependent(:nullify)
|
|
end
|
|
it { is_expected.to have_many(:inbox_members).dependent(:destroy) }
|
|
it { is_expected.to have_many(:assigned_inboxes).through(:inbox_members) }
|
|
it { is_expected.to have_many(:messages) }
|
|
end
|
|
end
|