File tree Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ class School < ApplicationRecord
20
20
validates :rejected_at , absence : { if : proc { |school | school . verified? } }
21
21
validates :verified_at , absence : { if : proc { |school | school . rejected? } }
22
22
validate :verified_at_cannot_be_changed
23
+ validate :rejected_at_cannot_be_changed
23
24
24
25
before_validation :normalize_reference
25
26
@@ -52,4 +53,8 @@ def normalize_reference
52
53
def verified_at_cannot_be_changed
53
54
errors . add ( :verified_at , 'cannot be changed after verification' ) if verified_at_was . present? && verified_at_changed?
54
55
end
56
+
57
+ def rejected_at_cannot_be_changed
58
+ errors . add ( :rejected_at , 'cannot be changed after rejection' ) if rejected_at_was . present? && rejected_at_changed?
59
+ end
55
60
end
Original file line number Diff line number Diff line change 195
195
school . update ( verified_at : nil )
196
196
expect ( school . errors [ :verified_at ] ) . to include ( 'cannot be changed after verification' )
197
197
end
198
+
199
+ it "cannot change #rejected_at once it's been set" do
200
+ school . update! ( rejected_at : Time . zone . now )
201
+ school . update ( rejected_at : nil )
202
+ expect ( school . errors [ :rejected_at ] ) . to include ( 'cannot be changed after rejection' )
203
+ end
198
204
end
199
205
200
206
describe '#creator' do
You can’t perform that action at this time.
0 commit comments