-
Notifications
You must be signed in to change notification settings - Fork 479
/
regional_partner_contact_test.rb
139 lines (120 loc) · 3.71 KB
/
regional_partner_contact_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
require 'test_helper'
class Pd::RegionalPartnerContactTest < ActiveSupport::TestCase
FORM_DATA = {
first_name: 'firstName',
last_name: 'lastName',
title: 'Dr.',
email: 'foo@bar.com',
role: 'School Administrator',
job_title: 'title',
grade_levels: ['High School'],
school_state: 'NY'
}
test 'Test district validation' do
contact = build :pd_regional_partner_contact, form_data: {}.to_json
refute contact.valid?
refute build(:pd_regional_partner_contact, form_data: FORM_DATA.to_json).valid?
refute build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
}
).to_json
).valid?
refute build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'private',
}
).to_json
).valid?
refute build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district_other: true
}
).to_json
).valid?
refute build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district_other: false
}
).to_json
).valid?
assert build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district_other: true,
school_district_name: 'District name'
}
).to_json
).valid?
assert build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district_other: false,
school_district: 'District'
}
).to_json
).valid?
refute build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'private',
school_name: 'Name'
}
).to_json
).valid?
assert build(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'private',
school_name: 'Name',
school_zipcode: 'Zipcode'
}
).to_json
).valid?
end
test 'Updates regional partner' do
school_district = create :school_district
regional_partner_hs = create :regional_partner, name: 'High School regional Partner'
regional_partner_ms = create :regional_partner, name: 'Middle School regional Partner'
create :regional_partners_school_district, school_district: school_district, course: 'csp', regional_partner: regional_partner_hs
create :regional_partners_school_district, school_district: school_district, course: 'csd', regional_partner: regional_partner_ms
regional_partner_contact = create(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district: school_district.id,
grade_levels: ['High School']
}
).to_json
)
assert_equal regional_partner_hs.name, regional_partner_contact.regional_partner.name
regional_partner_contact = create(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district: school_district.id,
grade_levels: ['Middle School']
}
).to_json
)
assert_equal regional_partner_ms.name, regional_partner_contact.regional_partner.name
regional_partner_contact = create(
:pd_regional_partner_contact, form_data: FORM_DATA.merge(
{
school_type: 'public',
school_district: school_district.id,
grade_levels: ['Elementary School']
}
).to_json
)
assert_nil regional_partner_contact.regional_partner
end
end