Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/decorators/casa_case_decorator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def court_report_submission
end

def court_report_submitted_date
object.court_report_submitted_at&.strftime('%B%e, %Y')
object.court_report_submitted_at&.strftime("%B%e, %Y")
end

def case_contacts_ordered_by_occurred_at
Expand Down
4 changes: 2 additions & 2 deletions app/models/casa_case.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CasaCase < ApplicationRecord
has_many :contact_types, through: :casa_case_contact_types, source: :contact_type
accepts_nested_attributes_for :casa_case_contact_types

enum court_report_status: { not_submitted: 0, submitted: 1, in_review: 2, completed: 3 }, _prefix: :court_report
enum court_report_status: {not_submitted: 0, submitted: 1, in_review: 2, completed: 3}, _prefix: :court_report

scope :ordered, -> { order(updated_at: :desc) }
scope :actively_assigned_to, ->(volunteer) {
Expand Down Expand Up @@ -66,7 +66,7 @@ class CasaCase < ApplicationRecord

def court_report_status=(value)
super
if (court_report_not_submitted?)
if court_report_not_submitted?
self.court_report_submitted_at = nil
else
self.court_report_submitted_at ||= Time.current
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
namespace :after_party do
desc 'Deployment task: Backfill court_report_submitted_at and court_report_status'
desc "Deployment task: Backfill court_report_submitted_at and court_report_status"
task backfill_court_report_submitted_at: :environment do
puts "Running deploy task 'backfill_court_report_submitted_at'"

CasaCase.where(court_report_submitted: true).in_batches.update_all(court_report_status: :submitted,
CasaCase.where(court_report_submitted: true).in_batches.update_all(court_report_status: :submitted,
court_report_submitted_at: Time.current)

# Update task as completed. If you remove the line below, the task will
Expand Down
14 changes: 7 additions & 7 deletions spec/decorators/casa_case_decorator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,36 @@
context "when case_report_status is not_submitted" do
let(:court_report_status) { :not_submitted }

it { is_expected.to eq('Not submitted') }
it { is_expected.to eq("Not submitted") }
end

context "when case_report_status is submitted" do
let(:court_report_status) { :submitted }

it { is_expected.to eq('Submitted') }
it { is_expected.to eq("Submitted") }
end

context "when case_report_status is in_review" do
let(:court_report_status) { :in_review }

it { is_expected.to eq('In review') }
it { is_expected.to eq("In review") }
end

context "when case_report_status is completed" do
let(:court_report_status) { :completed }

it { is_expected.to eq('Completed') }
it { is_expected.to eq("Completed") }
end
end

describe "#court_report_submission" do
subject { casa_case.decorate.court_report_submitted_date }
let(:submitted_time) { Time.parse("Sun Nov 08 11:06:20 2020") }
let(:casa_case) { build(:casa_case, court_report_submitted_at: submitted_time) }

it { is_expected.to eq 'November 8, 2020' }

context 'when report is not submitted' do
it { is_expected.to eq "November 8, 2020" }

context "when report is not submitted" do
let(:submitted_time) { nil }

it { is_expected.to be_nil }
Expand Down
22 changes: 11 additions & 11 deletions spec/models/casa_case_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
end
end

describe '#court_report_status=' do
describe "#court_report_status=" do
let(:casa_case) { build(:casa_case) }
subject { casa_case.court_report_status = court_report_status }

Expand All @@ -76,49 +76,49 @@
before do
travel_to submitted_time
end

after do
travel_back
end

context 'when the case is already submitted' do
context "when the case is already submitted" do
let(:casa_case) { build(:casa_case, court_report_status: :submitted, court_report_submitted_at: submitted_time) }
before do
travel_to the_future
end

context 'when the status is completed' do
context "when the status is completed" do
let(:court_report_status) { :completed }

it 'completes the court report and does not update time' do
it "completes the court report and does not update time" do
is_expected.to eq :completed
expect(casa_case.court_report_submitted_at).to eq(submitted_time)
end
end

context 'when the status is not_submitted' do
context "when the status is not_submitted" do
let(:court_report_status) { :not_submitted }

it 'clears submission date and value' do
it "clears submission date and value" do
is_expected.to eq :not_submitted
expect(casa_case.court_report_submitted_at).to be_nil
end
end
end

context 'when status is submitted' do
context "when status is submitted" do
let(:court_report_status) { :submitted }

it 'tracks the court report submission' do
it "tracks the court report submission" do
is_expected.to eq :submitted
expect(casa_case.court_report_submitted_at).to eq(submitted_time)
end
end

context 'when the status is in review' do
context "when the status is in review" do
let(:court_report_status) { :in_review }

it 'tracks the court report submission' do
it "tracks the court report submission" do
is_expected.to eq :in_review
expect(casa_case.court_report_submitted_at).to eq(submitted_time)
end
Expand Down
4 changes: 2 additions & 2 deletions spec/requests/casa_cases_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
it "updates permitted fields" do
patch casa_case_url(casa_case), params: {casa_case: new_attributes}
casa_case.reload
expect(casa_case.submitted?).to be_truthy
expect(casa_case.court_report_submitted?).to be_truthy

# Not permitted
expect(casa_case.case_number).to eq "111"
Expand Down Expand Up @@ -228,7 +228,7 @@
patch casa_case_url(casa_case), params: {casa_case: new_attributes}
casa_case.reload
expect(casa_case.case_number).to eq "111"
expect(casa_case.completed?).to be true
expect(casa_case.court_report_completed?).to be true
end

it "redirects to the casa_case" do
Expand Down
2 changes: 2 additions & 0 deletions spec/system/admin_adds_new_case_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
check "Transition aged youth"
has_checked_field? "Transition aged youth"

select "Submitted", from: "casa_case_court_report_status"

click_on "Create CASA Case"

expect(page.body).to have_content(case_number)
Expand Down
13 changes: 4 additions & 9 deletions spec/system/admin_edits_a_case_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,20 @@

it "clicks back button after editing case" do
visit edit_casa_case_path(casa_case)
check "Court report submitted"
has_checked_field? :court_report_submitted
select "Submitted", from: "casa_case_court_report_status"
click_on "Back"
visit edit_casa_case_path(casa_case)

has_no_checked_field? :court_report_submitted
expect(casa_case).not_to be_court_report_submitted
end

it "edits case" do
visit casa_case_path(casa_case.id)
click_on "Edit Case Details"
expect(page).to have_select("Hearing type")
expect(page).to have_select("Judge")
has_no_checked_field? :court_report_submitted
check "Court report submitted"
select "Submitted", from: "casa_case_court_report_status"
click_on "Update CASA Case"

has_checked_field? :court_report_submitted

expect(page).to have_text("Submitted")
expect(page).to have_text("Court Date")
expect(page).to have_text("Court Report Due Date")
expect(page).to have_text("Day")
Expand Down
14 changes: 5 additions & 9 deletions spec/system/supervisor_edits_case_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@

it "edits case" do
visit casa_case_path(casa_case)
expect(page).to have_text("Court Report Submission: Not Submitted")
expect(page).to have_text("Court Report Status: Not submitted")
visit edit_casa_case_path(casa_case)
has_no_checked_field? :court_report_submitted
check "Court report submitted"
select "Submitted", from: "casa_case_court_report_status"
check "Youth"
select "4", from: "casa_case_court_date_3i"
select "November", from: "casa_case_court_date_2i"
Expand All @@ -29,7 +28,6 @@
select next_year, from: "casa_case_court_report_due_date_1i"

click_on "Update CASA Case"
has_checked_field? :court_report_submitted
has_checked_field? "Youth"
has_no_checked_field? "Supervisor"

Expand All @@ -43,16 +41,15 @@

visit casa_case_path(casa_case)

expect(page).to have_text("Court Report Submission: Submitted")
expect(page).to have_text("Court Report Status: Submitted")
expect(page).to have_text("4-NOV-#{next_year}")
expect(page).to have_text("8-SEP-#{next_year}")
end

it "will return error message if date fields are not fully selected" do
visit casa_case_path(casa_case)
expect(page).to have_text("Court Report Submission: Not Submitted")
expect(page).to have_text("Court Report Status: Not submitted")
visit edit_casa_case_path(casa_case)
has_no_checked_field? :court_report_submitted

select "November", from: "casa_case_court_date_2i"
select "April", from: "casa_case_court_report_due_date_2i"
Expand All @@ -65,9 +62,8 @@

it "will return error message if date fields are not valid" do
visit casa_case_path(casa_case)
expect(page).to have_text("Court Report Submission: Not Submitted")
expect(page).to have_text("Court Report Status: Not submitted")
visit edit_casa_case_path(casa_case)
has_no_checked_field? :court_report_submitted

select "31", from: "casa_case_court_date_3i"
select "April", from: "casa_case_court_date_2i"
Expand Down
12 changes: 4 additions & 8 deletions spec/system/volunteer_edits_case_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,20 @@
expect(page).to_not have_select("Hearing type")
expect(page).to_not have_select("Judge")

check "Court report submitted"
select "Submitted", from: "casa_case_court_report_status"
click_on "Update CASA Case"

has_no_checked_field? :court_report_submitted

click_on "Back"

expect(page).to have_text("My Case")
end

it "edits case" do
visit casa_case_path(casa_case)
expect(page).to have_text("Court Report Submission: Not Submitted")
expect(page).to have_text("Court Report Status: Not submitted")
visit edit_casa_case_path(casa_case)
has_no_checked_field? :court_report_submitted
check "Court report submitted"
select "Submitted", from: "casa_case_court_report_status"
click_on "Update CASA Case"
has_checked_field? :court_report_submitted

expect(page).to have_text("Court Date")
expect(page).to have_text("Court Report Due Date")
Expand All @@ -42,6 +38,6 @@
expect(page).not_to have_text("Deactivate Case")

visit casa_case_path(casa_case)
expect(page).to have_text("Court Report Submission: Submitted")
expect(page).to have_text("Court Report Status: Submitted")
end
end