Add Account Model specs (#341)

This commit is contained in:
Karthik Sivadas 2019-12-03 10:09:45 +05:30 committed by Sojan Jose
parent 6ca403542d
commit c758c13ffb
4 changed files with 27 additions and 3 deletions

View file

@ -3,7 +3,7 @@
# Table name: accounts
#
# id :integer not null, primary key
# name :string
# name :string not null
# created_at :datetime not null
# updated_at :datetime not null
#
@ -11,6 +11,8 @@
class Account < ApplicationRecord
include Events::Types
validates :name, presence: true
has_many :users, dependent: :destroy
has_many :inboxes, dependent: :destroy
has_many :conversations, dependent: :destroy

View file

@ -0,0 +1,5 @@
class AddNotNullConstraintToAccountName < ActiveRecord::Migration[6.0]
def change
change_column_null :accounts, :name, false
end
end

View file

@ -10,13 +10,13 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_11_26_185833) do
ActiveRecord::Schema.define(version: 2019_12_02_173004) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "accounts", id: :serial, force: :cascade do |t|
t.string "name"
t.string "name", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

View file

@ -0,0 +1,17 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Account do
it { is_expected.to validate_presence_of(:name) }
it { is_expected.to have_many(:users).dependent(:destroy) }
it { is_expected.to have_many(:inboxes).dependent(:destroy) }
it { is_expected.to have_many(:conversations).dependent(:destroy) }
it { is_expected.to have_many(:contacts).dependent(:destroy) }
it { is_expected.to have_many(:telegram_bots).dependent(:destroy) }
it { is_expected.to have_many(:canned_responses).dependent(:destroy) }
it { is_expected.to have_many(:facebook_pages).class_name('::Channel::FacebookPage').dependent(:destroy) }
it { is_expected.to have_many(:web_widgets).class_name('::Channel::WebWidget').dependent(:destroy) }
it { is_expected.to have_one(:subscription).dependent(:destroy) }
end