Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SeanC/APPEALS-5034 Decided non-comp issues are not getting closed as decided #20126

Merged
merged 39 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
a6330c7
added basic code to meet ac
seancva Dec 6, 2023
a700536
updated code in decsion reveiw task
seancva Dec 6, 2023
33810a6
updated code to set the completed_by as well
seancva Dec 6, 2023
60de9d0
started refactoring handle_issues_with_no_decision_date!
seancva Dec 6, 2023
4e4bcde
refactored function to reduce cyclomatic complexity
seancva Dec 6, 2023
b88023e
fixed a code climate issue
seancva Dec 6, 2023
4501498
attempting to fix a code climate issue
seancva Dec 7, 2023
fc68ef4
moved handle_issues_with_no_decision_date! to decision_review to fix …
seancva Dec 7, 2023
0cd37b8
Empty-Commit
seancva Dec 7, 2023
d8fc619
put function back
seancva Dec 7, 2023
b330918
fixed the failing tests in decision_review_task_spec
seancva Dec 8, 2023
c6fb189
Added _current_user to complete_with_payload in business_line_task
seancva Dec 11, 2023
1fe3d7e
fixed a test in board_grant_effectuation_task_spec
seancva Dec 12, 2023
7cafdfc
Merge branch 'master' of https://github.com/department-of-veterans-af…
seancva Dec 12, 2023
38fbd19
created a new def in request_issues for active or decided
seancva Dec 13, 2023
8c1717d
added the new def to the serializer
seancva Dec 13, 2023
7c754a1
changed the name of activeRequestIssues to activeOrDecidedRequestIssues
seancva Dec 13, 2023
6535e37
updated business_line_task to set completed_by for board grants
seancva Dec 13, 2023
41f5dd5
added basic code to meet ac
seancva Dec 6, 2023
cb31410
updated code in decsion reveiw task
seancva Dec 6, 2023
065b3cb
updated code to set the completed_by as well
seancva Dec 6, 2023
d064dea
started refactoring handle_issues_with_no_decision_date!
seancva Dec 6, 2023
3d44c19
refactored function to reduce cyclomatic complexity
seancva Dec 6, 2023
dd9e24d
fixed a code climate issue
seancva Dec 6, 2023
27e0aed
attempting to fix a code climate issue
seancva Dec 7, 2023
71e1f85
moved handle_issues_with_no_decision_date! to decision_review to fix …
seancva Dec 7, 2023
c3f4e4d
Empty-Commit
seancva Dec 7, 2023
a0dc68e
put function back
seancva Dec 7, 2023
ead6ec6
fixed the failing tests in decision_review_task_spec
seancva Dec 8, 2023
4c45580
Added _current_user to complete_with_payload in business_line_task
seancva Dec 11, 2023
28e57ae
fixed a test in board_grant_effectuation_task_spec
seancva Dec 12, 2023
052c8e1
created a new def in request_issues for active or decided
seancva Dec 13, 2023
3ef552b
added the new def to the serializer
seancva Dec 13, 2023
80d1745
changed the name of activeRequestIssues to activeOrDecidedRequestIssues
seancva Dec 13, 2023
2b97018
updated business_line_task to set completed_by for board grants
seancva Dec 13, 2023
48f7121
Merge branch 'SeanC/APPEALS-5034' of https://github.com/department-of…
seancva Dec 14, 2023
a1e034d
addressing first comment from review
seancva Dec 14, 2023
d791947
addressed the second comment of review
seancva Dec 14, 2023
9477a1d
Merge branch 'feature/APPEALS-26499' of https://github.com/department…
seancva Dec 15, 2023
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/controllers/decision_reviews_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def show

def update
if task
if task.complete_with_payload!(decision_issue_params, decision_date)
if task.complete_with_payload!(decision_issue_params, decision_date, current_user)
business_line.tasks.reload
render json: { task_filter_details: task_filter_details }, status: :ok
else
Expand Down
6 changes: 4 additions & 2 deletions app/models/claim_review.rb
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,13 @@ def handle_issues_with_no_decision_date!
# Guard clause to only perform this update for VHA claim reviews for now
return nil if benefit_type != "vha"

review_task = tasks.find { |task| task.is_a?(DecisionReviewTask) }

return nil unless review_task&.open?

if request_issues_without_decision_dates?
review_task = tasks.find { |task| task.is_a?(DecisionReviewTask) }
review_task&.on_hold!
elsif !request_issues_without_decision_dates?
review_task = tasks.find { |task| task.is_a?(DecisionReviewTask) }
review_task&.assigned!
end
end
Expand Down
4 changes: 2 additions & 2 deletions app/models/concerns/business_line_task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
module BusinessLineTask
extend ActiveSupport::Concern

def complete_with_payload!(_decision_issue_params, _decision_date)
def complete_with_payload!(_decision_issue_params, _decision_date, user)
return false unless validate_task

update!(status: Constants.TASK_STATUSES.completed, closed_at: Time.zone.now)
update!(status: Constants.TASK_STATUSES.completed, closed_at: Time.zone.now, completed_by: user)
end

private
Expand Down
4 changes: 4 additions & 0 deletions app/models/request_issue.rb
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@ def active_or_ineligible_or_withdrawn
active_or_ineligible.or(withdrawn)
end

def active_or_decided
active.or(decided).order(id: :asc)
end

def active_or_decided_or_withdrawn
active.or(decided).or(withdrawn).order(id: :asc)
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ def self.representative_tz(object)
uuid: decision_review(object).uuid,
isLegacyAppeal: false,
issueCount: issue_count(object),
activeRequestIssues: skip_acquiring_request_issues || request_issues(object).active.map(&:serialize),
activeOrDecidedRequestIssues:
skip_acquiring_request_issues || request_issues(object).active_or_decided.map(&:serialize),
appellant_type: decision_review(object).claimant&.type
}
end
Expand Down
7 changes: 5 additions & 2 deletions app/models/tasks/decision_review_task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,15 @@ def ui_hash
serialize_task[:attributes]
end

def complete_with_payload!(decision_issue_params, decision_date)
def complete_with_payload!(decision_issue_params, decision_date, user)
seancva marked this conversation as resolved.
Show resolved Hide resolved
return false unless validate_task(decision_issue_params)

transaction do
appeal.create_decision_issues_for_tasks(decision_issue_params, decision_date)
update!(status: Constants.TASK_STATUSES.completed, closed_at: Time.zone.now)
update!(status: Constants.TASK_STATUSES.completed, closed_at: Time.zone.now, completed_by: user)
decision_issue_params.each do |param|
RequestIssue.find(param[:request_issue_id]).close_decided_issue!
end
end

appeal.on_decision_issues_sync_processed if appeal.is_a?(HigherLevelReview)
Expand Down
28 changes: 14 additions & 14 deletions client/.storybook/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ module.exports = {
"id": "6115",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Caregiver | Eligibility",
Expand Down Expand Up @@ -41,7 +41,7 @@ module.exports = {
"id": "6114",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Initial Eligibility and Enrollment in VHA Healthcare",
Expand Down Expand Up @@ -70,7 +70,7 @@ module.exports = {
"id": "17",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Initial Eligibility and Enrollment in VHA Healthcare",
Expand Down Expand Up @@ -99,7 +99,7 @@ module.exports = {
"id": "3f67e4b2-392b-4248-a722-0845b2d3a29e",
"isLegacyAppeal": false,
"issueCount": 0,
"activeRequestIssues": 0
"activeOrDecidedRequestIssues": 0
},
"issue_count": 0,
"issue_types": "",
Expand Down Expand Up @@ -128,7 +128,7 @@ module.exports = {
"id": "14",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Caregiver | Revocation/Discharge",
Expand Down Expand Up @@ -157,7 +157,7 @@ module.exports = {
"id": "13",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Initial Eligibility and Enrollment in VHA Healthcare",
Expand Down Expand Up @@ -186,7 +186,7 @@ module.exports = {
"id": "5061",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Initial Eligibility and Enrollment in VHA Healthcare",
Expand Down Expand Up @@ -243,7 +243,7 @@ module.exports = {
"id": "5105",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Foreign Medical Program",
Expand Down Expand Up @@ -272,7 +272,7 @@ module.exports = {
"id": "5096",
"isLegacyAppeal": false,
"issueCount": 2,
"activeRequestIssues": 2
"activeOrDecidedRequestIssues": 2
},
"issue_count": 2,
"issue_types": "Foreign Medical Program,Spina Bifida Treatment (Non-Compensation)",
Expand Down Expand Up @@ -301,7 +301,7 @@ module.exports = {
"id": "5083",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Spina Bifida Treatment (Non-Compensation)",
Expand Down Expand Up @@ -330,7 +330,7 @@ module.exports = {
"id": "5081",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Camp Lejune Family Member",
Expand Down Expand Up @@ -359,7 +359,7 @@ module.exports = {
"id": "5106",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Camp Lejune Family Member",
Expand Down Expand Up @@ -388,7 +388,7 @@ module.exports = {
"id": "5101",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Other",
Expand Down Expand Up @@ -417,7 +417,7 @@ module.exports = {
"id": "5094",
"isLegacyAppeal": false,
"issueCount": 1,
"activeRequestIssues": 1
"activeOrDecidedRequestIssues": 1
},
"issue_count": 1,
"issue_types": "Caregiver | Other",
Expand Down
2 changes: 1 addition & 1 deletion client/app/nonComp/components/Disposition.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ class NonCompDispositions extends React.PureComponent {

this.state = {
requestIssues: formatRequestIssuesWithDecisionIssues(
this.props.task.appeal.activeRequestIssues, this.props.appeal.decisionIssues),
this.props.task.appeal.activeOrDecidedRequestIssues, this.props.appeal.decisionIssues),
decisionDate: '',
isFilledOut: false
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const completedHLRTaskData = {
id: '17',
isLegacyAppeal: false,
issueCount: 1,
activeRequestIssues: [
activeOrDecidedRequestIssues: [
{
id: 3710,
rating_issue_reference_id: null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
id: appeal.external_id,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: appeal.uuid,
appellant_type: appeal.claimant.type
},
Expand Down Expand Up @@ -75,7 +75,7 @@
id: appeal.external_id,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: appeal.uuid,
appellant_type: appeal.claimant.type
},
Expand Down Expand Up @@ -134,7 +134,7 @@
id: appeal.external_id,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: appeal.uuid,
appellant_type: appeal.claimant.type
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: task.appeal.uuid,
appellant_type: "VeteranClaimant"
},
Expand Down Expand Up @@ -76,7 +76,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: task.appeal.uuid,
appellant_type: nil
},
Expand Down Expand Up @@ -128,7 +128,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: task.appeal.uuid,
appellant_type: claimant.type
},
Expand Down Expand Up @@ -192,7 +192,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 2,
activeRequestIssues: serialized_issues,
activeOrDecidedRequestIssues: serialized_issues,
appellant_type: "VeteranClaimant",
uuid: task.appeal.uuid
},
Expand Down
2 changes: 1 addition & 1 deletion spec/models/tasks/board_grant_effectuation_task_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
end

describe "#complete_with_payload!" do
subject { task.complete_with_payload!(nil, nil) }
subject { task.complete_with_payload!(nil, nil, nil) }

context "assigned task" do
it "can be completed" do
Expand Down
10 changes: 7 additions & 3 deletions spec/models/tasks/decision_review_task_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

let(:benefit_type) { "education" }

let(:user) { create(:default_user) }

describe "#label" do
subject { create(:higher_level_review_task) }

Expand Down Expand Up @@ -60,7 +62,7 @@
]
end
let(:task) { create(:higher_level_review_task, trait, appeal: hlr) }
subject { task.complete_with_payload!(decision_issue_params, decision_date) }
subject { task.complete_with_payload!(decision_issue_params, decision_date, user) }
seancva marked this conversation as resolved.
Show resolved Hide resolved

context "assigned task" do
it "can be completed" do
Expand All @@ -85,6 +87,8 @@
caseflow_decision_date: caseflow_decision_date
)).to_not be_nil
expect(task.status).to eq "completed"
expect(task.completed_by_id).to eq user.id
expect(task.appeal.request_issues.first.closed_status).to eq "decided"

remand_sc = hlr.remand_supplemental_claims.first
expect(remand_sc).to_not be_nil
Expand Down Expand Up @@ -123,7 +127,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
appellant_type: "VeteranClaimant",
uuid: hlr.uuid
},
Expand Down Expand Up @@ -167,7 +171,7 @@
id: hlr.id.to_s,
isLegacyAppeal: false,
issueCount: 0,
activeRequestIssues: [],
activeOrDecidedRequestIssues: [],
uuid: hlr.uuid,
appellant_type: "VeteranClaimant"
},
Expand Down
Loading