Add Account Model specs (#341)
This commit is contained in:
parent
6ca403542d
commit
c758c13ffb
4 changed files with 27 additions and 3 deletions
|
@ -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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddNotNullConstraintToAccountName < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
change_column_null :accounts, :name, false
|
||||
end
|
||||
end
|
|
@ -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
|
||||
|
|
17
spec/models/account_spec.rb
Normal file
17
spec/models/account_spec.rb
Normal 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
|
Loading…
Reference in a new issue