* Backend MVP - Migration - Model - Associations * Add factory, spec, and validations - Add unqiue index for validations * Fix specs * Add author to email_subscriptions * Add user association to set_author_id * Add clarifying comment to set_author_id * Writing is hard sometimes * Rename email_subscriptions to subscription_sources * UserSubscription and user_subscription_sourceable * subscribers --> sourced_subscribers * Add comment to explain UserSubscription model
14 lines
689 B
Ruby
14 lines
689 B
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe UserSubscription, type: :model do
|
|
subject { build(:user_subscription) }
|
|
|
|
describe "validations" do
|
|
it { is_expected.to validate_presence_of(:user_subscription_sourceable_id) }
|
|
it { is_expected.to validate_presence_of(:user_subscription_sourceable_type) }
|
|
it { is_expected.to validate_presence_of(:subscriber_id) }
|
|
it { is_expected.to validate_presence_of(:author_id) }
|
|
it { is_expected.to validate_inclusion_of(:user_subscription_sourceable_type).in_array(%w[Article]) }
|
|
it { is_expected.to validate_uniqueness_of(:subscriber_id).scoped_to(:user_subscription_sourceable_type, :user_subscription_sourceable_id) }
|
|
end
|
|
end
|