Skip to content

Commit f059d13

Browse files
committed
Add model tests
1 parent 6877786 commit f059d13

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

spec/models/school_spec.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
expect(duplicate_school).not_to be_valid
155155
end
156156

157+
it('returns an error if reference is not unique') do
158+
school.reference = '100000'
159+
school.save!
160+
161+
duplicate_school = build(:school, reference: '100000')
162+
duplicate_school.valid?
163+
expect(duplicate_school.errors.details[:reference]).to include(hash_including(error: :taken))
164+
end
165+
157166
it 'accepts a valid reference format (5-6 digits)' do
158167
school.reference = '100000'
159168
expect(school).to be_valid
@@ -233,6 +242,12 @@
233242
expect(duplicate_school).not_to be_valid
234243
end
235244

245+
it 'returns error if district_nces_id is not unique' do
246+
duplicate_school = build(:school, country_code: 'US', district_nces_id: '010000000001')
247+
duplicate_school.valid?
248+
expect(duplicate_school.errors.details[:district_nces_id]).to include(hash_including(error: :taken))
249+
end
250+
236251
it 'accepts a valid district_nces_id format (12 digits)' do
237252
us_school.district_nces_id = '010000000001'
238253
expect(us_school).to be_valid
@@ -276,6 +291,12 @@
276291
expect(duplicate_school).not_to be_valid
277292
end
278293

294+
it 'returns error if school_roll_number is not unique' do
295+
duplicate_school = build(:school, school_roll_number: '01572D', country_code: 'IE')
296+
duplicate_school.valid?
297+
expect(duplicate_school.errors.details[:school_roll_number]).to include(hash_including(error: :taken))
298+
end
299+
279300
it 'accepts a valid alphanumeric school_roll_number' do
280301
ireland_school.school_roll_number = '01572D'
281302
expect(ireland_school).to be_valid

0 commit comments

Comments
 (0)