Skip to content

Commit 62e3ac1

Browse files
committed
Avoid update_attribute in SchoolVerificationService spec
Now that we're passing a `School` instance to `SchoolVerificationService` we can get rid of the use of `#update_attribute` which RuboCop complains about.
1 parent 17840bf commit 62e3ac1

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

spec/services/school_verification_service_spec.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,20 @@
33
require 'rails_helper'
44

55
RSpec.describe SchoolVerificationService do
6-
let(:school) { create(:school, creator_id: school_creator.id) }
6+
let(:website) { 'http://example.com' }
7+
let(:school) { build(:school, creator_id: school_creator.id, website:) }
78
let(:user) { create(:user) }
89
let(:school_creator) { create(:user) }
910
let(:service) { described_class.new(school) }
1011
let(:organisation_id) { SecureRandom.uuid }
1112

1213
describe '#verify' do
1314
describe 'when school can be saved' do
15+
it 'saves the school' do
16+
service.verify
17+
expect(school).to be_persisted
18+
end
19+
1420
it 'sets verified_at to a date' do
1521
service.verify
1622
expect(school.reload.verified_at).to be_a(ActiveSupport::TimeWithZone)
@@ -32,13 +38,11 @@
3238
end
3339

3440
describe 'when school cannot be saved' do
35-
before do
36-
school.update_attribute(:website, 'invalid') # rubocop:disable Rails/SkipsModelValidations
37-
end
41+
let(:website) { 'invalid' }
3842

39-
it 'does not set verified_at' do
43+
it 'does not save the school' do
4044
service.verify
41-
expect(school.reload.verified_at).to be_nil
45+
expect(school).not_to be_persisted
4246
end
4347

4448
it 'does not create owner role' do

0 commit comments

Comments
 (0)