Add association Relationship#status
This commit is contained in:
parent
5a7fe84b0b
commit
3076912768
|
@ -5,6 +5,8 @@ class Relationship < ApplicationRecord
|
|||
# Associations #
|
||||
################
|
||||
|
||||
belongs_to :status, class_name: 'RelationStatus'
|
||||
|
||||
belongs_to :person, inverse_of: :all_relationships
|
||||
|
||||
belongs_to :regional_office
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddStatusToRelationships < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
# rubocop:disable Rails/NotNullColumn
|
||||
add_reference :relationships, :status, null: false
|
||||
add_foreign_key :relationships, :relation_statuses, column: :status_id
|
||||
# rubocop:enable Rails/NotNullColumn
|
||||
end
|
||||
end
|
|
@ -719,7 +719,8 @@ CREATE TABLE public.relationships (
|
|||
person_id bigint NOT NULL,
|
||||
regional_office_id bigint NOT NULL,
|
||||
initiator_account_id bigint,
|
||||
from_date date NOT NULL
|
||||
from_date date NOT NULL,
|
||||
status_id bigint NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
@ -1364,6 +1365,13 @@ CREATE UNIQUE INDEX index_relationships_on_person_id_and_from_date ON public.rel
|
|||
CREATE INDEX index_relationships_on_regional_office_id ON public.relationships USING btree (regional_office_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_relationships_on_status_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX index_relationships_on_status_id ON public.relationships USING btree (status_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_sessions_on_account_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -1521,6 +1529,14 @@ ALTER TABLE ONLY public.regional_offices
|
|||
ADD CONSTRAINT fk_rails_7a6d5fdd9a FOREIGN KEY (federal_subject_id) REFERENCES public.federal_subjects(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: relationships fk_rails_87a7339f1f; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.relationships
|
||||
ADD CONSTRAINT fk_rails_87a7339f1f FOREIGN KEY (status_id) REFERENCES public.relation_statuses(id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: user_omniauths fk_rails_8c1c9cb22e; Type: FK CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -1600,6 +1616,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
|||
('20190915131325'),
|
||||
('20190921142404'),
|
||||
('20190921161613'),
|
||||
('20190921191213');
|
||||
('20190921191213'),
|
||||
('20190928171705');
|
||||
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
FactoryBot.define do
|
||||
factory :supporter_relationship, class: Relationship do
|
||||
association :status, factory: :some_relation_status
|
||||
association :person, factory: :initial_person
|
||||
association :regional_office
|
||||
association :initiator_account, factory: :superuser_account
|
||||
|
|
|
@ -5,6 +5,12 @@ require 'rails_helper'
|
|||
RSpec.describe Relationship do
|
||||
subject { create :supporter_relationship }
|
||||
|
||||
describe '#status' do
|
||||
it do
|
||||
is_expected.to belong_to(:status).class_name('RelationStatus').required
|
||||
end
|
||||
end
|
||||
|
||||
describe '#person' do
|
||||
it do
|
||||
is_expected.to belong_to(:person).inverse_of(:all_relationships).required
|
||||
|
|
Reference in New Issue