|
11 | 11 | # |
12 | 12 |
|
13 | 13 | RSpec.describe Partners::ServedArea, type: :model do |
14 | | - it { should belong_to(:partner_profile) } |
15 | | - it { should belong_to(:county) } |
| 14 | + describe "validations" do |
| 15 | + let(:served_area_nil_client_share) { build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: nil) } |
| 16 | + it { should belong_to(:partner_profile) } |
| 17 | + it { should belong_to(:county) } |
16 | 18 |
|
17 | | - it "must only allow integer client shares" do |
18 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 50)).to be_valid |
19 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 50.5)).not_to be_valid |
20 | | - end |
| 19 | + it "displays a user friendly error message for nil client shares" do |
| 20 | + expect(served_area_nil_client_share).not_to be_valid |
| 21 | + expect(served_area_nil_client_share.errors.messages[:client_share]).to match_array(["Client share must be between 1 and 100 inclusive", "is not a number"]) |
| 22 | + end |
| 23 | + |
| 24 | + it "must only allow integer client shares" do |
| 25 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 50)).to be_valid |
| 26 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 50.5)).not_to be_valid |
| 27 | + end |
21 | 28 |
|
22 | | - it "must only allow valid client share values" do |
23 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 0)).not_to be_valid |
24 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 101)).not_to be_valid |
25 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 1)).to be_valid |
26 | | - expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 100)).to be_valid |
| 29 | + it "must only allow valid client share values" do |
| 30 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 0)).not_to be_valid |
| 31 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 101)).not_to be_valid |
| 32 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 1)).to be_valid |
| 33 | + expect(build(:partners_served_area, partner_profile: create(:partner_profile), county: create(:county), client_share: 100)).to be_valid |
| 34 | + end |
27 | 35 | end |
28 | 36 |
|
29 | 37 | describe "versioning" do |
|
0 commit comments