Skip to content

Commit

Permalink
Reset canceled_at when a section is uncanceled.
Browse files Browse the repository at this point in the history
  • Loading branch information
CraigJZ committed Nov 18, 2024
1 parent 9d358bf commit c9c8a3b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
7 changes: 7 additions & 0 deletions app/models/section.rb
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,13 @@ def self.import(filepath)
end
end

if section.status != 'C'
if section.status_changed? || !section.canceled_at.blank?
section.canceled_at = nil
@import_report.report_item('Executing Import', 'Uncanceled Sections', "#{section.section_and_number} in #{section.term}")
end
end

# Save if changed, touch if unchanged
if section.changed? || section.enrollments.last.new_record?
section.save!
Expand Down
11 changes: 11 additions & 0 deletions test/models/section_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,17 @@ class SectionTest < ActiveSupport::TestCase
assert_not_nil @section_three.canceled_at
end

test 'import identifies uncanceled sections' do
assert_equal @section.status, 'CN'
@section.update(status: 'C', canceled_at: Time.now)
assert_equal @section.status, 'C'
assert_not_nil @section.canceled_at
Section.import(file_fixture('test_crse.csv'))
@section.reload
assert_equal @section.status, 'CN'
assert_nil @section.canceled_at
end

test 'import creates an enrollment for a section' do
assert_difference('@section.enrollments.count', + 1) do
Section.import(file_fixture('test_crse.csv'))
Expand Down

0 comments on commit c9c8a3b

Please sign in to comment.