1
0
Fork 0
This repository has been archived on 2023-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
lpr-partynest/spec/models/relationship_spec.rb

69 lines
1.7 KiB
Ruby
Raw Normal View History

2019-04-27 14:24:04 +00:00
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Relationship do
subject { create :supporter_relationship }
2019-07-20 10:07:02 +00:00
describe '#person' do
it do
is_expected.to belong_to(:person).inverse_of(:all_relationships).required
end
2019-07-20 10:07:02 +00:00
end
describe '#regional_office' do
it do
is_expected.to \
belong_to(:regional_office).inverse_of(:all_relationships).required
end
2019-07-20 10:07:02 +00:00
end
2019-04-28 12:48:51 +00:00
describe '#from_date' do
it { is_expected.to validate_presence_of :from_date }
2019-04-28 13:24:01 +00:00
it do
is_expected.to \
validate_uniqueness_of(:from_date)
2019-07-20 06:02:32 +00:00
.scoped_to(:person_id)
2019-04-28 13:24:01 +00:00
end
end
2019-06-05 02:33:45 +00:00
describe '#status' do
it { is_expected.to validate_presence_of :status }
end
2019-07-20 09:12:58 +00:00
describe '#role' do
2019-07-22 02:30:58 +00:00
def allow_value(*)
super.for :role
end
2019-07-20 09:12:58 +00:00
context 'for supporter relationship' do
subject { create :supporter_relationship }
2019-07-22 02:30:58 +00:00
it { is_expected.to allow_value nil }
it { is_expected.not_to allow_value described_class.roles.keys.sample }
2019-07-20 09:12:58 +00:00
end
context 'for excluded supporter relationship' do
subject { create :excluded_supporter_relationship }
2019-07-22 02:30:58 +00:00
it { is_expected.to allow_value nil }
it { is_expected.not_to allow_value described_class.roles.keys.sample }
2019-07-20 09:12:58 +00:00
end
context 'for excluded member relationship' do
subject { create :excluded_member_relationship }
2019-07-22 02:30:58 +00:00
it { is_expected.to allow_value nil }
it { is_expected.not_to allow_value described_class.roles.keys.sample }
2019-07-20 09:12:58 +00:00
end
context 'for member relationship' do
subject { create :member_relationship }
2019-07-22 02:30:58 +00:00
it { is_expected.to allow_value nil }
it { is_expected.to allow_value described_class.roles.keys.sample }
2019-07-20 09:12:58 +00:00
end
end
2019-04-27 14:24:04 +00:00
end