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

APPEALS-44959: Modify affinity date checks to use appeal_affinity #21611

Merged
merged 10 commits into from
May 13, 2024

Conversation

craigrva
Copy link
Contributor

@craigrva craigrva commented May 10, 2024

Resolves APPEALS-44959

Description

In docket.rb:

  • Changed join_distribution_tasks to with_appeal_affinities
  • Changed where clauses for affinities to use appeal_affinities.affinity_start_date instead of distribution_task.assigned_at
  • Removed join_distribution_tasks and with_assigned_distribution_task_sql methods

In HearingRequestDistributionQuery:

  • Changed join_distribution_tasks to with_appeal_affinities

In seed files:

  • Added creation of AppealAffinity to methods which create AMA appeals that are tied to a judge for both CAVC and hearing levers and modified argument names on the methods

In test files:

  • Added :with_appeal_affinity trait to creation of appeals which need to be tied to a judge for both CAVC and hearing levers

Additionally, the boilerplate comment from Rails at the start of the etl/schema.rb file was updated after running make migrate for the first time after the Rails 6.0 upgrade.

Acceptance Criteria

  • Code compiles correctly

Testing Plan

  1. Go to Jira Issue/Test Plan Link or list them below
  • For feature branches merging into master: Was this deployed to UAT?

Frontend

User Facing Changes

  • Screenshots of UI changes added to PR & Original Issue
BEFORE AFTER

Storybook Story

For Frontend (Presentation) Components

  • Add a Storybook file alongside the component file (e.g. create MyComponent.stories.js alongside MyComponent.jsx)
  • Give it a title that reflects the component's location within the overall Caseflow hierarchy
  • Write a separate story (within the same file) for each discrete variation of the component

Backend

Database Changes

Only for Schema Changes

  • Add typical timestamps (created_at, updated_at) for new tables
  • Update column comments; include a "PII" prefix to indicate definite or potential PII data content
  • Have your migration classes inherit from Caseflow::Migration, especially when adding indexes (use add_safe_index) (see Writing DB migrations)
  • Verify that migrate:rollback works as desired (change supported functions)
  • Perform query profiling (eyeball Rails log, check bullet and fasterer output)
  • For queries using raw sql was an explain plan run by System Team
  • Add appropriate indexes (especially for foreign keys, polymorphic columns, unique constraints, and Rails scopes)
  • Run make check-fks; add any missing foreign keys or add to config/initializers/immigrant.rb (see Record associations and Foreign Keys)
  • Add belongs_to for associations to enable the schema diagrams to be automatically updated
  • Document any non-obvious semantics or logic useful for interpreting database data at Caseflow Data Model and Dictionary

Integrations: Adding endpoints for external APIs

  • Check that Caseflow's external API code for the endpoint matches the code in the relevant integration repo
    • Request: Service name, method name, input field names
    • Response: Check expected data structure
    • Check that calls are wrapped in MetricService record block
  • Check that all configuration is coming from ENV variables
    • Listed all new ENV variables in description
    • Worked with or notified System Team that new ENV variables need to be set
  • Update Fakes
  • For feature branches: Was this tested in Caseflow UAT

Best practices

Code Documentation Updates

  • Add or update code comments at the top of the class, module, and/or component.

Tests

Test Coverage

Did you include any test coverage for your code? Check below:

  • RSpec
  • Jest
  • Other

Code Climate

Your code does not add any new code climate offenses? If so why?

  • No new code climate issues added

Monitoring, Logging, Auditing, Error, and Exception Handling Checklist

Monitoring

  • Are performance metrics (e.g., response time, throughput) being tracked?
  • Are key application components monitored (e.g., database, cache, queues)?
  • Is there a system in place for setting up alerts based on performance thresholds?

Logging

  • Are logs being produced at appropriate log levels (debug, info, warn, error, fatal)?
  • Are logs structured (e.g., using log tags) for easier querying and analysis?
  • Are sensitive data (e.g., passwords, tokens) redacted or omitted from logs?
  • Is log retention and rotation configured correctly?
  • Are logs being forwarded to a centralized logging system if needed?

Auditing

  • Are user actions being logged for audit purposes?
  • Are changes to critical data being tracked ?
  • Are logs being securely stored and protected from tampering or exposing protected data?

Error Handling

  • Are errors being caught and handled gracefully?
  • Are appropriate error messages being displayed to users?
  • Are critical errors being reported to an error tracking system (e.g., Sentry, ELK)?
  • Are unhandled exceptions being caught at the application level ?

Exception Handling

  • Are custom exceptions defined and used where appropriate?
  • Is exception handling consistent throughout the codebase?
  • Are exceptions logged with relevant context and stack trace information?
  • Are exceptions being grouped and categorized for easier analysis and resolution?

@craigrva craigrva changed the title Craig/appeals 44959 APPEALS-44959: Modify affinity date checks to use appeal_affinity May 10, 2024
zurbergram
zurbergram previously approved these changes May 10, 2024
@craigrva craigrva merged commit ff0f872 into feature/APPEALS-44916 May 13, 2024
17 checks passed
@craigrva craigrva deleted the craig/APPEALS-44959 branch May 13, 2024 15:13
nkutub added a commit that referenced this pull request May 31, 2024
* APPEALS-36688- Build out Decision Review Created API route & Controller (#20569)

* added skeleton for api route

* removed duplicate code

* removed development envs for api and moved to creating an ApiKey

* removing any changes to development.rb

* removed extra auth code

* removed before action

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-38232 -Build out Decision Review Created Event Failure API route & Controller (#20601)

* APPEALS-38232 - renamed controller to AC req, added decision_review_created_error endpoint, added decision_review_created_error method, and added RSpec for new method

* APPEALS-38232 - add comments to RSpec

* Jonathan/appeals 36684 (#20516)

* initial Events migration and model creation

* created model for DecisionReviewCreatedEvent

* updated comment with example

* added spec for DRCE model

* APPEALS-36684 created event_records migration and added polymorphic associations to specific models, and added rspec for the event_record model

* APPEALS-36684 - Updated RSpec tests and updated variables and got unhappy path to pass

* cleaned lint

* saving DRCE spec changes

* fixed spec test

* changed has_many to has_one

* updated event model spec

* added validation for ER poly associations

* changed association to has_one

* added new method and updated tests

* added foreign key after running checks

* some PR comment changes

* refactored methods in EventConcern

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>
Co-authored-by: Enrilo Ugalde <ugalde_enrilo@bah.com>

* added migration, scopes and specs for events (#20707)

* fixed migration to update existing events table

* rollbacked to fix schema

* schema fixes

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Jr/APPEALS-38926  (#20714)

* APPEALS-38926 - Created DecisionReviewCreatedError Service Class, added logic for handling service error, updated DecisonReviewCreatedController, and DecisionReviewCreatedController spec, with the updated service logic

* APPEALS-38926- created RSpec Test for DecisionReviewCreatedError Service Class and edited the Rails.logger for the service class

* APPEALS-38926 Added new info column to update transaction and added it to the RSpec test

* APPEALS-38926 - added comments to the Service Class

* APPEALS-38926 - Code Changes from TL Code Review, added rescues and fails

* APPEALS-38926 - fixed lint

* Jonathan/appeals 36689 (#20671)

* created new service class

* add rspec test cases

* service class methods

* controller action and spec

* controller update

* CC fixes

* removed accidental line

* changed to find_or_create_by

* reworked error for redis lock

* additional rspec for controller

* fixed test

* rspec fix

* delete lock key afterwards

* moved Event creation back into lock block

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* APPEALS-39663 Create CreateUserOnEvent service class and add logic to create user if needed (#20838)

* added user creation class & test

* removed extra lines

* add comment to class

* added context for args from avro

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Jr/APPEALS-39664 (#20898)

* APPEALS-39664 - Created updated_vacols_on_optin module class, and removed  extra private

* APPEALS-39664 - created UpdatedVacolsOnOptin module, RSpec file, as well as sudo code for SOC and SSOC optin check in main service class DecisionReviewCreated

* APPEALS-39664 - Created RSpec Test - PASS,  Updated method name.

* APPEALS-39664 - Added Error Handling to Sub Service Class

* APPEALS-39664 - Removed un-needed comments

* APPEALS-39664 - added include for the module UpdateVacolsOnOptin inside decision_review_created service

* APPEALS-39664 - Added Custom Error , and updated all .perform! to .process!

* APPEALS-39664 - Updated RSpec Test to reflect changes - all pass

* Updated comment for decision_review_created Service Class

* Will/appeals 36691 (#20909)

* Created attribute for failed claims on event and displaying failed claim

* passing all failed events back to serializer

* added controller tests for failed_claims and added class method for finding claims on events

* renamed failed_claims to claim_errors

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* JR/APPEALS-40954 Create CreateIntake service class and add logic to create Intake (#20967)

* APPEALS-40954 - Added Sudo Code for CreateIntake Logic

* APPEALS-40954 - added logic to CreateIntake module

* APPEALS-40954 - added Create Intake spec  with error handling - All pass

* APPEALS-40954 - Added CreateIntake Module to DecisionReviewCreated Main Service

* APPEALS-40954 - updated folder name and namespace

* APPEALS-40954 - Updated RSpec to match folder

* APPEALS-40954- Upated decision review created servie include to match folder

* Fixed failing test due to folder structure change

* Jonathan/appeals 40950 (#20965)

* Added new veteran creation module

* saving test changes

* rspec

* fixed datetime assign

* renamed var

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* APPEALS-40950 - update var veteran to vbms_veteran (#21050)

* APPEALS-40950 - update var veteran to vbms_veteran

* updated private method in controller to match happy path params dcr to drc

* Create CreateClaimantOnEvent service class and add logic to create claimant if needed (#21044)

* created service class and basic unit tests

* added conditionals for veteran claimants and will create veteran claimant now

* modified create claimant to use eventing data

* change to a class

* creating claimant correctly

* test fixes

* removed old comments

* fixed type for veteran_is_not_claimant

* changed specs to match pulling out hash params and removed event.reference id

* moved back to dot notation

* updated comments

* fixed create claimant issue

* updated process to use bang method and returning claimant

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-41968 Modify Issues Endpoints & Update Metric Service Logic (#21108)

* moved metricsService call to top of method

* modified rspec case

* moved metric logging spec case higher up

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Resolved merge conflicts while merging master into feature/APPEALS-28… (#21167)

* Jonathan/APPEALS-41957 (#21171)

* added interface + parser class

* edited veteran parse methods

* renamed var to "payload"

* started refactor

* more refactor + rspec

* added EPE attr

* dateTime conversions

* added class comments

* rubocop lint changes

* fixed test case

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Jr/appeals 41931 (#21192)

* APPEALS-41931 - Created create_ep_establishment file and class

* APPEALS-41931 - added process! method that creates epe from payload

* APPEALS-41931 - added logic for EventRecord being created and error handling

* APPEALS-41931 - added comments to process method

* APPEALS-41931 - set up rspec test

* APPEALS-41931 - removed lint

* APPEALS-41931-created Rspec and Test Pass

* APPEALS-41931 - cleaned lint and added error test 100% code coverage

* APPEALS-41931- fixed lint

* APPEALS-41931- fixed lint and fixed %100 code cov

* APPEALS-41931 - cleaned up lint and warn for Service Class

* APPEALS-41931 - Added CreateEpEstablishment.process! to the decision_review_created Parent Service Class

* APPEALS-41931 - refactor code to implement new parser

* fixed linting issues

* APPEALS-41931 - Updated Comments for CreateEpEstablishment

* APPEALS-41931 - moved logical date int to parser and refactored code in Class and RSepc

* edits

* Will/appeals 41929 (#21205)

* added an error and commented out call for createclaim

* added new parser logic

* merge request changes

* fixed rubocop issues and added checks for claim review attributes

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-42631- Create Rspec for Parser with sample payload method, and add additional parser methods  (#21294)

* APPEALS-42631 - create example.json

* APPEALS-42631 - implemented example_response and load_example method and works as expected

* APPEALS-42631 - created RSpec for DecisionReviewCreatedParser

* APPEALS-42631 - Refactored parser and Added RSpec for current praser

* APPEALS-42631 - added methods to parser for intake, claimant, and claim_review and added matching rspec for new methods

* APPEALS-42631 - updated code per TL Comments

* APPEALS-421631- added additional comments and fixing lint

* APPEALS-41934 (#21251)

* initial commit

* implementation & error

* renamed method

* rspec

* saving refactor progress

* finished refactoring class

* added comment

* minor parser/rspec updates

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* added RI parser methods to rspec (#21322)

* added RI parser methods to rspec

* updated config for Consumer

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Update DecisionReviewCreated to make all calls and link all intake records (#21334)

* updated decision review created to uncomment actions and updated specs

* remove binding.pry

* removed comments

* fixed a bunch of broken tests

* fixed last broken tests

* fixed params for methods and specs

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-43446- Change name of BackfillRecord polymorphic model to EventedRecord (#21382)

* APPEALS-43446 - renamed columns for backfill record to evented record migrate and rollback work as intended

* APPEALS-43446 replaced all backfill_record with evented_record within the models associations and updated Rspec tests

* APPEALS-43446 fixed error message

* Jr/ama controller refactor (#21365)

* fixed test and refactored controller

* saving changes

* init commit passing all the way to request_issues

* all pass and functions as expected

* lint

* lint

* updated initializer to use deep_symbolize_keys

* updated headers to be more dry

* added missing Intake attributes

* fixed failing tests

* updated createIntake test

* fixed veteran rspec

* fixed RI test

* APPEALS-43446- Change name of BackfillRecord polymorphic model to EventedRecord (#21382)

* APPEALS-43446 - renamed columns for backfill record to evented record migrate and rollback work as intended

* APPEALS-43446 replaced all backfill_record with evented_record within the models associations and updated Rspec tests

* APPEALS-43446 fixed error message

* updated intake

* modified intake

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* redo init commit

* updated imp. logic

* attorney widget fix

* Create end to end , happy path rspec's for Decision Created event Feature (#21395)

* updated more tests and fixed user creation

* added in person creation

* corrected headers and fixed broken tests

* added type

* fixed failing spec

* creating event when person is created

* updated spec to account for both events being created

* ignored long lines for spec file

* linting fixes

* fixed more linting errors/ ignored long lines

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Jonathan/appeals 43589 (#21397)

* saving

* saving user class error progress

* error handling for user creation

* updated error handling/raises

* validator methods

* validations

* update logical date converter

* changed veteran service class to use file_number

* added fields to hlr

* updated epe data

* removed byebug

* fixed typos

* Edit 5: adding detail_id to Intake

* EDIT 6: add claimant_participant_id to epe

* Edit 8: Intake is correctly linked to veteran

* Edit 7: RI additions

* fixed spacing

* fixed typo

* saving rspec changes

* rspec updates

* added datetime conversion for person dob

* fixed rspec

* remove unused methods

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* feature/APPEALS-35707-29633-29632 (uat) (#21435)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* awillis/APPEALS-45152 (#21506)

* APPEALS-45152 Updated the logic in create_claimant_on_event.rb to always generate a claimant record.  Updated RSPEC.

* APPEALS-45152 Cleaned up RSPEC.

* APPEALS-45152 Fixed Failing RSPEC within decision_review_created_spec.rb

* APPEALS-45152 Updated RSPEC within decision_review_created_spec.rb with addtional checks.

* APPEALS-44319 (#21449) (#21541)

* added logic for legacy issues in DRC

* more legacy logic

* updated rspec context lang

* error cov

---------

Co-authored-by: Jonathan Tsang <98970951+jtsangVA@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Konstantin/APPEALS-45175 (#21517)

* logical_date_converter re-written to work with yyyymmdd numbers from json payload

* comments removed

* comments removed2

* method rewitten

* json example fixed

* date in scenario_b_spec.rb replaced by valid ones, additional check for empty string parameter added to the logical_date_converter

* removed filter for non rating request issue dropdown (#21480)

* removed filter for non rating request issue dropdown

* removed excluded types as we don't need to check this anymore

* fixed broken test

* added category back

* no longer need test to check for missing categories since we're returning them all.

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* Column added to RequestIssues table (#21578)

* added migration and simple spec to test

* fixed schema deleted issues

* updated spec to verify data being set

* error was no longer trigger from update. removed check and passed in correct variable

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>
Co-authored-by: TuckerRose <tuckerrose@TuckerRoses-MacBook-Pro.local>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* added bgs_source to parser, controller and serializer along with specs (#21621)

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Konstantin/appeals 45180 (#21591)

* bug is fixed, condition added to DecisionReviewCreatedController

* rspec test added

* json message updated

* comment added

* Update decision_review_created_controller.rb

comment updated

---------

Co-authored-by: Nader Kutub <nader.kutub@va.gov>

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Konstantin/appeals 45149 (#21644)

* RequestIssueSerializer attributes added

* development_item_reference_id, same_office, legacy_opt_in_approved attributes were added

* merge conflicts resolved

* merge conflict resolved

* fixed

* all datapoints were added

* empty line removed

* comment removed

* refactored

* app/controllers/api/docs/v3/ama_issues.yaml updated with new attributes

* example of request issue updated app/controllers/api/docs/v3/ama_issues.yaml

* null to nil edited in example ama_issues.yaml

* example ama_issues.yaml updated

* example ama_issues.yaml updated2

* linters fixed

* linters fixed2

* linters are fixed

* Feature/appeals 28087 36678 (#21683)

* APPEALS-36688- Build out Decision Review Created API route & Controller (#20569)

* added skeleton for api route

* removed duplicate code

* removed development envs for api and moved to creating an ApiKey

* removing any changes to development.rb

* removed extra auth code

* removed before action

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-38232 -Build out Decision Review Created Event Failure API route & Controller (#20601)

* APPEALS-38232 - renamed controller to AC req, added decision_review_created_error endpoint, added decision_review_created_error method, and added RSpec for new method

* APPEALS-38232 - add comments to RSpec

* Jonathan/appeals 36684 (#20516)

* initial Events migration and model creation

* created model for DecisionReviewCreatedEvent

* updated comment with example

* added spec for DRCE model

* APPEALS-36684 created event_records migration and added polymorphic associations to specific models, and added rspec for the event_record model

* APPEALS-36684 - Updated RSpec tests and updated variables and got unhappy path to pass

* cleaned lint

* saving DRCE spec changes

* fixed spec test

* changed has_many to has_one

* updated event model spec

* added validation for ER poly associations

* changed association to has_one

* added new method and updated tests

* added foreign key after running checks

* some PR comment changes

* refactored methods in EventConcern

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>
Co-authored-by: Enrilo Ugalde <ugalde_enrilo@bah.com>

* added migration, scopes and specs for events (#20707)

* fixed migration to update existing events table

* rollbacked to fix schema

* schema fixes

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Jr/APPEALS-38926  (#20714)

* APPEALS-38926 - Created DecisionReviewCreatedError Service Class, added logic for handling service error, updated DecisonReviewCreatedController, and DecisionReviewCreatedController spec, with the updated service logic

* APPEALS-38926- created RSpec Test for DecisionReviewCreatedError Service Class and edited the Rails.logger for the service class

* APPEALS-38926 Added new info column to update transaction and added it to the RSpec test

* APPEALS-38926 - added comments to the Service Class

* APPEALS-38926 - Code Changes from TL Code Review, added rescues and fails

* APPEALS-38926 - fixed lint

* Jonathan/appeals 36689 (#20671)

* created new service class

* add rspec test cases

* service class methods

* controller action and spec

* controller update

* CC fixes

* removed accidental line

* changed to find_or_create_by

* reworked error for redis lock

* additional rspec for controller

* fixed test

* rspec fix

* delete lock key afterwards

* moved Event creation back into lock block

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* APPEALS-39663 Create CreateUserOnEvent service class and add logic to create user if needed (#20838)

* added user creation class & test

* removed extra lines

* add comment to class

* added context for args from avro

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Jr/APPEALS-39664 (#20898)

* APPEALS-39664 - Created updated_vacols_on_optin module class, and removed  extra private

* APPEALS-39664 - created UpdatedVacolsOnOptin module, RSpec file, as well as sudo code for SOC and SSOC optin check in main service class DecisionReviewCreated

* APPEALS-39664 - Created RSpec Test - PASS,  Updated method name.

* APPEALS-39664 - Added Error Handling to Sub Service Class

* APPEALS-39664 - Removed un-needed comments

* APPEALS-39664 - added include for the module UpdateVacolsOnOptin inside decision_review_created service

* APPEALS-39664 - Added Custom Error , and updated all .perform! to .process!

* APPEALS-39664 - Updated RSpec Test to reflect changes - all pass

* Updated comment for decision_review_created Service Class

* Will/appeals 36691 (#20909)

* Created attribute for failed claims on event and displaying failed claim

* passing all failed events back to serializer

* added controller tests for failed_claims and added class method for finding claims on events

* renamed failed_claims to claim_errors

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* JR/APPEALS-40954 Create CreateIntake service class and add logic to create Intake (#20967)

* APPEALS-40954 - Added Sudo Code for CreateIntake Logic

* APPEALS-40954 - added logic to CreateIntake module

* APPEALS-40954 - added Create Intake spec  with error handling - All pass

* APPEALS-40954 - Added CreateIntake Module to DecisionReviewCreated Main Service

* APPEALS-40954 - updated folder name and namespace

* APPEALS-40954 - Updated RSpec to match folder

* APPEALS-40954- Upated decision review created servie include to match folder

* Fixed failing test due to folder structure change

* Jonathan/appeals 40950 (#20965)

* Added new veteran creation module

* saving test changes

* rspec

* fixed datetime assign

* renamed var

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* APPEALS-40950 - update var veteran to vbms_veteran (#21050)

* APPEALS-40950 - update var veteran to vbms_veteran

* updated private method in controller to match happy path params dcr to drc

* Create CreateClaimantOnEvent service class and add logic to create claimant if needed (#21044)

* created service class and basic unit tests

* added conditionals for veteran claimants and will create veteran claimant now

* modified create claimant to use eventing data

* change to a class

* creating claimant correctly

* test fixes

* removed old comments

* fixed type for veteran_is_not_claimant

* changed specs to match pulling out hash params and removed event.reference id

* moved back to dot notation

* updated comments

* fixed create claimant issue

* updated process to use bang method and returning claimant

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-41968 Modify Issues Endpoints & Update Metric Service Logic (#21108)

* moved metricsService call to top of method

* modified rspec case

* moved metric logging spec case higher up

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Resolved merge conflicts while merging master into feature/APPEALS-28… (#21167)

* Jonathan/APPEALS-41957 (#21171)

* added interface + parser class

* edited veteran parse methods

* renamed var to "payload"

* started refactor

* more refactor + rspec

* added EPE attr

* dateTime conversions

* added class comments

* rubocop lint changes

* fixed test case

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Jr/appeals 41931 (#21192)

* APPEALS-41931 - Created create_ep_establishment file and class

* APPEALS-41931 - added process! method that creates epe from payload

* APPEALS-41931 - added logic for EventRecord being created and error handling

* APPEALS-41931 - added comments to process method

* APPEALS-41931 - set up rspec test

* APPEALS-41931 - removed lint

* APPEALS-41931-created Rspec and Test Pass

* APPEALS-41931 - cleaned lint and added error test 100% code coverage

* APPEALS-41931- fixed lint

* APPEALS-41931- fixed lint and fixed %100 code cov

* APPEALS-41931 - cleaned up lint and warn for Service Class

* APPEALS-41931 - Added CreateEpEstablishment.process! to the decision_review_created Parent Service Class

* APPEALS-41931 - refactor code to implement new parser

* fixed linting issues

* APPEALS-41931 - Updated Comments for CreateEpEstablishment

* APPEALS-41931 - moved logical date int to parser and refactored code in Class and RSepc

* edits

* Will/appeals 41929 (#21205)

* added an error and commented out call for createclaim

* added new parser logic

* merge request changes

* fixed rubocop issues and added checks for claim review attributes

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-42631- Create Rspec for Parser with sample payload method, and add additional parser methods  (#21294)

* APPEALS-42631 - create example.json

* APPEALS-42631 - implemented example_response and load_example method and works as expected

* APPEALS-42631 - created RSpec for DecisionReviewCreatedParser

* APPEALS-42631 - Refactored parser and Added RSpec for current praser

* APPEALS-42631 - added methods to parser for intake, claimant, and claim_review and added matching rspec for new methods

* APPEALS-42631 - updated code per TL Comments

* APPEALS-421631- added additional comments and fixing lint

* APPEALS-41934 (#21251)

* initial commit

* implementation & error

* renamed method

* rspec

* saving refactor progress

* finished refactoring class

* added comment

* minor parser/rspec updates

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* added RI parser methods to rspec (#21322)

* added RI parser methods to rspec

* updated config for Consumer

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Update DecisionReviewCreated to make all calls and link all intake records (#21334)

* updated decision review created to uncomment actions and updated specs

* remove binding.pry

* removed comments

* fixed a bunch of broken tests

* fixed last broken tests

* fixed params for methods and specs

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* APPEALS-43446- Change name of BackfillRecord polymorphic model to EventedRecord (#21382)

* APPEALS-43446 - renamed columns for backfill record to evented record migrate and rollback work as intended

* APPEALS-43446 replaced all backfill_record with evented_record within the models associations and updated Rspec tests

* APPEALS-43446 fixed error message

* Jr/ama controller refactor (#21365)

* fixed test and refactored controller

* saving changes

* init commit passing all the way to request_issues

* all pass and functions as expected

* lint

* lint

* updated initializer to use deep_symbolize_keys

* updated headers to be more dry

* added missing Intake attributes

* fixed failing tests

* updated createIntake test

* fixed veteran rspec

* fixed RI test

* APPEALS-43446- Change name of BackfillRecord polymorphic model to EventedRecord (#21382)

* APPEALS-43446 - renamed columns for backfill record to evented record migrate and rollback work as intended

* APPEALS-43446 replaced all backfill_record with evented_record within the models associations and updated Rspec tests

* APPEALS-43446 fixed error message

* updated intake

* modified intake

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* redo init commit

* updated imp. logic

* attorney widget fix

* Create end to end , happy path rspec's for Decision Created event Feature (#21395)

* updated more tests and fixed user creation

* added in person creation

* corrected headers and fixed broken tests

* added type

* fixed failing spec

* creating event when person is created

* updated spec to account for both events being created

* ignored long lines for spec file

* linting fixes

* fixed more linting errors/ ignored long lines

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Jonathan/appeals 43589 (#21397)

* saving

* saving user class error progress

* error handling for user creation

* updated error handling/raises

* validator methods

* validations

* update logical date converter

* changed veteran service class to use file_number

* added fields to hlr

* updated epe data

* removed byebug

* fixed typos

* Edit 5: adding detail_id to Intake

* EDIT 6: add claimant_participant_id to epe

* Edit 8: Intake is correctly linked to veteran

* Edit 7: RI additions

* fixed spacing

* fixed typo

* saving rspec changes

* rspec updates

* added datetime conversion for person dob

* fixed rspec

* remove unused methods

---------

Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* feature/APPEALS-35707-29633-29632 (uat) (#21435)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* awillis/APPEALS-45152 (#21506)

* APPEALS-45152 Updated the logic in create_claimant_on_event.rb to always generate a claimant record.  Updated RSPEC.

* APPEALS-45152 Cleaned up RSPEC.

* APPEALS-45152 Fixed Failing RSPEC within decision_review_created_spec.rb

* APPEALS-45152 Updated RSPEC within decision_review_created_spec.rb with addtional checks.

* APPEALS-44319 (#21449) (#21541)

* added logic for legacy issues in DRC

* more legacy logic

* updated rspec context lang

* error cov

---------

Co-authored-by: Jonathan Tsang <98970951+jtsangVA@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>

* Konstantin/APPEALS-45175 (#21517)

* logical_date_converter re-written to work with yyyymmdd numbers from json payload

* comments removed

* comments removed2

* method rewitten

* json example fixed

* date in scenario_b_spec.rb replaced by valid ones, additional check for empty string parameter added to the logical_date_converter

* removed filter for non rating request issue dropdown (#21480)

* removed filter for non rating request issue dropdown

* removed excluded types as we don't need to check this anymore

* fixed broken test

* added category back

* no longer need test to check for missing categories since we're returning them all.

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Column added to RequestIssues table (#21578)

* added migration and simple spec to test

* fixed schema deleted issues

* updated spec to verify data being set

* error was no longer trigger from update. removed check and passed in correct variable

---------

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>
Co-authored-by: TuckerRose <tuckerrose@TuckerRoses-MacBook-Pro.local>

* added bgs_source to parser, controller and serializer along with specs (#21621)

Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>

* Konstantin/appeals 45180 (#21591)

* bug is fixed, condition added to DecisionReviewCreatedController

* rspec test added

* json message updated

* comment added

* Update decision_review_created_controller.rb

comment updated

---------

Co-authored-by: Nader Kutub <nader.kutub@va.gov>

* Konstantin/appeals 45149 (#21644)

* RequestIssueSerializer attributes added

* development_item_reference_id, same_office, legacy_opt_in_approved attributes were added

* merge conflicts resolved

* merge conflict resolved

* fixed

* all datapoints were added

* empty line removed

* comment removed

* refactored

* app/controllers/api/docs/v3/ama_issues.yaml updated with new attributes

* example of request issue updated app/controllers/api/docs/v3/ama_issues.yaml

* null to nil edited in example ama_issues.yaml

* example ama_issues.yaml updated

* example ama_issues.yaml updated2

* linters fixed

* linters fixed2

* linters are fixed

---------

Co-authored-by: Will Love <wlove29@gmail.com>
Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>
Co-authored-by: Enrilo Ugalde <71367882+Jruuuu@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <98970951+jtsangVA@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>
Co-authored-by: Enrilo Ugalde <ugalde_enrilo@bah.com>
Co-authored-by: isaiahsaucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: (Jeffrey) Aaron Willis <98484567+Aaron-Willis@users.noreply.github.com>
Co-authored-by: Konstantin Shevtsov <166068160+KonstantinShevtsov@users.noreply.github.com>
Co-authored-by: TuckerRose <tuckerrose@TuckerRoses-MacBook-Pro.local>

* added conditional to throw different errors based on consumer event id

* fixed linting error

* eli/APPEALS-28087-36678-prod-test-branch (#21701)

* added conditional to throw different errors based on consumer event id

* fixed linting error

* fix linting error

---------

Co-authored-by: Will Love <wlove29@gmail.com>
Co-authored-by: TuckerRose <tuckerrose@tuckerroses-mbp.lan>
Co-authored-by: Enrilo Ugalde <71367882+Jruuuu@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <98970951+jtsangVA@users.noreply.github.com>
Co-authored-by: Jonathan Tsang <tsang_jonathan@bah.com>
Co-authored-by: Enrilo Ugalde <ugalde_enrilo@bah.com>
Co-authored-by: isaiahsaucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: (Jeffrey) Aaron Willis <98484567+Aaron-Willis@users.noreply.github.com>
Co-authored-by: Konstantin Shevtsov <166068160+KonstantinShevtsov@users.noreply.github.com>
Co-authored-by: TuckerRose <tuckerrose@TuckerRoses-MacBook-Pro.local>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Eli Brown <elilogbro@gmail.com>
craigrva added a commit that referenced this pull request Jun 10, 2024
* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
sbashamoni added a commit that referenced this pull request Jun 13, 2024
* APPEALS-44496 Fix Factory (#21770)

* APPEALS-44496 Fix Factory

* updated falky test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* fix(va facilities): update per page param (#21754)

* Hotfix/appeals 44033:Fix Judge and Attorney tasks in the QualityReview workflow are being erroneously cancelled  (#21786)

* Adjusts the send_to_hearings_branch method to exclude JudgeQualityReviews when cancelling all Judge tasks and subtasks
rebase

* adjusts spacing and adds back deleted test

* Remove unnecessary schema changes and adds an exclamation mark to account for method that changes data

* add exclamation to handle_judge_tasks

---------

Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* Hotfix/appeals 45150 (#21627)

* Added distribution task with children status change on split appeal test

* Added tests and commented out pry session in appeal

* Changed split appeal test to test for both defects

* Added  conditional logic to status_is_valid_on_create in task model

* looking for defect

* Reverted changes to finalize split appeal method added condtional logic to schedule hearing tasks model

* Removed debugger and commented out lines

* Added erroneously removed lines of code and added spacing

* Fix linting errors

* Added conditional logic for appeal split process

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-36313-V2 (#21782)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* APPEALS-47106 Caseflow Swagger (#21847)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* skip flakey tests

* Update appeal_notifications_page_spec.rb

* Hotfix/appeals 36313 v2 (#21858)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

* Add predocket coverage for IHP task creation when POA is updated

* adjust predocketed from active status to open to include on_hold status

* Remove commented out data staging for bgs POA rspec test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* feature/appeals-43220 (#21862)

* Adding 403 and 404 functionality to Reader.

* Adding icon to button.

* Fixing linting issues.

* Using the Link component and moving href into constant

* fix linter issues

---------

Co-authored-by: Brian Bommarito <brian@bommarito.me>

* feature/appeals-39842 (#21864)

* anusha/appeals-45976 (#21738)

* Change address format

* added rspec tests to cover hotfix

* testing for inclusion of expected values (addressLine1, etc.)

* rspec test -- wip

* still WIP

* Fix address tests.

* updated fakes

* Update internationalPostalCode

* appeals controller spec update

* http request changed and test

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>

* lauren/APPEALS-39842 (#21739)

* Add scroll metrics start time fix and update metric message

* Add metrics attributes json in PdfPage constructor and add isPageVisible metric attribute

* Fix scroll message spacing

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* noelle/appeals-39842 (#21740)

* Remove UUID from attrs sent_to metrics.

* Remove UUID from spec

* remove uuid from update_appellant job

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>

* fix failing tests

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21666)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46540: Reduce time to deploy demo environments (#21791)

* APPEALS-42710: Modify local/demo seed data so that not all seed files need to be run when resetting/deploying (#21743)

* refactor users to use factories and create singletons

* code quality, reduce counts

* refactor substitutions

* refactor veterans health administration seed

* refactor MTV

* move education orgs to users seed

* move intake users to users seed, comment non-required seed files

* add veterans seed file from Sean's branch

* fix errors

* add hearing prep role to judges

* add optional seed file

* add optional seed file and button to run it in demo

* lint, specs

* remove priority dist from optional, test fix

* fix tests

* Disable repeated conditional in Test::UsersController

* feature/APPEALS-43597 RC (#21860)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue adjustment

* Remove unused method

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>

* feature/appeals-39842.1 (#21871)

* Fix PdfFile test

* Delete client/app/readerprototype/components/ReaderDocument.jsx (#21870)

Delete empty ReaderDocument file

* Fix lint issue in PdfFile (#21873)

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)" (#21888)

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)"

This reverts commit 7aa04e6.

* fix users seed spec

* Revert "feature/APPEALS-43597 RC (#21860)" (#21895)

This reverts commit df60ddb.

* Revert "APPEALS-47106 Caseflow Swagger (#21847)" (#21901)

This reverts commit c3bc501.

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Christian Cain <149622375+christian-cain-bah@users.noreply.github.com>
Co-authored-by: zborgesva <145717155+zborgesva@users.noreply.github.com>
Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Alex Ferencz VA <156860944+aferencz1987VA@users.noreply.github.com>
Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Aiman Kayad <Aiman.Kayad@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Brian Bommarito <brian@bommarito.me>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
craigrva added a commit that referenced this pull request Jun 24, 2024
* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
craigrva added a commit that referenced this pull request Jun 25, 2024
* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
mchbidwell pushed a commit that referenced this pull request Jun 25, 2024
* Feature/appeals 46208.rc (#21746)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Ricky/appeals-43523 (#21345)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Added Download Ineligible Judge List

* APPEALS-43116 add sentry error capture to push priority job and updated specs (#21369)

* Updated query to include css_id and updated id fetch

* Updates button styling, fixed csv to have all values but judge name

* Updated id to sattyid values, and added name data to column

* fixed linting error

* Updated logic to account for inactive users in both caseflow and vacols

* Updated button component and cleaned up code

* Updated handling of ids in situation where sattyid is unavailable in record

* Updated to have individual columns for caseflow id and satty id

* APPEALS-43117 Add QA Users for testing (#21580)

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-42266 Remove CaseDistributionLevers seed config in Rails helper and update required spec files

* APPEALS-42266 fixing a couple of linting issues

* APPEALS-43523 reverted the legacy tasks controller (#21713)

* APPEALS-43523 reverted the legacy tasks controller

* APPEALS-43523 reverted the erorrs concern too

* Update legacy_tasks_controller_spec.rb

* reverted raven call

* APPEALS-46208 fixed code climate warning about a bad naming convention.

* APPEALS-46208 fixed indentation

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>

* APPEALS-44148: Add ruby CE API Gem (#21520)

* hotfix/APPEALS-46182 (#21709)

* Added tests and added logic to account for sct distribution

* Added more tests and changed logic

* Adding comments

* Fixing logic for SCT

* Update test and logic

* Fixing tests

* Update docket switch mail task to match corrected logic

* Fixing logic

* Cleaning up refactor

* Worked with the amazing ALex and we figured it out!

* Fixing linting issue

* Fix linting issues

* Skipping flaky tests

* Skipping another flaky test

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* MattT/APPEALS-46383: Upgrade aws-sdk gem to v3.2 (#21748)

* Upgrade aws-sdk gem to v3.2

* Update caseflow-commons hash

* Apply new hash update

* Skip flaky test

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Update gemfile and gemfile.lock to point to new bgs version (#21749)

* Update gemfile and gemfile.lock to point to new bgs version

* Skipping flake specs in review_spec.rb file

* Revert "APPEALS-44148: Add ruby CE API Gem (#21520)" (#21762)

This reverts commit 3a393d1.

* Update ruby-bgs gemfile and gemfile.lock to new version (#21761)

* Update MAC_INTEL.md

Update Oracle client link

* APPEALS-44496 Fix Factory (#21770)

* APPEALS-44496 Fix Factory

* updated falky test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* fix(va facilities): update per page param (#21754)

* Hotfix/appeals 44033:Fix Judge and Attorney tasks in the QualityReview workflow are being erroneously cancelled  (#21786)

* Adjusts the send_to_hearings_branch method to exclude JudgeQualityReviews when cancelling all Judge tasks and subtasks
rebase

* adjusts spacing and adds back deleted test

* Remove unnecessary schema changes and adds an exclamation mark to account for method that changes data

* add exclamation to handle_judge_tasks

---------

Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* Hotfix/appeals 45150 (#21627)

* Added distribution task with children status change on split appeal test

* Added tests and commented out pry session in appeal

* Changed split appeal test to test for both defects

* Added  conditional logic to status_is_valid_on_create in task model

* looking for defect

* Reverted changes to finalize split appeal method added condtional logic to schedule hearing tasks model

* Removed debugger and commented out lines

* Added erroneously removed lines of code and added spacing

* Fix linting errors

* Added conditional logic for appeal split process

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-36313-V2 (#21782)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* APPEALS-47106 Caseflow Swagger (#21847)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* skip flakey tests

* Update appeal_notifications_page_spec.rb

* Hotfix/appeals 36313 v2 (#21858)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

* Add predocket coverage for IHP task creation when POA is updated

* adjust predocketed from active status to open to include on_hold status

* Remove commented out data staging for bgs POA rspec test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* feature/appeals-43220 (#21862)

* Adding 403 and 404 functionality to Reader.

* Adding icon to button.

* Fixing linting issues.

* Using the Link component and moving href into constant

* fix linter issues

---------

Co-authored-by: Brian Bommarito <brian@bommarito.me>

* feature/appeals-39842 (#21864)

* anusha/appeals-45976 (#21738)

* Change address format

* added rspec tests to cover hotfix

* testing for inclusion of expected values (addressLine1, etc.)

* rspec test -- wip

* still WIP

* Fix address tests.

* updated fakes

* Update internationalPostalCode

* appeals controller spec update

* http request changed and test

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>

* lauren/APPEALS-39842 (#21739)

* Add scroll metrics start time fix and update metric message

* Add metrics attributes json in PdfPage constructor and add isPageVisible metric attribute

* Fix scroll message spacing

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* noelle/appeals-39842 (#21740)

* Remove UUID from attrs sent_to metrics.

* Remove UUID from spec

* remove uuid from update_appellant job

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>

* fix failing tests

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21666)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46540: Reduce time to deploy demo environments (#21791)

* APPEALS-42710: Modify local/demo seed data so that not all seed files need to be run when resetting/deploying (#21743)

* refactor users to use factories and create singletons

* code quality, reduce counts

* refactor substitutions

* refactor veterans health administration seed

* refactor MTV

* move education orgs to users seed

* move intake users to users seed, comment non-required seed files

* add veterans seed file from Sean's branch

* fix errors

* add hearing prep role to judges

* add optional seed file

* add optional seed file and button to run it in demo

* lint, specs

* remove priority dist from optional, test fix

* fix tests

* Disable repeated conditional in Test::UsersController

* feature/APPEALS-43597 RC (#21860)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue adjustment

* Remove unused method

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>

* feature/appeals-39842.1 (#21871)

* Fix PdfFile test

* Delete client/app/readerprototype/components/ReaderDocument.jsx (#21870)

Delete empty ReaderDocument file

* Fix lint issue in PdfFile (#21873)

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)" (#21888)

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)"

This reverts commit 7aa04e6.

* fix users seed spec

* Revert "feature/APPEALS-43597 RC (#21860)" (#21895)

This reverts commit df60ddb.

* Revert "APPEALS-47106 Caseflow Swagger (#21847)" (#21901)

This reverts commit c3bc501.

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Merge remote-tracking branch 'origin/master' into 25125-test-resolution

* Forgot to save Gemfile.lock

* uncomment seed

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>
Co-authored-by: youfoundmanesh <129548081+youfoundmanesh@users.noreply.github.com>
Co-authored-by: Alex Ferencz VA <156860944+aferencz1987VA@users.noreply.github.com>
Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Alec Spottswood <ajspottswood@gmail.com>
Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Christian Cain <149622375+christian-cain-bah@users.noreply.github.com>
Co-authored-by: zborgesva <145717155+zborgesva@users.noreply.github.com>
Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Aiman Kayad <Aiman.Kayad@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Brian Bommarito <brian@bommarito.me>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
mchbidwell pushed a commit that referenced this pull request Jul 1, 2024
* Feature/appeals 46208.rc (#21746)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Ricky/appeals-43523 (#21345)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Added Download Ineligible Judge List

* APPEALS-43116 add sentry error capture to push priority job and updated specs (#21369)

* Updated query to include css_id and updated id fetch

* Updates button styling, fixed csv to have all values but judge name

* Updated id to sattyid values, and added name data to column

* fixed linting error

* Updated logic to account for inactive users in both caseflow and vacols

* Updated button component and cleaned up code

* Updated handling of ids in situation where sattyid is unavailable in record

* Updated to have individual columns for caseflow id and satty id

* APPEALS-43117 Add QA Users for testing (#21580)

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-42266 Remove CaseDistributionLevers seed config in Rails helper and update required spec files

* APPEALS-42266 fixing a couple of linting issues

* APPEALS-43523 reverted the legacy tasks controller (#21713)

* APPEALS-43523 reverted the legacy tasks controller

* APPEALS-43523 reverted the erorrs concern too

* Update legacy_tasks_controller_spec.rb

* reverted raven call

* APPEALS-46208 fixed code climate warning about a bad naming convention.

* APPEALS-46208 fixed indentation

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>

* APPEALS-44148: Add ruby CE API Gem (#21520)

* hotfix/APPEALS-46182 (#21709)

* Added tests and added logic to account for sct distribution

* Added more tests and changed logic

* Adding comments

* Fixing logic for SCT

* Update test and logic

* Fixing tests

* Update docket switch mail task to match corrected logic

* Fixing logic

* Cleaning up refactor

* Worked with the amazing ALex and we figured it out!

* Fixing linting issue

* Fix linting issues

* Skipping flaky tests

* Skipping another flaky test

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* MattT/APPEALS-46383: Upgrade aws-sdk gem to v3.2 (#21748)

* Upgrade aws-sdk gem to v3.2

* Update caseflow-commons hash

* Apply new hash update

* Skip flaky test

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Update gemfile and gemfile.lock to point to new bgs version (#21749)

* Update gemfile and gemfile.lock to point to new bgs version

* Skipping flake specs in review_spec.rb file

* Revert "APPEALS-44148: Add ruby CE API Gem (#21520)" (#21762)

This reverts commit 3a393d1.

* Update ruby-bgs gemfile and gemfile.lock to new version (#21761)

* Update MAC_INTEL.md

Update Oracle client link

* APPEALS-44496 Fix Factory (#21770)

* APPEALS-44496 Fix Factory

* updated falky test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* fix(va facilities): update per page param (#21754)

* Hotfix/appeals 44033:Fix Judge and Attorney tasks in the QualityReview workflow are being erroneously cancelled  (#21786)

* Adjusts the send_to_hearings_branch method to exclude JudgeQualityReviews when cancelling all Judge tasks and subtasks
rebase

* adjusts spacing and adds back deleted test

* Remove unnecessary schema changes and adds an exclamation mark to account for method that changes data

* add exclamation to handle_judge_tasks

---------

Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* Hotfix/appeals 45150 (#21627)

* Added distribution task with children status change on split appeal test

* Added tests and commented out pry session in appeal

* Changed split appeal test to test for both defects

* Added  conditional logic to status_is_valid_on_create in task model

* looking for defect

* Reverted changes to finalize split appeal method added condtional logic to schedule hearing tasks model

* Removed debugger and commented out lines

* Added erroneously removed lines of code and added spacing

* Fix linting errors

* Added conditional logic for appeal split process

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-36313-V2 (#21782)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* APPEALS-47106 Caseflow Swagger (#21847)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* skip flakey tests

* Update appeal_notifications_page_spec.rb

* Hotfix/appeals 36313 v2 (#21858)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

* Add predocket coverage for IHP task creation when POA is updated

* adjust predocketed from active status to open to include on_hold status

* Remove commented out data staging for bgs POA rspec test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* feature/appeals-43220 (#21862)

* Adding 403 and 404 functionality to Reader.

* Adding icon to button.

* Fixing linting issues.

* Using the Link component and moving href into constant

* fix linter issues

---------

Co-authored-by: Brian Bommarito <brian@bommarito.me>

* feature/appeals-39842 (#21864)

* anusha/appeals-45976 (#21738)

* Change address format

* added rspec tests to cover hotfix

* testing for inclusion of expected values (addressLine1, etc.)

* rspec test -- wip

* still WIP

* Fix address tests.

* updated fakes

* Update internationalPostalCode

* appeals controller spec update

* http request changed and test

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>

* lauren/APPEALS-39842 (#21739)

* Add scroll metrics start time fix and update metric message

* Add metrics attributes json in PdfPage constructor and add isPageVisible metric attribute

* Fix scroll message spacing

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* noelle/appeals-39842 (#21740)

* Remove UUID from attrs sent_to metrics.

* Remove UUID from spec

* remove uuid from update_appellant job

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>

* fix failing tests

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21666)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46540: Reduce time to deploy demo environments (#21791)

* APPEALS-42710: Modify local/demo seed data so that not all seed files need to be run when resetting/deploying (#21743)

* refactor users to use factories and create singletons

* code quality, reduce counts

* refactor substitutions

* refactor veterans health administration seed

* refactor MTV

* move education orgs to users seed

* move intake users to users seed, comment non-required seed files

* add veterans seed file from Sean's branch

* fix errors

* add hearing prep role to judges

* add optional seed file

* add optional seed file and button to run it in demo

* lint, specs

* remove priority dist from optional, test fix

* fix tests

* Disable repeated conditional in Test::UsersController

* feature/APPEALS-43597 RC (#21860)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue adjustment

* Remove unused method

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>

* feature/appeals-39842.1 (#21871)

* Fix PdfFile test

* Delete client/app/readerprototype/components/ReaderDocument.jsx (#21870)

Delete empty ReaderDocument file

* Fix lint issue in PdfFile (#21873)

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)" (#21888)

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)"

This reverts commit 7aa04e6.

* fix users seed spec

* Revert "feature/APPEALS-43597 RC (#21860)" (#21895)

This reverts commit df60ddb.

* Revert "APPEALS-47106 Caseflow Swagger (#21847)" (#21901)

This reverts commit c3bc501.

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* APPEALS-49196 add changes

* Remove confict markers

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>
Co-authored-by: youfoundmanesh <129548081+youfoundmanesh@users.noreply.github.com>
Co-authored-by: Alex Ferencz VA <156860944+aferencz1987VA@users.noreply.github.com>
Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Alec Spottswood <ajspottswood@gmail.com>
Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Christian Cain <149622375+christian-cain-bah@users.noreply.github.com>
Co-authored-by: zborgesva <145717155+zborgesva@users.noreply.github.com>
Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Aiman Kayad <Aiman.Kayad@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Brian Bommarito <brian@bommarito.me>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
Co-authored-by: Adam Ducker <adam.ducker@va.gov>
mchbidwell pushed a commit that referenced this pull request Jul 2, 2024
* added saftey opperator and removed outdated date check

* removed leftover method that was breaking and unused.

* removed legacy appeal date check for MST on special issue list

* updated mst and pact badges to check decisions in flight (if any) then appeal model.

* removed bypass for special issue list for pact toggle for AMA.

* updated rake and seed comments

* allowed special issues page tracking for AMA MST issues when pact is enabled

* remove code changes causing cancel to progress forward

* moved method definition validate_claim_code into ClaimLabelChange class

* fixed spacing issue

* fixed linting error

* fixed linting issue

* draft pr

* Completing AC for ticketing for styling and error portion of page. Now doing feature test

* added ability for user to search by css id

* added feature tests for using search bar

* reverted changes in package.json

* removed added file

* removed linting error

* searchable by 2 characters instead of 1

* ccc

* gggg

* gggg

* feature/APPEALS-44188-44282 - Deprecation fixes for Rails 6.1 (release) (#21614)

* 🔀 Squash merge jcroteau/APPEALS-44188-fix-deprecation-warning-class-level-methods-will-no-longer-inherit-scoping

* 🔀 Squash merge jcroteau/APPEALS-44282-fix-deprecation-not-conditions-will-no-longer-behave-as-nor

* APPEALS-44310: add notification for unexpected task trees and update tests (#21474)

* add notification for unexpected task trees and update tests

* add slack notification to distribution errors, set default slack url in SlackService

* add tests for distributions to validate handling of errors in the ama_statistics method

* fix bad check for allowable tasks

* fix tests which were expecting a url as arg to new slack service

* fix codeclimate warning

* APPEALS-45199: Update Quality Review selection probabilities #21518

* APPEALS-44423: Remove therubyracer and jshint gems (#21443)

* APPEALS-42941 copied over Matt's work (#21624)

* lint error resolution (#21631)

* Feature/appeals 46208.rc (#21746)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Ricky/appeals-43523 (#21345)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Added Download Ineligible Judge List

* APPEALS-43116 add sentry error capture to push priority job and updated specs (#21369)

* Updated query to include css_id and updated id fetch

* Updates button styling, fixed csv to have all values but judge name

* Updated id to sattyid values, and added name data to column

* fixed linting error

* Updated logic to account for inactive users in both caseflow and vacols

* Updated button component and cleaned up code

* Updated handling of ids in situation where sattyid is unavailable in record

* Updated to have individual columns for caseflow id and satty id

* APPEALS-43117 Add QA Users for testing (#21580)

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-42266 Remove CaseDistributionLevers seed config in Rails helper and update required spec files

* APPEALS-42266 fixing a couple of linting issues

* APPEALS-43523 reverted the legacy tasks controller (#21713)

* APPEALS-43523 reverted the legacy tasks controller

* APPEALS-43523 reverted the erorrs concern too

* Update legacy_tasks_controller_spec.rb

* reverted raven call

* APPEALS-46208 fixed code climate warning about a bad naming convention.

* APPEALS-46208 fixed indentation

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>

* APPEALS-44148: Add ruby CE API Gem (#21520)

* hotfix/APPEALS-46182 (#21709)

* Added tests and added logic to account for sct distribution

* Added more tests and changed logic

* Adding comments

* Fixing logic for SCT

* Update test and logic

* Fixing tests

* Update docket switch mail task to match corrected logic

* Fixing logic

* Cleaning up refactor

* Worked with the amazing ALex and we figured it out!

* Fixing linting issue

* Fix linting issues

* Skipping flaky tests

* Skipping another flaky test

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* MattT/APPEALS-46383: Upgrade aws-sdk gem to v3.2 (#21748)

* Upgrade aws-sdk gem to v3.2

* Update caseflow-commons hash

* Apply new hash update

* Skip flaky test

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Update gemfile and gemfile.lock to point to new bgs version (#21749)

* Update gemfile and gemfile.lock to point to new bgs version

* Skipping flake specs in review_spec.rb file

* Revert "APPEALS-44148: Add ruby CE API Gem (#21520)" (#21762)

This reverts commit 3a393d1f3f40b35b5063c2b7d0f1508ef5a61bb7.

* Update ruby-bgs gemfile and gemfile.lock to new version (#21761)

* Update MAC_INTEL.md

Update Oracle client link

* Resolved merge conflicts

* APPEALS-44496 Fix Factory (#21770)

* APPEALS-44496 Fix Factory

* updated falky test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* fix(va facilities): update per page param (#21754)

* Hotfix/appeals 44033:Fix Judge and Attorney tasks in the QualityReview workflow are being erroneously cancelled  (#21786)

* Adjusts the send_to_hearings_branch method to exclude JudgeQualityReviews when cancelling all Judge tasks and subtasks
rebase

* adjusts spacing and adds back deleted test

* Remove unnecessary schema changes and adds an exclamation mark to account for method that changes data

* add exclamation to handle_judge_tasks

---------

Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* Hotfix/appeals 45150 (#21627)

* Added distribution task with children status change on split appeal test

* Added tests and commented out pry session in appeal

* Changed split appeal test to test for both defects

* Added  conditional logic to status_is_valid_on_create in task model

* looking for defect

* Reverted changes to finalize split appeal method added condtional logic to schedule hearing tasks model

* Removed debugger and commented out lines

* Added erroneously removed lines of code and added spacing

* Fix linting errors

* Added conditional logic for appeal split process

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-36313-V2 (#21782)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* APPEALS-47106 Caseflow Swagger (#21847)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* skip flakey tests

* Update appeal_notifications_page_spec.rb

* Hotfix/appeals 36313 v2 (#21858)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

* Add predocket coverage for IHP task creation when POA is updated

* adjust predocketed from active status to open to include on_hold status

* Remove commented out data staging for bgs POA rspec test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* feature/appeals-43220 (#21862)

* Adding 403 and 404 functionality to Reader.

* Adding icon to button.

* Fixing linting issues.

* Using the Link component and moving href into constant

* fix linter issues

---------

Co-authored-by: Brian Bommarito <brian@bommarito.me>

* feature/appeals-39842 (#21864)

* anusha/appeals-45976 (#21738)

* Change address format

* added rspec tests to cover hotfix

* testing for inclusion of expected values (addressLine1, etc.)

* rspec test -- wip

* still WIP

* Fix address tests.

* updated fakes

* Update internationalPostalCode

* appeals controller spec update

* http request changed and test

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>

* lauren/APPEALS-39842 (#21739)

* Add scroll metrics start time fix and update metric message

* Add metrics attributes json in PdfPage constructor and add isPageVisible metric attribute

* Fix scroll message spacing

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* noelle/appeals-39842 (#21740)

* Remove UUID from attrs sent_to metrics.

* Remove UUID from spec

* remove uuid from update_appellant job

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>

* fix failing tests

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21666)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46540: Reduce time to deploy demo environments (#21791)

* APPEALS-42710: Modify local/demo seed data so that not all seed files need to be run when resetting/deploying (#21743)

* refactor users to use factories and create singletons

* code quality, reduce counts

* refactor substitutions

* refactor veterans health administration seed

* refactor MTV

* move education orgs to users seed

* move intake users to users seed, comment non-required seed files

* add veterans seed file from Sean's branch

* fix errors

* add hearing prep role to judges

* add optional seed file

* add optional seed file and button to run it in demo

* lint, specs

* remove priority dist from optional, test fix

* fix tests

* Disable repeated conditional in Test::UsersController

* feature/APPEALS-43597 RC (#21860)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue adjustment

* Remove unused method

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>

* feature/appeals-39842.1 (#21871)

* Fix PdfFile test

* Delete client/app/readerprototype/components/ReaderDocument.jsx (#21870)

Delete empty ReaderDocument file

* Fix lint issue in PdfFile (#21873)

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)" (#21888)

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)"

This reverts commit 7aa04e6713759c3212820a78aa6500863dd7f91a.

* fix users seed spec

* Revert "feature/APPEALS-43597 RC (#21860)" (#21895)

This reverts commit df60ddb567c3e02556e85ba37d555768d3a0de7e.

* Revert "APPEALS-47106 Caseflow Swagger (#21847)" (#21901)

This reverts commit c3bc5012618d614c3d017ae0f260a91c6d4aebec.

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fi…
amybids added a commit that referenced this pull request Jul 3, 2024
* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
amybids added a commit that referenced this pull request Jul 3, 2024
* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

---------

Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: sbashamoni <SampathKumar.Bashamoni@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: Michael Beard <131783726+mbeardy@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
amybids added a commit that referenced this pull request Jul 8, 2024
* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* Include bandwidth as part of timeout error metric data (#21946)

* Include bandwidth as part of timeout error metric data

* add NetworkUtil.js file

* fix code climate issues

* fix linting issue

* remove safari webdriver test

* fix CI/CD issue with chrome_driver

* add tests for NetworkUtil.js

* move bandwidth to metric_attributes

* requested changes* fix NetworkUtil-test

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Removed Test Seeds link from dropdown menu (#22089)

* Resolve merge issues (#22103)

* resolve issues

* fix controller spec

* Include bandwidth as part of timeout error metric data (#21946) (#22105)

Co-authored-by: Daniel Mage <dmage20@gmail.com>

* fix hearing_request_docket_spec merge issue

* Hotfix/appeals 44031 (#22104) (#22111)

* Hotfix/appeals 44031 (#22104)

* Hotfix/appeals 44031 b (#22110)

---------

Co-authored-by: Daniel Mage <dmage20@gmail.com>

---------

Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>
Co-authored-by: sbashamoni <SampathKumar.Bashamoni@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: Michael Beard <131783726+mbeardy@users.noreply.github.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Daniel Mage <dmage20@gmail.com>
Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noah…
sbashamoni added a commit that referenced this pull request Jul 11, 2024
* APPEALS-44148: Add ruby_claim_evidence_api gem (#22059)

* APPEALS-50758: Fix broken tests in spec/controllers/case_distribution_levers_controller_spec.rb (#22072)

* update test data to fix tests

* fix test data setup

* fix dates in test setup

* disable flaky jest test

* APPEALS-49845: Hearing CAVC Appeals are not respecting CAVC affinity (#22043)

* pass judge into base relation queries on hearing docket

* update scopes to distribute CAVC hearing to original judge when within hearing window

* APPEALS-49845: Add seed data (#22056)

* add seed data

* fix users seed spec

* APPEALS-49555: Some AOD appeals are not being selected as priority by the distribution algorithm (#22067)

* aod appeal with claimants person does not contain DOB

* Addressed comments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Merge feature/appeals-34320 into release branch (#22094)

* ClayS/APPEALS-39107 (#21458)

* add request issue modification button for non-admins

* add tests covering the request issue modification button

* appease rubocop overlord

* update feature tests

* change to inline style and absolute import

* update feature test

---------

Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>

* JHoang/APPEALS-39445 (#21445)

* added new dropdown actions  for edit issues, restricted visibility to non vha admins

* fix failing tests

* update jest for new dropdown actions

* added placeholder modal for request additional issue button

* Replace relative import with absolute, rename variable to check for non vha admin

* render new dropdown actions and button only for in progress tasks

* revert previous changes, added new changes

* fix typo in issuelist

* typo again

* remove extra empty line

* fix jest tests and vha_hlr_sc rspec

* address styling issues

* more restrictions to dropdown/button visibility

* remove unused comments

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Pending Request Issues seeds, factories and query update (#21437)

* migration and initial commit of the factory

* changing approve status to status

* Added active record associations on models, added factory attributes, added pending tasks on queue tab

* adding AC-2 condition to get pending record response from pending_request_issue table

* factory and seed for pending_request_issues

* Added pending request issues count alias for sorting and serialization to Task query

* adding issue_type_Count and task_type_count for pending tab

* Added spec tests for vha business line and business line spec files, cleaned up the controller, modified issue_type_count query

* fixing the spec failures and code climate issues

* removed byebug

* Fixing code climate issue and adding seed data

* fixing the schema error

* Revert "fixing the schema error"

This reverts commit 73070faa40a5615c45ae9e7ec5a0bef74f419e9e.

* skip association so that test passes

* renaming the table to - issue_modification_request and corresponding changes to the model, factories

* fixing spec failures and linter

* fixing spec failures and linter

* making sure pending tasks doesnt show up in in progress tab and modified the factory so that Claimant name appears

* fixing the spec failure

* removing coalesce and removing null: true

* more PR feedbacks

* adding fix to the PR comments

* removing distinct

* fixing the error in the query

* Apply suggestions from code review

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* removing limit as suggested in the pr

* Adding evaluator to the factory and adding it to the seeds

* Adding PaperTrail for change history stuff

* adding schema

* adding new column to the table

* changed decider_decision_text to decider_note

---------

Co-authored-by: almorbah <al.mortada@va.gov>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* SeanC/APPEALS-40669 | Creation of ‘Pending admin review’ section on Edit Issues Page (#21604)

* Added fake data and rendering for it

* made the fake data better

* pending issues are being rendered

* passed up user admin of org from backend

* Added userIsOrgAdmin to the frontend

* created admin and non fake data

* determined fake data to use based on userIsOrgAdmin

* got the issues to render

* Created a new IssueModificationList component

* updated the issuemodification and row to work with the lists

* updated the fake data and the issues container

* removed some code for getting the user info

* updated IssueModificationRequest to make wireframe

* Updated row and list to work with the new request

* updated the fake data

* added propTypes to IssuesModificationList

* cleaned up some lint in addissues

* added Prop types to request

* added key to list

* improved row

* improved the row logic

* added some space to the list

* refactored the layout for the request

* added text to the COPY

* slight change to fake data

* refactored the row

* got sorting working

* added id to map of list

* updated formating functions for modificationIssueRequests

* updated the request to work with the formated data

* removed some console logs in row

* updated addIssues to format the fake data

* updated request to work with the serializer

* removed logs

* updated fake data and formatter

* removed unneed code

* removed unneed code

* removed unneed code

* Rename IssueModificationRow.jsx to issueModificationRow.jsx

* removed unneed code and renamed a couple things

* Slight change to request

* removed some comments

* added some data for the jest test

* got some of the jest tests working

* fixed a typo in request

* updated the prop for the tests

* fixed the broken test and added more for list

* Fixed the fake data and removed unneed code

* removed unneed coded

* changed the html in the request to better match the design

* added css rule for new class

* fixed an typo in COPY

* similified some logic in row

* added logic to not create the pending section if it is null

* cleaned up some lint in intake.scss

* updated the fake data to better match the wireframes

* added divider inbetween requests

* formatted the dates on the request

---------

Co-authored-by: Clay Sheppard <csheepy@gmail.com>

* TYLERB/APPEALS-39106: Creation of Pending tab (#21455)

* Initial commit to add the pending tab to the vha business line decision review queue.

* Updated existing tests and added new ones for the pending tab.

* Added tab task counts to the decision review queue.

* Adjusted variable names to match up with the feature branch. Made a column change to the create_issue_modification_request migration file. Added in methods to serialize the issue_modification_requests. Added pending_issue_modification_requests to the decision review serializer.

* Updated schema.

* Added a serialzer and related javascript and redux methods to place issue modification requests into the frontend.

* Updated tests to work with new issue modification request factories.

* Added a couple more test scenarios for the decision review controller spec file and changed the FactoryBot.create methods to create().

* Removed extra copies of the pending tab mappings and if statements from the decision reviews controller that happened due to the feature merge.

* Updated ReviewPage jest test snapshots. Updated and added more tests to the NonCompTabs jest test for the new pending tasks tab. Fixed an issue where the TaskTableTab was added an empty hash to the columns as a placeholder for the pending requests column instead of not adding any additional columns.

* Added a few constant variables to copy.json and queue config and removed todo statements.

* Fixed serializer tests and Fixed a constant name.

* Renamed some javascript variables to match the serializer.

* Fixed more broken tests.

* Updated the pending tasks query to show the correct amount of pending issues instead of an incorrect count. Added the pendingRequests column to the SORT_COLUMN_MAPPINGS in the decision reviews controller so that the user can sort by the new pending requests column via the controller. Added tests to cover these scenarios.

* Made some layout and css adjustments to the search bar and tab description for the decision review queue.

* Added padding to the bottom of the new search box and description div to create some space between ui elements. Changed the tab titles in the decision review queue to be title case for all words instead of only the first word.

---------

Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>

* Appeals-40989 - Inclusion of required Decision Date Banner on Add Issues (#21588)

* APPEALS-40989: Adding functionality to check if user is vhaAdmin and task is in progress then display Banner and make decision date required.

* Fixing spec failures, adding new model spec, new task factory to support spec

* fixing linter issues in spec

* Adding storybook and fixing codeclimate complain

* fixing PR comments and adding banner to unidendified modal

* removing local font sizing

* fixing linter issue

* APPEALS-39446 - Modal creation – modification, removal, withdrawal, request additional issue [Non-Admin] (#21681)

* WIP components

TODO: validation/errors, redux

* add some error messages and the error schema for the addition modal

* add missing data error messages for the rest of the modals

* add test coverage for issue modification request frontend errors

* disable submit button until form is dirty

* remove currentIssue from request additional issue modal

* DRY out these modals

* clean up imports and some formatting

* WIP stuck the issue modification requests into redux

* add requested additional issues to the pending review section

* get benefit type from redux

* add test covering modal submission

* remove unnecessary expectation

* move a line to read better

* linting fixes and remove unneeded code

* update test

* really fix this test

* try to fix the add isues page

* fix ambiguous click in spec

* add storybook for modals

* update snapshot

* update capitalization in reviews spec

* destructure modal props

* more destructuring

* use full name and css id for requestor

* import less lodash

* fix some more capitalization

* remove old comment

* Update client/app/intakeEdit/components/RequestCommonComponents/RequestIssueFormWrapper.jsx

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* Update client/app/intake/components/IssueModificationRequest.jsx

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* prevent future dates in issue modification requests

* format decision date in current issue section

* Prior decision date -> Decision date

---------

Co-authored-by: Prajwal Amatya <122557351+pamatyatake2@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* TYLERB/APPEALS-39447: Display of banner on Edit Issues page – issues with pending requests (#21695)

* Initial commit. Added the PendingIssueModificationRequestsBanner. Added the connection between the serialized pending issue modification requests to the ui in the front end EditAddIssues page. Refactored the issueModificationRow, IssueModificationList, and IssueModificationRequest components. Changed the request_type enumeration to be lowercased to match the key value and changed the database schema, migration, and factory to match up with the new enumeration value.

* Added withdrawal_date to the serializer and redux store for issue modifications. Renamed a constant variable from body to message. Swapped a groupBy function to the lodash version since it was causing capyabara to fail for the feature test. Added a feature test for the banner. Also added a some helper functions and feature test checks for the issue modification requests when pulling data from the actual database objects instead of mocked data.

* Updated jest test.

* Added a backup description to the request issue in the IssueModificationRequest.jsx file so it will work for request issues being moved to the section via the ui.

* Changed an rspec matcher to fix code climate issue.

* Removed two junk console output files that were erroneously created.

* Made changes to the issue modification ui to match the feature branch changes and renamed the redux key to always use pendingIssueModificationRequests.

* Added a new redux store key for the originalPendingRequests in order to move them around. Reworked how the issues were being removed from the issues section when they are associated to an existing or new pending request.

* Cleaned up old issue modification request redux code.

* Reverted a change to the intake redux store since the objects are added via reference instead of an object clone.

* Fixed an issue where having empty pendingIssueModificationRequ
ests was causing a javascript error. Removed some todo comments and commented code.

* Removed another todo comment.

* Removed the pending requests banner from the cancel edit issues page.

* Changed the issue modification seeds file to use the correct values for the request_type attribute based on the enumeration value change to always use lowercase values. Updated a variable name in javascript to be more descriptive.

* Updated the RequestIssueFormWrapper component so that withdrawal and removal requests would behave in the same way as modification of existing issue requests. Fixed a bug where the decision date was being set to undefined or null for removal or withdrawal issue modification requests instead of taking the decision date from the original issue.

* Removed n+1 bullet warnings from the decision_review serialization process for pending_issue_modification_requests.

* APPEALS-45242 (partial) (#21759)

* add a doubleArrow option to SearchableDropdown

* overriden -> replaced

* JHoang/APPEALS-40672 (#21756)

* Initial commit. Added the PendingIssueModificationRequestsBanner. Added the connection between the serialized pending issue modification requests to the ui in the front end EditAddIssues page. Refactored the issueModificationRow, IssueModificationList, and IssueModificationRequest components. Changed the request_type enumeration to be lowercased to match the key value and changed the database schema, migration, and factory to match up with the new enumeration value.

* Added withdrawal_date to the serializer and redux store for issue modifications. Renamed a constant variable from body to message. Swapped a groupBy function to the lodash version since it was causing capyabara to fail for the feature test. Added a feature test for the banner. Also added a some helper functions and feature test checks for the issue modification requests when pulling data from the actual database objects instead of mocked data.

* Updated jest test.

* Added a backup description to the request issue in the IssueModificationRequest.jsx file so it will work for request issues being moved to the section via the ui.

* Changed an rspec matcher to fix code climate issue.

* Removed two junk console output files that were erroneously created.

* Made changes to the issue modification ui to match the feature branch changes and renamed the redux key to always use pendingIssueModificationRequests.

* Added a new redux store key for the originalPendingRequests in order to move them around. Reworked how the issues were being removed from the issues section when they are associated to an existing or new pending request.

* Cleaned up old issue modification request redux code.

* Reverted a change to the intake redux store since the objects are added via reference instead of an object clone.

* Fixed an issue where having empty pendingIssueModificationRequ
ests was causing a javascript error. Removed some todo comments and commented code.

* Removed another todo comment.

* Removed the pending requests banner from the cancel edit issues page.

* Changed the issue modification seeds file to use the correct values for the request_type attribute based on the enumeration value change to always use lowercase values. Updated a variable name in javascript to be more descriptive.

* Added modal to request cancellation of an existing request modification

* fix lint and failing jest

* conditional rendering in cancelpendingrequestissue modal

* fix decision date and withdrawal dates not showing correctly when requesting modification

* fix mocked props for CancelPendingRequestIssueModal.test.js

* revert date changes, fix issue description display

* Updated the RequestIssueFormWrapper component so that withdrawal and removal requests would behave in the same way as modification of existing issue requests. Fixed a bug where the decision date was being set to undefined or null for removal or withdrawal issue modification requests instead of taking the decision date from the original issue.

* added space between current issue and pending issue request

* refactor cancelpendingrequestissuemodal structure

* remove temp dropdown button

---------

Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Al/appeals 45834 (#21641)

* Added non admin issue modification request logic

* added finial touches on NON::AdminModificationRequestsUpdater class

* Added logic to make sure that the user is an admin or non-admin who belongs to Vha organization

* Added some Rspec tests for `NonAdmin::IssueModificationRequestsUpdater` and cleaned up Class

* Added controller spec tests for SupplementalClaimsController#update HigherLevelReviewsController#update

* Code clean up

* Fixing lining errors

* code clean up

* Added code to fix some failing rspec tests

* fixed linting errors

* Ensure backend validation – only one request per issue
If an issue already has a request and another is submitted, an error is thrown

* rebased off latest feature branch and downcased request_type and status  params

* Added request_issue_id param to account for existing request_issues in situations when request_type is other than addition. Adjusted process_modification? method

* Added changes based on PR feedback

* added a shared example block to dry up code

* more feedback

* changed name file structure

* Needed to re-handle validation errors

* Pamatya/appeals 40671- adding Select action dropdown to the Admin section (#21788)

* Adding props and searchable dropdown to meet ac

* fixing linter, and adding test

* added storybook for issue modification row and issue section row

* fixing the values in the popup

* fixing the Removal and withdrawal modal to behave similar to modification modal

* making changes to the code to fix the bug

* fixing spec, linter and jest failures

* missing schema file

* changing the Onclick to take object instead of the index or identifier

* removing unused code

* code cleanup

* J hoang/appeals 40987 (#21889)

* move issue modification request actions to new file, created new confirm issue modification change modal

* fixed some code climate issues

* some changes from review

* fix jest

* added new action to update pending issue request

* maybe fix tests?

* revert pending admin review display

* change pending admin review display to active pending issues only

* fix pending admin display

* consistent parameter placement and added an extra check for requested issues display

* fix all failing tests

* fix movetopendingreview action call breaking rspec

* fix cancel buttons on confirm modal modification

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* APPEALS-46705: Addition of SearchableDropdown to IssueList (#21752)

* change issue action selector component and appearance

* fix padding

* fix linting error

* fix frontend tests

* fix list rendering bug

* wip fix one type of failure

* fix a couple more kinds of failure

* fix tests in ama_queue_workflow_spec

* fix a couple tests

* another one

* fix dropdown helpers to work if something was already selected

* fix test in edit_ep_claim_labels_spec

* fix issue modification request specs

* more tests

* update more tests

* whac a mole

* remove comment

* fix padding

* remove comment and whitespace

* make specs consistent

* SeanC/APPEALS-40670 | Update actions and pending request modal on Edit Issues Page – issues with pending requests [Non-Admin] (#21857)

* got the options actions working

* hooked up the cancel action

* added some styling for drop down

* changed the wording of the dropdown actions

* added new onClick action, added pending obj to state and cleared it

* passed the onClick to Row and List

* added onClick and useSelector to Request

* added new redux action

* removed comment

* added edit redux action

* fixed an issue from merge in addIssues

* updated the options to work with non admin actions and readOnly

* removed unneed styles

* removed comment

* changed modal title to change based on pendingIssueModificationRequests

* removed redundant code

* updated action and reducer to work with other code

* updated name of action on parent component

* updated form wrapper to work with new action

* fixed a failing spec test

* Added tests for action options for non and admin users

* refactored the props for the test for IssueModificationList

* slight change to the test

* add new test in issue_modification_request spec

* added logic in Request for the text to change slightly

* fixed a failing test

* fixed an error with the form wrapper

* fixed a few issues from the merge

* fixed failing test

* fixed an issue from the merge

* changed I back to i for issueModificationRow

* refactored options to a const in Request

* removed added comma in constants

* renamed const in FormWrapper

* removed no longer needed props in IssueModificationListProps

* removed setting the index when reviewing a modification request

* fixed a date formatting issue

* created const for pendingIssueModificationRequest

* Fixed issue with incorrectly changing admin modal title

* cleaned up some lint

* cleaned up more lint

* fixed an import issue

* removed conditional for the label text

* fixed a failing jest test

* fixed failing rspec

* removed comment in issue_modification_request_spec

* APPEALS-47866 (#21916)

* UX changes for modals

red buttons -> blue buttons
text wraps around icon
copy updates

* rspec updates

* update snapshots

* add a storybook for modals with icons

* refactor storybook

* remove class

* switch to constants

* remove unnecessary props

* fix the AddIssues storybook

* tinkering

* update snapshots again

* Pamatya/appeals 40997 v3 (#21926)

* move issue modification request actions to new file, created new confirm issue modification change modal

* fixed some code climate issues

* some changes from review

* fix jest

* added new action to update pending issue request

* maybe fix tests?

* revert pending admin review display

* change pending admin review display to active pending issues only

* fix pending admin display

* consistent parameter placement and added an extra check for requested issues display

* fix all failing tests

* fix movetopendingreview action call breaking rspec

* fix cancel buttons on confirm modal modification

* initial push

* renaming component and making the remove original issue button work

* fixing issues related with closing the modal and addissues page getting prerendered

* fixing spec failure

* fixing spec and linter issues

* adding spec test for approval and rejection

* new branch withdrawal date

* fixing bug and fixing the jest failure

* addressing comments

* fixing spec and linter failure

* code clean and consistency between two modals

* adding validation to the spec

* fixing the spec failure

* fixing spacing and spec

* fixing linter

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Update schema.rb

Fix error in previous merge conflict attempt.

* Update seeds.rb

Fix error in conflict resolution

* TYLERB/APPEALS-40985: Frontend Submission of Requested Issues/Pending Admin Review Section (#21912)

* Initial commit. Altered an existing model validation for issue modification requests and added a new validation. Added a formatter to prepare the issue modification requests for form submission and altered the button text for vha to be save instead of establish if there are pending issue modificaiton requests in the redux store.

* Added the redirection code for claim reviews that have active pending issue modification requests. Also added the non admin issue modification success banner and refactored the existing flash banner code for other claim review types to make them easier to modify in the future.

* Fixed code climate issue.

* Renamed a function parameter in RequestIssueFormWrapper to make it more clear on what it is actually using. Updated logic to use a property insted of the form data.

* Refactored how the claim review controller was building flash messaging to make it easier to customize it for vha claim reviews.

* Added a new selectors file with a selector to only get openPendingModification requests which are pending modification requests that are assigned. Changed the selector in the PendingIssueModificationRequestBanner to the new selector.

* Moved the open pending issue modification requests selector to the intake selector. Imported it and used it in the add issues page.

* Fixed an issue where the decision date was not added as the correct string format to the issue modification redux store which was causing it to fail to save later after form submission. Expanded the feature test for non admin to include submitting the form and verifying the success banner and issue modification request data.

* Added one more additional check to the feature test.

* Added the open issue modification requests selector the save btton text for the edit issues page.

* Made changes to the CancelPendingRequests modal to work with a new reducer. Added edited and cancelled pending requests to the formatIssueModificationRequestSubmissionData function.

* Added an edited boolean attribute to the form data for modification type modals for pending requests for an easy way to determine if a issue modification request has been edited without changing the status.

* Removed max width from non comp description text.

* Fixed admin messaging when there are pending issue modification requests remaining on the claim review.

* Added all the remaining frontend code and logic to make the issue modification form submission work. Fixed an issue where withdrawal date was not working correctly with the existing withdrawal process.

* Refactored the claim review controller logic to work with the non admin and admin updates to issue modification requests. Added methods into issue modification request for admin updates. Updated validations. Refactored the non_admin_updater to work for both admin and non admin workflows. Added some fallback error handling for issue modification updates.

* Removed unused import.

* Updated the RequestIssueStatus component option value from rejected to denied to matchup with the enum field on the issue_modification_request model.

* Fixed two code climate issues. Rewrote the issue modification request factories to fix the seed data.

* Removed some lines from RequestIssueFormWrapper that I don't think were neccessary. Removed some todos.

* Fixed a couple of failing specs.

* Added a new feature test spec file that Praj created.

* Added code to make the associations for request issues to issue modification requests through the UI work correctly in the request_issues_update model for additions and modifications since it is creating brand new request issues instead of using existing records in the database.

* Renamed non_admin_updater_spec file and fixed tests.

* Code climate fix.

* Updated the mocked data controller tests.

* Renamed the NonAdminUpdater and all related files to Updater.

* Fixed a bug where the confirm pending request issue modal was not properly setting up the request issue by using the old request issue id that the modification request was associated to. Fixed a console warning in the RequestIssueStatus component.

* Fixed spec failures due to changing banner text for editing vha claims.

* Fixed an issue where the openPendingModificationRequests selector was causing a console error for legacy appeals due to different initialization of the redux store. Removed the no decision date banner for legacy appeals since it was never intended although it shouldn't happen.

* Fixed jest test for CancelPendingRequestIssueModal where the property name had changed.

* Added admin process testing to the updater_spec.rb service class for issue modification requests. Added errors to caseflow error.rb and added a constant to copy.json.

* Removed todo statements.

* Updated a modal snapshot.

* Fixed merge conflicts that didn't get resolved.

* Added an addition check for the wording to be correct for the issues update banner in add issues to properly reflect the wording of the save button at the bottom of the page depending on pending issue modification requests. Changed the wording on a success banner from established to edited that was incorrect. Added a different success banner for a vha claim review when it still has pending issue modification requests after an admin has only actioned some of them.

* Updated the NonRatingIssueRequestModal decision date logic to prevent a non vha user from adding an issue without a decision date to a claim that was already in progress.

* Fixed spec failures related to the banner text changes.

* Added a banner and block the save of the page if the user is about to close a claim via a removal or withdrawal while the claim still has a pending addition issue modification request on it. Added feature test for this and uncommented some feature test code that shouldn't have been commented out. Added a way to make the content column span two columns in the add issues page table for styling the banner.

* Moved the new banner check into the edit page block to fix tests.

* CSS text change for the alert banner.

* text change and text title change

* Removed the established vha text variable in the claim review controller since it isn't being used anymore. Fixed a linting error.

* test fix for alert title change

---------

Co-authored-by: almorbah <149511814+almorbah@users.noreply.github.com>
Co-authored-by: Prajwal Amatya <pamatya@take2it.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* Initial commit. Added a transaction wrapper around the update_admin_request updater service method to prevent partial processing of requests if an error occured during any of the processing. Added an if check to the claim review controller to make sure that the request issues update class can be processed before processing any of the approval issue modification requests to avoid processing the requests without modifying the request issues that are currently on the claim.

* Added in code climate change and seed data change to match master.

* Added a public method for request issues update to check for p
ossible errors before running the perform method. Refactored the controller logic to fix test failures.

* Added approval back it got accidently removed. Removed some spacing in addissues.jsx.

* Fixed a few flaky tests due to time errors.

* Pamatya/appeals 49849 (#22057)

* adding banner for both admin and non-admin and test

* typo correction

* removing commented out codes and adding a space between lines

* removing props from the syntax

* changing let to const

---------

Co-authored-by: Clay Sheppard <csheepy@gmail.com>
Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>
Co-authored-by: jonathanh-va <111081469+jonathanh-va@users.noreply.github.com>
Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>
Co-authored-by: Prajwal Amatya <122557351+pamatyatake2@users.noreply.github.com>
Co-authored-by: almorbah <al.mortada@va.gov>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Brandon Dorner <brandonleedorner@gmail.com>
Co-authored-by: Sean Craig <110493538+seancva@users.noreply.github.com>
Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: almorbah <149511814+almorbah@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <Pierce_Robert@ne.bah.com>
Co-authored-by: Prajwal Amatya <pamatya@take2it.com>

* updated dispatch mailer email address to Decisions instead of Hearings (#22095)

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-45631 Add and fix address (#21800)

* APPEALS-45631 Add and fix address

* empty commit

* empty commit

* fix/add RO id

* changed id from SS to GB

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* Prodtest/appeals-36234-appeals-44031 (#22109)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* Include bandwidth as part of timeout error metric data (#21946)

* Include bandwidth as part of timeout error metric data

* add NetworkUtil.js file

* fix code climate issues

* fix linting issue

* remove safari webdriver test

* fix CI/CD issue with chrome_driver

* add tests for NetworkUtil.js

* move bandwidth to metric_attributes

* requested changes* fix NetworkUtil-test

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating…
@breedbah breedbah mentioned this pull request Jul 12, 2024
12 tasks
mchbidwell pushed a commit that referenced this pull request Jul 15, 2024
…ontractor twice (#22155)

* Feature/appeals 46208.rc (#21746)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Ricky/appeals-43523 (#21345)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

* Added Download Ineligible Judge List

* APPEALS-43116 add sentry error capture to push priority job and updated specs (#21369)

* Updated query to include css_id and updated id fetch

* Updates button styling, fixed csv to have all values but judge name

* Updated id to sattyid values, and added name data to column

* fixed linting error

* Updated logic to account for inactive users in both caseflow and vacols

* Updated button component and cleaned up code

* Updated handling of ids in situation where sattyid is unavailable in record

* Updated to have individual columns for caseflow id and satty id

* APPEALS-43117 Add QA Users for testing (#21580)

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-42266 Remove CaseDistributionLevers seed config in Rails helper and update required spec files

* APPEALS-42266 fixing a couple of linting issues

* APPEALS-43523 reverted the legacy tasks controller (#21713)

* APPEALS-43523 reverted the legacy tasks controller

* APPEALS-43523 reverted the erorrs concern too

* Update legacy_tasks_controller_spec.rb

* reverted raven call

* APPEALS-46208 fixed code climate warning about a bad naming convention.

* APPEALS-46208 fixed indentation

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: kristeja <krishnateja.golla@va.gov>

* APPEALS-44148: Add ruby CE API Gem (#21520)

* hotfix/APPEALS-46182 (#21709)

* Added tests and added logic to account for sct distribution

* Added more tests and changed logic

* Adding comments

* Fixing logic for SCT

* Update test and logic

* Fixing tests

* Update docket switch mail task to match corrected logic

* Fixing logic

* Cleaning up refactor

* Worked with the amazing ALex and we figured it out!

* Fixing linting issue

* Fix linting issues

* Skipping flaky tests

* Skipping another flaky test

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* MattT/APPEALS-46383: Upgrade aws-sdk gem to v3.2 (#21748)

* Upgrade aws-sdk gem to v3.2

* Update caseflow-commons hash

* Apply new hash update

* Skip flaky test

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Update gemfile and gemfile.lock to point to new bgs version (#21749)

* Update gemfile and gemfile.lock to point to new bgs version

* Skipping flake specs in review_spec.rb file

* Revert "APPEALS-44148: Add ruby CE API Gem (#21520)" (#21762)

This reverts commit 3a393d1f3f40b35b5063c2b7d0f1508ef5a61bb7.

* Update ruby-bgs gemfile and gemfile.lock to new version (#21761)

* Update MAC_INTEL.md

Update Oracle client link

* APPEALS-44496 Fix Factory (#21770)

* APPEALS-44496 Fix Factory

* updated falky test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* fix(va facilities): update per page param (#21754)

* Hotfix/appeals 44033:Fix Judge and Attorney tasks in the QualityReview workflow are being erroneously cancelled  (#21786)

* Adjusts the send_to_hearings_branch method to exclude JudgeQualityReviews when cancelling all Judge tasks and subtasks
rebase

* adjusts spacing and adds back deleted test

* Remove unnecessary schema changes and adds an exclamation mark to account for method that changes data

* add exclamation to handle_judge_tasks

---------

Co-authored-by: Zackary Borges-Rowe <borges-rowe_zackary@bah.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* Hotfix/appeals 45150 (#21627)

* Added distribution task with children status change on split appeal test

* Added tests and commented out pry session in appeal

* Changed split appeal test to test for both defects

* Added  conditional logic to status_is_valid_on_create in task model

* looking for defect

* Reverted changes to finalize split appeal method added condtional logic to schedule hearing tasks model

* Removed debugger and commented out lines

* Added erroneously removed lines of code and added spacing

* Fix linting errors

* Added conditional logic for appeal split process

---------

Co-authored-by: Alexandra Ferencz <ferencz_alexandra@bah.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-36313-V2 (#21782)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* APPEALS-47106 Caseflow Swagger (#21847)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* skip flakey tests

* Update appeal_notifications_page_spec.rb

* Hotfix/appeals 36313 v2 (#21858)

* avoid IHP task creation with an open pre-docket task

* Fix linting errors on RSpec

* Skip flaky BGS Share Error test

* comment failed test case

* Add predocket coverage for IHP task creation when POA is updated

* adjust predocketed from active status to open to include on_hold status

* Remove commented out data staging for bgs POA rspec test

---------

Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>

* feature/appeals-43220 (#21862)

* Adding 403 and 404 functionality to Reader.

* Adding icon to button.

* Fixing linting issues.

* Using the Link component and moving href into constant

* fix linter issues

---------

Co-authored-by: Brian Bommarito <brian@bommarito.me>

* feature/appeals-39842 (#21864)

* anusha/appeals-45976 (#21738)

* Change address format

* added rspec tests to cover hotfix

* testing for inclusion of expected values (addressLine1, etc.)

* rspec test -- wip

* still WIP

* Fix address tests.

* updated fakes

* Update internationalPostalCode

* appeals controller spec update

* http request changed and test

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>

* lauren/APPEALS-39842 (#21739)

* Add scroll metrics start time fix and update metric message

* Add metrics attributes json in PdfPage constructor and add isPageVisible metric attribute

* Fix scroll message spacing

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* noelle/appeals-39842 (#21740)

* Remove UUID from attrs sent_to metrics.

* Remove UUID from spec

* remove uuid from update_appellant job

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>

* fix failing tests

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Anusha Palliyil <palliyil_anusha@bah.com>
Co-authored-by: Lauren Berry <berry_lauren@bah.com>
Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21666)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46540: Reduce time to deploy demo environments (#21791)

* APPEALS-42710: Modify local/demo seed data so that not all seed files need to be run when resetting/deploying (#21743)

* refactor users to use factories and create singletons

* code quality, reduce counts

* refactor substitutions

* refactor veterans health administration seed

* refactor MTV

* move education orgs to users seed

* move intake users to users seed, comment non-required seed files

* add veterans seed file from Sean's branch

* fix errors

* add hearing prep role to judges

* add optional seed file

* add optional seed file and button to run it in demo

* lint, specs

* remove priority dist from optional, test fix

* fix tests

* Disable repeated conditional in Test::UsersController

* feature/APPEALS-43597 RC (#21860)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue adjustment

* Remove unused method

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>

* feature/appeals-39842.1 (#21871)

* Fix PdfFile test

* Delete client/app/readerprototype/components/ReaderDocument.jsx (#21870)

Delete empty ReaderDocument file

* Fix lint issue in PdfFile (#21873)

---------

Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com>

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)" (#21888)

* Revert "APPEALS-44916: Case Distribution Affinity Calculations (#21666)"

This reverts commit 7aa04e6713759c3212820a78aa6500863dd7f91a.

* fix users seed spec

* Revert "feature/APPEALS-43597 RC (#21860)" (#21895)

This reverts commit df60ddb567c3e02556e85ba37d555768d3a0de7e.

* Revert "APPEALS-47106 Caseflow Swagger (#21847)" (#21901)

This reverts commit c3bc5012618d614c3d017ae0f260a91c6d4aebec.

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testi…
AdamShawBAH pushed a commit that referenced this pull request Aug 8, 2024
* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
AdamShawBAH pushed a commit that referenced this pull request Aug 8, 2024
* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
AdamShawBAH pushed a commit that referenced this pull request Aug 8, 2024
* APPEALS-44148: Add ruby_claim_evidence_api gem (#22059)

* APPEALS-50758: Fix broken tests in spec/controllers/case_distribution_levers_controller_spec.rb (#22072)

* update test data to fix tests

* fix test data setup

* fix dates in test setup

* disable flaky jest test

* APPEALS-49845: Hearing CAVC Appeals are not respecting CAVC affinity (#22043)

* pass judge into base relation queries on hearing docket

* update scopes to distribute CAVC hearing to original judge when within hearing window

* APPEALS-49845: Add seed data (#22056)

* add seed data

* fix users seed spec

* APPEALS-49555: Some AOD appeals are not being selected as priority by the distribution algorithm (#22067)

* aod appeal with claimants person does not contain DOB

* Addressed comments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Merge feature/appeals-34320 into release branch (#22094)

* ClayS/APPEALS-39107 (#21458)

* add request issue modification button for non-admins

* add tests covering the request issue modification button

* appease rubocop overlord

* update feature tests

* change to inline style and absolute import

* update feature test

---------

Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>

* JHoang/APPEALS-39445 (#21445)

* added new dropdown actions  for edit issues, restricted visibility to non vha admins

* fix failing tests

* update jest for new dropdown actions

* added placeholder modal for request additional issue button

* Replace relative import with absolute, rename variable to check for non vha admin

* render new dropdown actions and button only for in progress tasks

* revert previous changes, added new changes

* fix typo in issuelist

* typo again

* remove extra empty line

* fix jest tests and vha_hlr_sc rspec

* address styling issues

* more restrictions to dropdown/button visibility

* remove unused comments

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Pending Request Issues seeds, factories and query update (#21437)

* migration and initial commit of the factory

* changing approve status to status

* Added active record associations on models, added factory attributes, added pending tasks on queue tab

* adding AC-2 condition to get pending record response from pending_request_issue table

* factory and seed for pending_request_issues

* Added pending request issues count alias for sorting and serialization to Task query

* adding issue_type_Count and task_type_count for pending tab

* Added spec tests for vha business line and business line spec files, cleaned up the controller, modified issue_type_count query

* fixing the spec failures and code climate issues

* removed byebug

* Fixing code climate issue and adding seed data

* fixing the schema error

* Revert "fixing the schema error"

This reverts commit 73070faa40a5615c45ae9e7ec5a0bef74f419e9e.

* skip association so that test passes

* renaming the table to - issue_modification_request and corresponding changes to the model, factories

* fixing spec failures and linter

* fixing spec failures and linter

* making sure pending tasks doesnt show up in in progress tab and modified the factory so that Claimant name appears

* fixing the spec failure

* removing coalesce and removing null: true

* more PR feedbacks

* adding fix to the PR comments

* removing distinct

* fixing the error in the query

* Apply suggestions from code review

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* removing limit as suggested in the pr

* Adding evaluator to the factory and adding it to the seeds

* Adding PaperTrail for change history stuff

* adding schema

* adding new column to the table

* changed decider_decision_text to decider_note

---------

Co-authored-by: almorbah <al.mortada@va.gov>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* SeanC/APPEALS-40669 | Creation of ‘Pending admin review’ section on Edit Issues Page (#21604)

* Added fake data and rendering for it

* made the fake data better

* pending issues are being rendered

* passed up user admin of org from backend

* Added userIsOrgAdmin to the frontend

* created admin and non fake data

* determined fake data to use based on userIsOrgAdmin

* got the issues to render

* Created a new IssueModificationList component

* updated the issuemodification and row to work with the lists

* updated the fake data and the issues container

* removed some code for getting the user info

* updated IssueModificationRequest to make wireframe

* Updated row and list to work with the new request

* updated the fake data

* added propTypes to IssuesModificationList

* cleaned up some lint in addissues

* added Prop types to request

* added key to list

* improved row

* improved the row logic

* added some space to the list

* refactored the layout for the request

* added text to the COPY

* slight change to fake data

* refactored the row

* got sorting working

* added id to map of list

* updated formating functions for modificationIssueRequests

* updated the request to work with the formated data

* removed some console logs in row

* updated addIssues to format the fake data

* updated request to work with the serializer

* removed logs

* updated fake data and formatter

* removed unneed code

* removed unneed code

* removed unneed code

* Rename IssueModificationRow.jsx to issueModificationRow.jsx

* removed unneed code and renamed a couple things

* Slight change to request

* removed some comments

* added some data for the jest test

* got some of the jest tests working

* fixed a typo in request

* updated the prop for the tests

* fixed the broken test and added more for list

* Fixed the fake data and removed unneed code

* removed unneed coded

* changed the html in the request to better match the design

* added css rule for new class

* fixed an typo in COPY

* similified some logic in row

* added logic to not create the pending section if it is null

* cleaned up some lint in intake.scss

* updated the fake data to better match the wireframes

* added divider inbetween requests

* formatted the dates on the request

---------

Co-authored-by: Clay Sheppard <csheepy@gmail.com>

* TYLERB/APPEALS-39106: Creation of Pending tab (#21455)

* Initial commit to add the pending tab to the vha business line decision review queue.

* Updated existing tests and added new ones for the pending tab.

* Added tab task counts to the decision review queue.

* Adjusted variable names to match up with the feature branch. Made a column change to the create_issue_modification_request migration file. Added in methods to serialize the issue_modification_requests. Added pending_issue_modification_requests to the decision review serializer.

* Updated schema.

* Added a serialzer and related javascript and redux methods to place issue modification requests into the frontend.

* Updated tests to work with new issue modification request factories.

* Added a couple more test scenarios for the decision review controller spec file and changed the FactoryBot.create methods to create().

* Removed extra copies of the pending tab mappings and if statements from the decision reviews controller that happened due to the feature merge.

* Updated ReviewPage jest test snapshots. Updated and added more tests to the NonCompTabs jest test for the new pending tasks tab. Fixed an issue where the TaskTableTab was added an empty hash to the columns as a placeholder for the pending requests column instead of not adding any additional columns.

* Added a few constant variables to copy.json and queue config and removed todo statements.

* Fixed serializer tests and Fixed a constant name.

* Renamed some javascript variables to match the serializer.

* Fixed more broken tests.

* Updated the pending tasks query to show the correct amount of pending issues instead of an incorrect count. Added the pendingRequests column to the SORT_COLUMN_MAPPINGS in the decision reviews controller so that the user can sort by the new pending requests column via the controller. Added tests to cover these scenarios.

* Made some layout and css adjustments to the search bar and tab description for the decision review queue.

* Added padding to the bottom of the new search box and description div to create some space between ui elements. Changed the tab titles in the decision review queue to be title case for all words instead of only the first word.

---------

Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>

* Appeals-40989 - Inclusion of required Decision Date Banner on Add Issues (#21588)

* APPEALS-40989: Adding functionality to check if user is vhaAdmin and task is in progress then display Banner and make decision date required.

* Fixing spec failures, adding new model spec, new task factory to support spec

* fixing linter issues in spec

* Adding storybook and fixing codeclimate complain

* fixing PR comments and adding banner to unidendified modal

* removing local font sizing

* fixing linter issue

* APPEALS-39446 - Modal creation – modification, removal, withdrawal, request additional issue [Non-Admin] (#21681)

* WIP components

TODO: validation/errors, redux

* add some error messages and the error schema for the addition modal

* add missing data error messages for the rest of the modals

* add test coverage for issue modification request frontend errors

* disable submit button until form is dirty

* remove currentIssue from request additional issue modal

* DRY out these modals

* clean up imports and some formatting

* WIP stuck the issue modification requests into redux

* add requested additional issues to the pending review section

* get benefit type from redux

* add test covering modal submission

* remove unnecessary expectation

* move a line to read better

* linting fixes and remove unneeded code

* update test

* really fix this test

* try to fix the add isues page

* fix ambiguous click in spec

* add storybook for modals

* update snapshot

* update capitalization in reviews spec

* destructure modal props

* more destructuring

* use full name and css id for requestor

* import less lodash

* fix some more capitalization

* remove old comment

* Update client/app/intakeEdit/components/RequestCommonComponents/RequestIssueFormWrapper.jsx

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* Update client/app/intake/components/IssueModificationRequest.jsx

Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* prevent future dates in issue modification requests

* format decision date in current issue section

* Prior decision date -> Decision date

---------

Co-authored-by: Prajwal Amatya <122557351+pamatyatake2@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>

* TYLERB/APPEALS-39447: Display of banner on Edit Issues page – issues with pending requests (#21695)

* Initial commit. Added the PendingIssueModificationRequestsBanner. Added the connection between the serialized pending issue modification requests to the ui in the front end EditAddIssues page. Refactored the issueModificationRow, IssueModificationList, and IssueModificationRequest components. Changed the request_type enumeration to be lowercased to match the key value and changed the database schema, migration, and factory to match up with the new enumeration value.

* Added withdrawal_date to the serializer and redux store for issue modifications. Renamed a constant variable from body to message. Swapped a groupBy function to the lodash version since it was causing capyabara to fail for the feature test. Added a feature test for the banner. Also added a some helper functions and feature test checks for the issue modification requests when pulling data from the actual database objects instead of mocked data.

* Updated jest test.

* Added a backup description to the request issue in the IssueModificationRequest.jsx file so it will work for request issues being moved to the section via the ui.

* Changed an rspec matcher to fix code climate issue.

* Removed two junk console output files that were erroneously created.

* Made changes to the issue modification ui to match the feature branch changes and renamed the redux key to always use pendingIssueModificationRequests.

* Added a new redux store key for the originalPendingRequests in order to move them around. Reworked how the issues were being removed from the issues section when they are associated to an existing or new pending request.

* Cleaned up old issue modification request redux code.

* Reverted a change to the intake redux store since the objects are added via reference instead of an object clone.

* Fixed an issue where having empty pendingIssueModificationRequ
ests was causing a javascript error. Removed some todo comments and commented code.

* Removed another todo comment.

* Removed the pending requests banner from the cancel edit issues page.

* Changed the issue modification seeds file to use the correct values for the request_type attribute based on the enumeration value change to always use lowercase values. Updated a variable name in javascript to be more descriptive.

* Updated the RequestIssueFormWrapper component so that withdrawal and removal requests would behave in the same way as modification of existing issue requests. Fixed a bug where the decision date was being set to undefined or null for removal or withdrawal issue modification requests instead of taking the decision date from the original issue.

* Removed n+1 bullet warnings from the decision_review serialization process for pending_issue_modification_requests.

* APPEALS-45242 (partial) (#21759)

* add a doubleArrow option to SearchableDropdown

* overriden -> replaced

* JHoang/APPEALS-40672 (#21756)

* Initial commit. Added the PendingIssueModificationRequestsBanner. Added the connection between the serialized pending issue modification requests to the ui in the front end EditAddIssues page. Refactored the issueModificationRow, IssueModificationList, and IssueModificationRequest components. Changed the request_type enumeration to be lowercased to match the key value and changed the database schema, migration, and factory to match up with the new enumeration value.

* Added withdrawal_date to the serializer and redux store for issue modifications. Renamed a constant variable from body to message. Swapped a groupBy function to the lodash version since it was causing capyabara to fail for the feature test. Added a feature test for the banner. Also added a some helper functions and feature test checks for the issue modification requests when pulling data from the actual database objects instead of mocked data.

* Updated jest test.

* Added a backup description to the request issue in the IssueModificationRequest.jsx file so it will work for request issues being moved to the section via the ui.

* Changed an rspec matcher to fix code climate issue.

* Removed two junk console output files that were erroneously created.

* Made changes to the issue modification ui to match the feature branch changes and renamed the redux key to always use pendingIssueModificationRequests.

* Added a new redux store key for the originalPendingRequests in order to move them around. Reworked how the issues were being removed from the issues section when they are associated to an existing or new pending request.

* Cleaned up old issue modification request redux code.

* Reverted a change to the intake redux store since the objects are added via reference instead of an object clone.

* Fixed an issue where having empty pendingIssueModificationRequ
ests was causing a javascript error. Removed some todo comments and commented code.

* Removed another todo comment.

* Removed the pending requests banner from the cancel edit issues page.

* Changed the issue modification seeds file to use the correct values for the request_type attribute based on the enumeration value change to always use lowercase values. Updated a variable name in javascript to be more descriptive.

* Added modal to request cancellation of an existing request modification

* fix lint and failing jest

* conditional rendering in cancelpendingrequestissue modal

* fix decision date and withdrawal dates not showing correctly when requesting modification

* fix mocked props for CancelPendingRequestIssueModal.test.js

* revert date changes, fix issue description display

* Updated the RequestIssueFormWrapper component so that withdrawal and removal requests would behave in the same way as modification of existing issue requests. Fixed a bug where the decision date was being set to undefined or null for removal or withdrawal issue modification requests instead of taking the decision date from the original issue.

* added space between current issue and pending issue request

* refactor cancelpendingrequestissuemodal structure

* remove temp dropdown button

---------

Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Al/appeals 45834 (#21641)

* Added non admin issue modification request logic

* added finial touches on NON::AdminModificationRequestsUpdater class

* Added logic to make sure that the user is an admin or non-admin who belongs to Vha organization

* Added some Rspec tests for `NonAdmin::IssueModificationRequestsUpdater` and cleaned up Class

* Added controller spec tests for SupplementalClaimsController#update HigherLevelReviewsController#update

* Code clean up

* Fixing lining errors

* code clean up

* Added code to fix some failing rspec tests

* fixed linting errors

* Ensure backend validation – only one request per issue
If an issue already has a request and another is submitted, an error is thrown

* rebased off latest feature branch and downcased request_type and status  params

* Added request_issue_id param to account for existing request_issues in situations when request_type is other than addition. Adjusted process_modification? method

* Added changes based on PR feedback

* added a shared example block to dry up code

* more feedback

* changed name file structure

* Needed to re-handle validation errors

* Pamatya/appeals 40671- adding Select action dropdown to the Admin section (#21788)

* Adding props and searchable dropdown to meet ac

* fixing linter, and adding test

* added storybook for issue modification row and issue section row

* fixing the values in the popup

* fixing the Removal and withdrawal modal to behave similar to modification modal

* making changes to the code to fix the bug

* fixing spec, linter and jest failures

* missing schema file

* changing the Onclick to take object instead of the index or identifier

* removing unused code

* code cleanup

* J hoang/appeals 40987 (#21889)

* move issue modification request actions to new file, created new confirm issue modification change modal

* fixed some code climate issues

* some changes from review

* fix jest

* added new action to update pending issue request

* maybe fix tests?

* revert pending admin review display

* change pending admin review display to active pending issues only

* fix pending admin display

* consistent parameter placement and added an extra check for requested issues display

* fix all failing tests

* fix movetopendingreview action call breaking rspec

* fix cancel buttons on confirm modal modification

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* APPEALS-46705: Addition of SearchableDropdown to IssueList (#21752)

* change issue action selector component and appearance

* fix padding

* fix linting error

* fix frontend tests

* fix list rendering bug

* wip fix one type of failure

* fix a couple more kinds of failure

* fix tests in ama_queue_workflow_spec

* fix a couple tests

* another one

* fix dropdown helpers to work if something was already selected

* fix test in edit_ep_claim_labels_spec

* fix issue modification request specs

* more tests

* update more tests

* whac a mole

* remove comment

* fix padding

* remove comment and whitespace

* make specs consistent

* SeanC/APPEALS-40670 | Update actions and pending request modal on Edit Issues Page – issues with pending requests [Non-Admin] (#21857)

* got the options actions working

* hooked up the cancel action

* added some styling for drop down

* changed the wording of the dropdown actions

* added new onClick action, added pending obj to state and cleared it

* passed the onClick to Row and List

* added onClick and useSelector to Request

* added new redux action

* removed comment

* added edit redux action

* fixed an issue from merge in addIssues

* updated the options to work with non admin actions and readOnly

* removed unneed styles

* removed comment

* changed modal title to change based on pendingIssueModificationRequests

* removed redundant code

* updated action and reducer to work with other code

* updated name of action on parent component

* updated form wrapper to work with new action

* fixed a failing spec test

* Added tests for action options for non and admin users

* refactored the props for the test for IssueModificationList

* slight change to the test

* add new test in issue_modification_request spec

* added logic in Request for the text to change slightly

* fixed a failing test

* fixed an error with the form wrapper

* fixed a few issues from the merge

* fixed failing test

* fixed an issue from the merge

* changed I back to i for issueModificationRow

* refactored options to a const in Request

* removed added comma in constants

* renamed const in FormWrapper

* removed no longer needed props in IssueModificationListProps

* removed setting the index when reviewing a modification request

* fixed a date formatting issue

* created const for pendingIssueModificationRequest

* Fixed issue with incorrectly changing admin modal title

* cleaned up some lint

* cleaned up more lint

* fixed an import issue

* removed conditional for the label text

* fixed a failing jest test

* fixed failing rspec

* removed comment in issue_modification_request_spec

* APPEALS-47866 (#21916)

* UX changes for modals

red buttons -> blue buttons
text wraps around icon
copy updates

* rspec updates

* update snapshots

* add a storybook for modals with icons

* refactor storybook

* remove class

* switch to constants

* remove unnecessary props

* fix the AddIssues storybook

* tinkering

* update snapshots again

* Pamatya/appeals 40997 v3 (#21926)

* move issue modification request actions to new file, created new confirm issue modification change modal

* fixed some code climate issues

* some changes from review

* fix jest

* added new action to update pending issue request

* maybe fix tests?

* revert pending admin review display

* change pending admin review display to active pending issues only

* fix pending admin display

* consistent parameter placement and added an extra check for requested issues display

* fix all failing tests

* fix movetopendingreview action call breaking rspec

* fix cancel buttons on confirm modal modification

* initial push

* renaming component and making the remove original issue button work

* fixing issues related with closing the modal and addissues page getting prerendered

* fixing spec failure

* fixing spec and linter issues

* adding spec test for approval and rejection

* new branch withdrawal date

* fixing bug and fixing the jest failure

* addressing comments

* fixing spec and linter failure

* code clean and consistency between two modals

* adding validation to the spec

* fixing the spec failure

* fixing spacing and spec

* fixing linter

---------

Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>

* Update schema.rb

Fix error in previous merge conflict attempt.

* Update seeds.rb

Fix error in conflict resolution

* TYLERB/APPEALS-40985: Frontend Submission of Requested Issues/Pending Admin Review Section (#21912)

* Initial commit. Altered an existing model validation for issue modification requests and added a new validation. Added a formatter to prepare the issue modification requests for form submission and altered the button text for vha to be save instead of establish if there are pending issue modificaiton requests in the redux store.

* Added the redirection code for claim reviews that have active pending issue modification requests. Also added the non admin issue modification success banner and refactored the existing flash banner code for other claim review types to make them easier to modify in the future.

* Fixed code climate issue.

* Renamed a function parameter in RequestIssueFormWrapper to make it more clear on what it is actually using. Updated logic to use a property insted of the form data.

* Refactored how the claim review controller was building flash messaging to make it easier to customize it for vha claim reviews.

* Added a new selectors file with a selector to only get openPendingModification requests which are pending modification requests that are assigned. Changed the selector in the PendingIssueModificationRequestBanner to the new selector.

* Moved the open pending issue modification requests selector to the intake selector. Imported it and used it in the add issues page.

* Fixed an issue where the decision date was not added as the correct string format to the issue modification redux store which was causing it to fail to save later after form submission. Expanded the feature test for non admin to include submitting the form and verifying the success banner and issue modification request data.

* Added one more additional check to the feature test.

* Added the open issue modification requests selector the save btton text for the edit issues page.

* Made changes to the CancelPendingRequests modal to work with a new reducer. Added edited and cancelled pending requests to the formatIssueModificationRequestSubmissionData function.

* Added an edited boolean attribute to the form data for modification type modals for pending requests for an easy way to determine if a issue modification request has been edited without changing the status.

* Removed max width from non comp description text.

* Fixed admin messaging when there are pending issue modification requests remaining on the claim review.

* Added all the remaining frontend code and logic to make the issue modification form submission work. Fixed an issue where withdrawal date was not working correctly with the existing withdrawal process.

* Refactored the claim review controller logic to work with the non admin and admin updates to issue modification requests. Added methods into issue modification request for admin updates. Updated validations. Refactored the non_admin_updater to work for both admin and non admin workflows. Added some fallback error handling for issue modification updates.

* Removed unused import.

* Updated the RequestIssueStatus component option value from rejected to denied to matchup with the enum field on the issue_modification_request model.

* Fixed two code climate issues. Rewrote the issue modification request factories to fix the seed data.

* Removed some lines from RequestIssueFormWrapper that I don't think were neccessary. Removed some todos.

* Fixed a couple of failing specs.

* Added a new feature test spec file that Praj created.

* Added code to make the associations for request issues to issue modification requests through the UI work correctly in the request_issues_update model for additions and modifications since it is creating brand new request issues instead of using existing records in the database.

* Renamed non_admin_updater_spec file and fixed tests.

* Code climate fix.

* Updated the mocked data controller tests.

* Renamed the NonAdminUpdater and all related files to Updater.

* Fixed a bug where the confirm pending request issue modal was not properly setting up the request issue by using the old request issue id that the modification request was associated to. Fixed a console warning in the RequestIssueStatus component.

* Fixed spec failures due to changing banner text for editing vha claims.

* Fixed an issue where the openPendingModificationRequests selector was causing a console error for legacy appeals due to different initialization of the redux store. Removed the no decision date banner for legacy appeals since it was never intended although it shouldn't happen.

* Fixed jest test for CancelPendingRequestIssueModal where the property name had changed.

* Added admin process testing to the updater_spec.rb service class for issue modification requests. Added errors to caseflow error.rb and added a constant to copy.json.

* Removed todo statements.

* Updated a modal snapshot.

* Fixed merge conflicts that didn't get resolved.

* Added an addition check for the wording to be correct for the issues update banner in add issues to properly reflect the wording of the save button at the bottom of the page depending on pending issue modification requests. Changed the wording on a success banner from established to edited that was incorrect. Added a different success banner for a vha claim review when it still has pending issue modification requests after an admin has only actioned some of them.

* Updated the NonRatingIssueRequestModal decision date logic to prevent a non vha user from adding an issue without a decision date to a claim that was already in progress.

* Fixed spec failures related to the banner text changes.

* Added a banner and block the save of the page if the user is about to close a claim via a removal or withdrawal while the claim still has a pending addition issue modification request on it. Added feature test for this and uncommented some feature test code that shouldn't have been commented out. Added a way to make the content column span two columns in the add issues page table for styling the banner.

* Moved the new banner check into the edit page block to fix tests.

* CSS text change for the alert banner.

* text change and text title change

* Removed the established vha text variable in the claim review controller since it isn't being used anymore. Fixed a linting error.

* test fix for alert title change

---------

Co-authored-by: almorbah <149511814+almorbah@users.noreply.github.com>
Co-authored-by: Prajwal Amatya <pamatya@take2it.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* Initial commit. Added a transaction wrapper around the update_admin_request updater service method to prevent partial processing of requests if an error occured during any of the processing. Added an if check to the claim review controller to make sure that the request issues update class can be processed before processing any of the approval issue modification requests to avoid processing the requests without modifying the request issues that are currently on the claim.

* Added in code climate change and seed data change to match master.

* Added a public method for request issues update to check for p
ossible errors before running the perform method. Refactored the controller logic to fix test failures.

* Added approval back it got accidently removed. Removed some spacing in addissues.jsx.

* Fixed a few flaky tests due to time errors.

* Pamatya/appeals 49849 (#22057)

* adding banner for both admin and non-admin and test

* typo correction

* removing commented out codes and adding a space between lines

* removing props from the syntax

* changing let to const

---------

Co-authored-by: Clay Sheppard <csheepy@gmail.com>
Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>
Co-authored-by: jonathanh-va <111081469+jonathanh-va@users.noreply.github.com>
Co-authored-by: Jonathan Hoang <trinhjoanthan.hoang@va.gov>
Co-authored-by: Prajwal Amatya <122557351+pamatyatake2@users.noreply.github.com>
Co-authored-by: almorbah <al.mortada@va.gov>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Brandon Dorner <brandonleedorner@gmail.com>
Co-authored-by: Sean Craig <110493538+seancva@users.noreply.github.com>
Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: almorbah <149511814+almorbah@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <Pierce_Robert@ne.bah.com>
Co-authored-by: Prajwal Amatya <pamatya@take2it.com>

* updated dispatch mailer email address to Decisions instead of Hearings (#22095)

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-45631 Add and fix address (#21800)

* APPEALS-45631 Add and fix address

* empty commit

* empty commit

* fix/add RO id

* changed id from SS to GB

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* Prodtest/appeals-36234-appeals-44031 (#22109)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* Include bandwidth as part of timeout error metric data (#21946)

* Include bandwidth as part of timeout error metric data

* add NetworkUtil.js file

* fix code climate issues

* fix linting issue

* remove safari webdriver test

* fix CI/CD issue with chrome_driver

* add tests for NetworkUtil.js

* move bandwidth to metric_attributes

* requested changes* fix NetworkUtil-test

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case state…
laurenyj pushed a commit that referenced this pull request Aug 12, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
amybids added a commit that referenced this pull request Aug 13, 2024
* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 fix argument error

* APPEALS-49839. improve the test coverage in test docket seeds controller (#22060)

* APPEALS-49839. improve the test coverage in test docket seeds controller

* APPEALS-49839. Improve legacy_tasks_controller test coverage

* APPEALS-49839. Lint fixes

* APPEALS-49839. seedReducer test coverage

* APPEALS-49839. Improve CustomSeed test coverage

* APPEALS-49839. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-52535. Fix PG::UniqueViolation: ERROR in the seed (#22296)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* reverted the invalid role error change

* reverted the invalid role out of the legacy tasks controller too

* took out commented out code

* removed scenario seeds

* lint fix and taking out constants that were already defined

* fixed RSpec test and added docket back in for appeals_ready_for_distribution

* added docket back

---------

Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: sbashamoni <SampathKumar.Bashamoni@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: Michael Beard <131783726+mbeardy@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
…
NoelleAd pushed a commit that referenced this pull request Aug 13, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
amybids added a commit that referenced this pull request Aug 19, 2024
* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 fix argument error

* APPEALS-49839. improve the test coverage in test docket seeds controller (#22060)

* APPEALS-49839. improve the test coverage in test docket seeds controller

* APPEALS-49839. Improve legacy_tasks_controller test coverage

* APPEALS-49839. Lint fixes

* APPEALS-49839. seedReducer test coverage

* APPEALS-49839. Improve CustomSeed test coverage

* APPEALS-49839. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-52535. Fix PG::UniqueViolation: ERROR in the seed (#22296)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* reverted the invalid role error change

* reverted the invalid role out of the legacy tasks controller too

* took out commented out code

* removed scenario seeds

* lint fix and taking out constants that were already defined

* fixed typo

* fixed indentation

* fixed some linting errors and the push priority spec

* got rid of extraneious variable

* fixed merge conflict fix

* Skip test for now in push_priority_appeals_to_judges_job (#22526)

Co-authored-by: SHarshain <spoosa@razortalent.com>

---------

Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com>
Co-authored-by: sbashamoni <SampathKumar.Bashamoni@va.gov>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: Michael Beard <131783726+mbeardy@users.noreply.github.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: 631068 <rickybmanus@gmail.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: kristeja <112115264+kristeja@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>
Co-authored-by: Matt Roth <r…
Rnmarshall93 pushed a commit that referenced this pull request Aug 21, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
craigrva added a commit that referenced this pull request Aug 22, 2024
* Hotfix/appeals 45 2 (#22198)

* Trigger Build

* Update email address from Hearings to Decisions

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-46269: Remove the ability to enable proportions code (#22499)

* remove conditional for selecting distribution algorithm

* fix tests which broke when removing the toggle

* Feature/appeals 42187 (#22522)

* cmartine/APPEALS-42621 (#21599)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Fix linter errors

---------

Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

* nrithner/APPEALS-45263 (#21617)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Add banner for non-vha

* Add banner for VHA employee

* Refactor conditionals

* Refactor logic for banners to display

* Add dangerouslySetHtml to banner

* Add test for no VHA employee

with vha_claim_review_establishment disabled.

* Add VHA employee scenario to display REMOVE_INTAKE_COMP_AND_PEN

* Complete non vha user scenarios

* Complete VHA employee scenarios

* Remove comments

* Fix linter errors

* Remove spaces preceding question marks

* Correct linting errors

---------

Co-authored-by: Chris-Martine <christopher.martine@va.gov>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

---------

Co-authored-by: Chris-Martine <135330019+Chris-Martine@users.noreply.github.com>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>
Co-authored-by: nicorithner-bah <148365039+nicorithner-bah@users.noreply.github.com>
Co-authored-by: Chris-Martine <christopher.martine@va.gov>

* Feature/appeals 51138.rc.4.3.0 (#22523)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* AP…
HunJerBAH added a commit that referenced this pull request Aug 22, 2024
…d from Correspondence to existing appeals (#22332)

* stable rendering and backend data

* fixed null errors

* fixed typo

* frontend populating correctly with the exception of num_of_issues

* removed console.log

* Fixed docket num column

* stable checkpoint for tasks added to appeal

* added missing bolded text

* fixed border and badge

* fixed veteran naming

* style and html changes

* quick styling fix

* off color fix

* updated the way tasks are handed, changed serializer and added new one.

* added all functionality

* fixed css issue and empty variable controller issue

* fixed failing jest tests

* final jest test changes

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* APPEALS-51237, APPEALS-51536: Optimize feature tests in intake/appeal/edit_spec.rb and optimize automatic case distribution tests (#22280)

* refactoring edit_spec

* move one assertion and remove duplicate test

* refactor withdraw issues context

* move duplicate test assertions

* move duplicate test assertions to existing tests and remove duplicate tests

* move assertion and remove duplicate test

* consolidate SCT appeal tests

* refactor SCT tests to use step blocks

* consolidate a individual test into a step

* move CC appeal task tests to appeals_controller_spec intead of a feature test

* remove unnecessary code comments

* consolidate member not admin tests

* remove commented portions of test

* move tests from affinity_days_levers_spec.rb

* move tests from affinity_days_levers_spec.rb, last commit was from audit_lever_history_table_spec.rb

* remove ama_np_dist_goals_by_docket_lever_spec.rb

* remove batch_size_levers_spec.rb

* remove inactive_data_elements_levers_spec.rb

* remove lever_buttons_spec.rb

* refactor

* move jest file for convention, add snapshot

* move test for admin ui not interactable for non-admins to a jest test

* remove unnecessary comments, whitespace

* restore jest folder structure

* modify edit spec to use case details page instead of searching again

* modify assertions

* remove TODO comment

* add assertion to allow async save actions to be executed

* add check to ensure banner is gone before trying to save

* refactor assertions for lever history display

* fix failing dependency report tests

* APPEALS-53151: Update ECR Workflow to Utilize OIDC Flow (#22348)

* Reconfigure ECR login workflow to utilize Github's OIDC flow

* Add permissions

* Update AWS account number to one for VAEC

* Update account number for main CI workflow

* Try using a separate secret in test

* Try using a separate secret in test

* Change name of secret

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Added a space between the intake and create record buttons (#22360)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22369)

* APPEALS-42525 - Package Details: General Information (#22350)

* APPEALS-42525 - Added General Information, Styling

* APPEALS-42525 - Updated Tests, Linting

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef.

* APPEALS-42525 - Switching tests to Jest (#22392)

* Correspondence and Appeal Tasks: Tasks not related to an Appeal (#22394)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

* removed unused method.

* fixed correspondence_serializer calling the wrong method.

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef.

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* IsaiahB/APPEALS-53208 (#22410)

* update mail_task.rb

* added method override for verifying user in correspondence mail task model

* fix spec tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>

* adding all correspondences table (#22415)

* adding all correspondences table

* added jest tests

* spec fix

* Rspec test fixes  (#22411)

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix modifications

* Fix for banner warning message for efolder

* Add skips to MST PACT test to skip temporarily

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* APPEALS-42525 - Update Styling (#22424)

* Sivakesh/Appeals-42642 - Associate Prior Mail to only show Pending or Completed Correspondences (#22374)

* #48957 - Add Correspondences' Status to Intake Form

* #48672 - Added a spec

* #42642 - updated status in spec

* Caceves/appeals 53755 code climate fixes (#22427)

* Code climate fixes initial commit

* Added proptypes to tooltiphelper file

* Jest fixes

* Updated jest snap shots

* Fix for dentical blocks of code being found in multiple locations for radio input field

* Lint fixes

* Jest fixes

* Jest fixes updating the snapshots

* Codeclimate fixes for const props

* testing the duplication error fix for jest

* User tests 'FeatureToggle.enabled?(:correspondence_queue)' at least 3 times

* Add ignore for pdf offense

* Complexity fixes

---------

Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* Sivakesh/appeals 51904 - 508: Jaws doesn't read options on the correspondence type dropdown (#22333)

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added conditional aria label

* #51904 - removed aria attributes

* Remove aria label by

* #51904 - updated snapshots to have aria-label

* #51904 - updated snapshots to have aria-label

* #51904 - updated jest tests

* #51904 - updated jest tests

* #51904 - updated jest tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* CodeClimate fixes for User tests 'correspondence_queue_enabled?' at least 3 times (#22444)

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Feature/appeals 43179 (#21665)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46266, APPEALS-46239: ACD Stats and Slack message updates (#22388)

* APPEALS-42221 Distribution Stats: Break statistics into columns (#21717)

* rebuild branch

* Create 20240506140249_add_cols_to_distribution_stats.rb

* unit tests and linting

* APPEALS-46244, APPEALS-46245 (#22077)

* remove unnecessary reporting

* send slack message to console if on local or demo

* add excluded judges to slack report

* reporting method cleanup

* added affinity date stats to distribution_stats for each docket

* Update docket.rb

* Update distribution_scopes.rb

* unit tests and linting

* unit tests and linting

* Slack message update

* Update push_priority_appeals_to_judges_job.rb

* Update push_priority_appeals_to_judges_job_spec.rb

* code climate and code review changes (#22148)

* code climate and code review changes

* move code out to its own class

* lint fixes

* revert

* disable reek checks

* fix method calls

* Hotfix/appeals 46639 prodtest (#22389)

* Initial commit and turning off queue tab variables used for the frontend pagination for the bulk assign tab for the specialty case team.

* Altered the queue actions to work with the new task selection action and a new redux action to remove tasks from a cached queue state. Also updated queue table to work with the redux caching instead of local state caching.

* Added in task selection function changes to TaskTable to work
with the altered task selection redux action. Also added the ability to pass down the redux cache property to queue table. Refactored the UnassignedCasesPage to allow for backend pagination of queue table instead of only working via frontend loaded data from the redux store.

* Added the queueTableCache reducer slice. Added a :advanced_on_docket trait to the task factory for specialty_case_team_assign_tasks. Added the caching combined reducer to the queue table reducers.

* Moved columnsFromConfig and createColumnObject functions out of QueueTableBuilder.jsx into a utils file so it can be used in multiple components around the app.

* Updated the setSelectionOfTaskOfUser to work with the new action and data that it should be expecting.

* Updated the selectedTasksSelector to work with the new task selection reducer and action.

* Added a parameter for useReduxCache for TaskTable to send down to queue table instead of always setting it to true. Removed some comments from the queueTableCacheSlice removeTaskIdsFromCache reducer method/action. Passed in the new useReduxCache property to TaskTable in the UnassignedCasesPage component for the sct bulk assign queue.

* Removed code out of QueueTableBuilder that is now in queueTableUtils.js.

* Fixed a bug if queueConfig was an empty hash in the UnassignedCasesPage component.

* Serializer optimizations for contested issues and issue categories. Also included request issues in the includes for the sct queue to take advantage of these optimizations.

* Fixed a bug where clear filters was not properly updating the get parameters anymore for queue table.

* Added cavc_type trait to the sct assign task factory.

* Fix code climate issues.

---------

Co-authored-by: = <tyler.broyles@va.gov>

* Updates key on line 63 to the correct value. (#22267)

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* Hotfix/appeals-42846 Fixes incorrect spelling of SupervisorySeniorCounsel across project (#22391)

* Repushing branch to fix CodeClimate and Rspec issue

* Attempt to fix failed Rspec.

* Revert Schema changes

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* consolidate individual RO accessors into a single test for each RO (#22407)

* Revert "Updates key on line 63 to the correct value. (#22267)" (#22417)

This reverts commit def10f5.

* Revert "Feature/appeals 43179 (#21665)" (#22425)

This reverts commit 7613209.

* Ki/APPEALS-48371 - Refactor correspondence_cases_spec.rb (#22474)

* APPEALS-48371 - Correspondence Cases Spec Updates

* Moved user/super to helper

* Fix for rubocop violations

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Div/appeals 42524 (#22471)

* Initial commit for Response letters

* codeclimate fix for correspondence_details_controller

* Fixes the lint issues and removed unnessary code

* Added feature test cases for response letters

* Adding the wait time for spec for get success

* Spec fix by increasing the wait time

* Spec fixes for correspondence details response letter tab

* Spec modification

* Spec modification

* Spec modification

* Adding sleep for the spec helper

* Changing the vist link from helper to spec file

* lint fix

* Codeclimate fixes

* Spec fixes

* Spec fix

* Spec fix

* fixed new props data breaking component

* Fix lint error

* updated labels

* changed docket number to caps

* git redo

* working link

* made changes based on github feedback.

* fixed linter issue

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Ki Mau <ki.mau@va.gov>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>
Co-authored-by: vinner57 <128258952+vinner57@users.noreply.github.com>
Co-authored-by: psivakeshva <168677299+psivakeshva@users.noreply.github.com>
Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>
Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: VaForceZ <149601263+VaForceZ@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
ramon-chavez pushed a commit that referenced this pull request Aug 23, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
ramon-chavez added a commit that referenced this pull request Aug 23, 2024
* Hotfix/appeals 45 2 (#22198)

* Trigger Build

* Update email address from Hearings to Decisions

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-46269: Remove the ability to enable proportions code (#22499)

* remove conditional for selecting distribution algorithm

* fix tests which broke when removing the toggle

* Feature/appeals 42187 (#22522)

* cmartine/APPEALS-42621 (#21599)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Fix linter errors

---------

Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

* nrithner/APPEALS-45263 (#21617)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Add banner for non-vha

* Add banner for VHA employee

* Refactor conditionals

* Refactor logic for banners to display

* Add dangerouslySetHtml to banner

* Add test for no VHA employee

with vha_claim_review_establishment disabled.

* Add VHA employee scenario to display REMOVE_INTAKE_COMP_AND_PEN

* Complete non vha user scenarios

* Complete VHA employee scenarios

* Remove comments

* Fix linter errors

* Remove spaces preceding question marks

* Correct linting errors

---------

Co-authored-by: Chris-Martine <christopher.martine@va.gov>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

---------

Co-authored-by: Chris-Martine <135330019+Chris-Martine@users.noreply.github.com>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>
Co-authored-by: nicorithner-bah <148365039+nicorithner-bah@users.noreply.github.com>
Co-authored-by: Chris-Martine <christopher.martine@va.gov>

* Feature/appeals 51138.rc.4.3.0 (#22523)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* AP…
AdamShawBAH pushed a commit that referenced this pull request Aug 23, 2024
* Hotfix/appeals 45 2 (#22198)

* Trigger Build

* Update email address from Hearings to Decisions

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-46269: Remove the ability to enable proportions code (#22499)

* remove conditional for selecting distribution algorithm

* fix tests which broke when removing the toggle

* Feature/appeals 42187 (#22522)

* cmartine/APPEALS-42621 (#21599)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Fix linter errors

---------

Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

* nrithner/APPEALS-45263 (#21617)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Add banner for non-vha

* Add banner for VHA employee

* Refactor conditionals

* Refactor logic for banners to display

* Add dangerouslySetHtml to banner

* Add test for no VHA employee

with vha_claim_review_establishment disabled.

* Add VHA employee scenario to display REMOVE_INTAKE_COMP_AND_PEN

* Complete non vha user scenarios

* Complete VHA employee scenarios

* Remove comments

* Fix linter errors

* Remove spaces preceding question marks

* Correct linting errors

---------

Co-authored-by: Chris-Martine <christopher.martine@va.gov>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

---------

Co-authored-by: Chris-Martine <135330019+Chris-Martine@users.noreply.github.com>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>
Co-authored-by: nicorithner-bah <148365039+nicorithner-bah@users.noreply.github.com>
Co-authored-by: Chris-Martine <christopher.martine@va.gov>

* Feature/appeals 51138.rc.4.3.0 (#22523)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* AP…
Rnmarshall93 added a commit that referenced this pull request Aug 23, 2024
…d from Correspondence to existing appeals (#22332)

* stable rendering and backend data

* fixed null errors

* fixed typo

* frontend populating correctly with the exception of num_of_issues

* removed console.log

* Fixed docket num column

* stable checkpoint for tasks added to appeal

* added missing bolded text

* fixed border and badge

* fixed veteran naming

* style and html changes

* quick styling fix

* off color fix

* updated the way tasks are handed, changed serializer and added new one.

* added all functionality

* fixed css issue and empty variable controller issue

* fixed failing jest tests

* final jest test changes

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* APPEALS-51237, APPEALS-51536: Optimize feature tests in intake/appeal/edit_spec.rb and optimize automatic case distribution tests (#22280)

* refactoring edit_spec

* move one assertion and remove duplicate test

* refactor withdraw issues context

* move duplicate test assertions

* move duplicate test assertions to existing tests and remove duplicate tests

* move assertion and remove duplicate test

* consolidate SCT appeal tests

* refactor SCT tests to use step blocks

* consolidate a individual test into a step

* move CC appeal task tests to appeals_controller_spec intead of a feature test

* remove unnecessary code comments

* consolidate member not admin tests

* remove commented portions of test

* move tests from affinity_days_levers_spec.rb

* move tests from affinity_days_levers_spec.rb, last commit was from audit_lever_history_table_spec.rb

* remove ama_np_dist_goals_by_docket_lever_spec.rb

* remove batch_size_levers_spec.rb

* remove inactive_data_elements_levers_spec.rb

* remove lever_buttons_spec.rb

* refactor

* move jest file for convention, add snapshot

* move test for admin ui not interactable for non-admins to a jest test

* remove unnecessary comments, whitespace

* restore jest folder structure

* modify edit spec to use case details page instead of searching again

* modify assertions

* remove TODO comment

* add assertion to allow async save actions to be executed

* add check to ensure banner is gone before trying to save

* refactor assertions for lever history display

* fix failing dependency report tests

* APPEALS-53151: Update ECR Workflow to Utilize OIDC Flow (#22348)

* Reconfigure ECR login workflow to utilize Github's OIDC flow

* Add permissions

* Update AWS account number to one for VAEC

* Update account number for main CI workflow

* Try using a separate secret in test

* Try using a separate secret in test

* Change name of secret

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Added a space between the intake and create record buttons (#22360)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22369)

* APPEALS-42525 - Package Details: General Information (#22350)

* APPEALS-42525 - Added General Information, Styling

* APPEALS-42525 - Updated Tests, Linting

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef.

* APPEALS-42525 - Switching tests to Jest (#22392)

* Correspondence and Appeal Tasks: Tasks not related to an Appeal (#22394)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

* removed unused method.

* fixed correspondence_serializer calling the wrong method.

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e14.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef.

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* IsaiahB/APPEALS-53208 (#22410)

* update mail_task.rb

* added method override for verifying user in correspondence mail task model

* fix spec tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>

* adding all correspondences table (#22415)

* adding all correspondences table

* added jest tests

* spec fix

* Rspec test fixes  (#22411)

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix modifications

* Fix for banner warning message for efolder

* Add skips to MST PACT test to skip temporarily

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* APPEALS-42525 - Update Styling (#22424)

* Sivakesh/Appeals-42642 - Associate Prior Mail to only show Pending or Completed Correspondences (#22374)

* #48957 - Add Correspondences' Status to Intake Form

* #48672 - Added a spec

* #42642 - updated status in spec

* Caceves/appeals 53755 code climate fixes (#22427)

* Code climate fixes initial commit

* Added proptypes to tooltiphelper file

* Jest fixes

* Updated jest snap shots

* Fix for dentical blocks of code being found in multiple locations for radio input field

* Lint fixes

* Jest fixes

* Jest fixes updating the snapshots

* Codeclimate fixes for const props

* testing the duplication error fix for jest

* User tests 'FeatureToggle.enabled?(:correspondence_queue)' at least 3 times

* Add ignore for pdf offense

* Complexity fixes

---------

Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* Sivakesh/appeals 51904 - 508: Jaws doesn't read options on the correspondence type dropdown (#22333)

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added conditional aria label

* #51904 - removed aria attributes

* Remove aria label by

* #51904 - updated snapshots to have aria-label

* #51904 - updated snapshots to have aria-label

* #51904 - updated jest tests

* #51904 - updated jest tests

* #51904 - updated jest tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* CodeClimate fixes for User tests 'correspondence_queue_enabled?' at least 3 times (#22444)

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Feature/appeals 43179 (#21665)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46266, APPEALS-46239: ACD Stats and Slack message updates (#22388)

* APPEALS-42221 Distribution Stats: Break statistics into columns (#21717)

* rebuild branch

* Create 20240506140249_add_cols_to_distribution_stats.rb

* unit tests and linting

* APPEALS-46244, APPEALS-46245 (#22077)

* remove unnecessary reporting

* send slack message to console if on local or demo

* add excluded judges to slack report

* reporting method cleanup

* added affinity date stats to distribution_stats for each docket

* Update docket.rb

* Update distribution_scopes.rb

* unit tests and linting

* unit tests and linting

* Slack message update

* Update push_priority_appeals_to_judges_job.rb

* Update push_priority_appeals_to_judges_job_spec.rb

* code climate and code review changes (#22148)

* code climate and code review changes

* move code out to its own class

* lint fixes

* revert

* disable reek checks

* fix method calls

* Hotfix/appeals 46639 prodtest (#22389)

* Initial commit and turning off queue tab variables used for the frontend pagination for the bulk assign tab for the specialty case team.

* Altered the queue actions to work with the new task selection action and a new redux action to remove tasks from a cached queue state. Also updated queue table to work with the redux caching instead of local state caching.

* Added in task selection function changes to TaskTable to work
with the altered task selection redux action. Also added the ability to pass down the redux cache property to queue table. Refactored the UnassignedCasesPage to allow for backend pagination of queue table instead of only working via frontend loaded data from the redux store.

* Added the queueTableCache reducer slice. Added a :advanced_on_docket trait to the task factory for specialty_case_team_assign_tasks. Added the caching combined reducer to the queue table reducers.

* Moved columnsFromConfig and createColumnObject functions out of QueueTableBuilder.jsx into a utils file so it can be used in multiple components around the app.

* Updated the setSelectionOfTaskOfUser to work with the new action and data that it should be expecting.

* Updated the selectedTasksSelector to work with the new task selection reducer and action.

* Added a parameter for useReduxCache for TaskTable to send down to queue table instead of always setting it to true. Removed some comments from the queueTableCacheSlice removeTaskIdsFromCache reducer method/action. Passed in the new useReduxCache property to TaskTable in the UnassignedCasesPage component for the sct bulk assign queue.

* Removed code out of QueueTableBuilder that is now in queueTableUtils.js.

* Fixed a bug if queueConfig was an empty hash in the UnassignedCasesPage component.

* Serializer optimizations for contested issues and issue categories. Also included request issues in the includes for the sct queue to take advantage of these optimizations.

* Fixed a bug where clear filters was not properly updating the get parameters anymore for queue table.

* Added cavc_type trait to the sct assign task factory.

* Fix code climate issues.

---------

Co-authored-by: = <tyler.broyles@va.gov>

* Updates key on line 63 to the correct value. (#22267)

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* Hotfix/appeals-42846 Fixes incorrect spelling of SupervisorySeniorCounsel across project (#22391)

* Repushing branch to fix CodeClimate and Rspec issue

* Attempt to fix failed Rspec.

* Revert Schema changes

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* consolidate individual RO accessors into a single test for each RO (#22407)

* Revert "Updates key on line 63 to the correct value. (#22267)" (#22417)

This reverts commit def10f5.

* Revert "Feature/appeals 43179 (#21665)" (#22425)

This reverts commit 7613209.

* Ki/APPEALS-48371 - Refactor correspondence_cases_spec.rb (#22474)

* APPEALS-48371 - Correspondence Cases Spec Updates

* Moved user/super to helper

* Fix for rubocop violations

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Div/appeals 42524 (#22471)

* Initial commit for Response letters

* codeclimate fix for correspondence_details_controller

* Fixes the lint issues and removed unnessary code

* Added feature test cases for response letters

* Adding the wait time for spec for get success

* Spec fix by increasing the wait time

* Spec fixes for correspondence details response letter tab

* Spec modification

* Spec modification

* Spec modification

* Adding sleep for the spec helper

* Changing the vist link from helper to spec file

* lint fix

* Codeclimate fixes

* Spec fixes

* Spec fix

* Spec fix

* fixed new props data breaking component

* Fix lint error

* updated labels

* changed docket number to caps

* git redo

* working link

* made changes based on github feedback.

* fixed linter issue

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Ki Mau <ki.mau@va.gov>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>
Co-authored-by: vinner57 <128258952+vinner57@users.noreply.github.com>
Co-authored-by: psivakeshva <168677299+psivakeshva@users.noreply.github.com>
Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>
Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: VaForceZ <149601263+VaForceZ@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Rnmarshall93 pushed a commit that referenced this pull request Aug 23, 2024
* Hotfix/appeals 45 2 (#22198)

* Trigger Build

* Update email address from Hearings to Decisions

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-46269: Remove the ability to enable proportions code (#22499)

* remove conditional for selecting distribution algorithm

* fix tests which broke when removing the toggle

* Feature/appeals 42187 (#22522)

* cmartine/APPEALS-42621 (#21599)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Fix linter errors

---------

Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

* nrithner/APPEALS-45263 (#21617)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Add banner for non-vha

* Add banner for VHA employee

* Refactor conditionals

* Refactor logic for banners to display

* Add dangerouslySetHtml to banner

* Add test for no VHA employee

with vha_claim_review_establishment disabled.

* Add VHA employee scenario to display REMOVE_INTAKE_COMP_AND_PEN

* Complete non vha user scenarios

* Complete VHA employee scenarios

* Remove comments

* Fix linter errors

* Remove spaces preceding question marks

* Correct linting errors

---------

Co-authored-by: Chris-Martine <christopher.martine@va.gov>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

---------

Co-authored-by: Chris-Martine <135330019+Chris-Martine@users.noreply.github.com>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>
Co-authored-by: nicorithner-bah <148365039+nicorithner-bah@users.noreply.github.com>
Co-authored-by: Chris-Martine <christopher.martine@va.gov>

* Feature/appeals 51138.rc.4.3.0 (#22523)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update veterans_controller_spec.rb

* feature/APPEALS-43597 RC1.5.1 (#21996)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Feature/appeals 43597 release candidate (#22004)

* APPEALS-36759 Add sms_response_content and sms_response_time notifications table

* APPEALS-37003 First pass at job refactor

* APPEALS-37003 Add comments and update kwargs for va notify service

* APPEALS-37003 Update spec files

* APPEALS-37003 Update spec

* APPEALS-37003 Ensure user in job and create email_enabled method

* APPEALS-37003 Remove question mark

* Limit max retry attempts to 5

* Add ? to boolen return methods

* jcohen/APPEALS-43706 (#21444)

* APPEALS-43706 macros added to each model file for the polymorphic relationship to be setup.

* APPEALS-43706 migration made and yet to be run.

* APPEALS-43706 migrations ran and expected columns and indexes are in table.

* Fix some spec failures unrelated to this branch

* Limit schema diff

* Add a missing tab

* Fix more unrelated failures. Also prevent ACD lever seeds from overwriting spec output

* Fix last unrelated failure.

* APPEALS-43706 linting issues in va_notify_service fixed.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* [APPEALS-43598] Quarterly Notification Job refactoring (#21505)

* Quarterly Notification Job refactoring

* APPEALS-43598 Fix lint issues for QuarterlyNotificationsJob refactor

* APPEALS-43598 Fix db schema.rb file

* APPEALS-43598 Fix schema.rb file

* APPEALS-43598 Refactoring QuarterlyNotificationsJob for readability

* APPEALS-43598 Refactoring QuarterlyNotificationsJob and removing extra methods

* [APPEALS-43598] Update method name

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-44007: Eliminate Transmission of Notifications to Deceased Veterans (#21481)

* APPEALS-44007: Writing tests to ensure adding the 'failure due to deceased' information is properly set and added to the db

* updates to pr

* pushing changes for tonight

* updating spec file to handle enabling and disabling feature flags

* Update format_message_status

* Lint roll

* fixing conflicts

* Updates to send notification spec

* Fix one of the legacy test cases

* Remove accidental push

* Fix remaining test

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-45235: Remove Temporary PDF Files From tmp Directory After All eFolder Upload Attempts (#21557)

* Cleanup files after uploading to VBMS

* Only delete file if it exists

* Resolve linter issue

* Update specs

* Trigger CodeClimate

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Add appeal alias for notifiable

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications (#21575)

* APPEALS-45346: Populate Polymorphic Association Columns When Creating New Notifications

* fixing some errors

* updating factory

* updating tests

* updating tests and factory

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-43596 Adding JobMessageDeletionMiddleware to delete SQS messages for certain jobs

* APPEALS-43596 Adding tests

* APPEALS-43596 Fix codeclimate

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables (#21596)

* APPEALS-43714: Refactor VANotify Modules to Not Rely on Class Variables

* pushing changes

* updating tests

* rubocop

* rubocop'n

* deleting repeat constants

* removing file in favor of EVENT_TYPE_FILTERS.json

* removing instances of using VA_NOTIFY_TEMPLATE_NAMES and using EVENT_TYPE_FILTERS instead

* replacing all instances of strings with constants

* fixing bug

* rubocop'n

* rubocop'n

* rubocop

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Clean notification_events after notification report specs finish (#21662)

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-43725: Extract `notify_appellant` Call from `QuaterlyNotificationsJob` to Decrease Runtime (#21643)

* Group notification types as scopes

* Add new job

* Fix typo

* Add back batching

* Batch send messages

* Multithread job queueing

* Reconfigure bulk enqueueing to utilize send_notifications.fifo queue

* Update the comment on QuaterlyNotificationsJob#perform

to adhere to the RDoc standard

* Use constants for template name

* Provide a more descriptive var name

* Remove unused env var

* Fix linting issues

* Prevent error from being thrown early in init job

* Add RDoc comments to appeal_state

* Add rdoc comment to init job

* Add another rdoc comment to the init job

* Use a more specific error class whenever an appeal

cannot be located within the init job

* Add a more specific error to CaseflowJob#enqueue_batch_of_jobs

* Add test for SendNotificationJob.queue_name_suffix

* Update QuarterlyNotificationsJob tests

* Update appeal_state_spec.rb to cover new scopes

* Add spec file for NotificationInitializationJob

* Add CaseflowJob specs

* Add CaseflowJob specs

* Address rubocop issue (by ignoring it)

* Kicking off CodeClimate

* Fix some lint issues

* Freeze constant

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Move spec file to proper location

* APPEALS-43599 (#21696)

* APPEALS-43599 Refactoring SendNotificationJob

* APPEALS-43599 Remove comments

* APPEALS-43599 Suppress code smells from reek

* APPEALS-43599 Suppress code smells from reek

* jcohen/APPEALS-43727 (#21589)

* APPEALS-43727 Branch created. Extracted all the 'when' conditions in the case statement within appellant_notification.rb update_appeal_state method.

* APPEALS-43727 appellant_notification_service is created, logic from crowded method in appellant_notificaion.rb placed in newly created file, allowing redability.

* APPEALS-43727 added logic to appeal_state.rb, appellant_notification.rb updated with less logic, readable code through well named methods.

* APPEALS-43727 commit before merge from teammates work

* APPEALS-43727 removed freeze method on default status hash in appeal_state.rb. removed some rubocop disabling in appellant_notificaion.rb

* APPEALS-43727 extracted more logic from the appellant_notification module and placed it into the appeal_state class. Also got rid of rubocop declarations in app_notif and app_state as well. finally removed feature_toggle calls in appell_notif.

* APPEALS-43727 tests passing, code works

* APPEALS-43727 adding tests to appeal_state_spec to test functionality

* APPEALS-43727 rspec tests in appeal_state.

* APPEALS-43727 tests pass.

* Fixing code climate duplicate code issue

* fixing case statement

* code climate things

* rubocop

* APPEALS-43727 work completed.

* APPEALS-43727 PR comments applied. tests not in a working state.

* APPEALS-43727 PR comments applied. appeal_state_spec in working state.

* APPEALS-43727 PR comments applied. appellant_notification_spec.rb all green.

* Adjust spacing of comments in appeal_state.rb

* Utilize #external_id method over ternary

* Swap or conditional for blank?

* Fix another whitespace gap

* APPEALS-43727 PR comments applied. again after reset.

* APPEALS-43727 PR comments applied. flipped conditionals in appeal_state.rb

* Update app/models/concerns/appeal_concern.rb

* APPEALS-43727 code/test edits

* APPEALS-43727 bulk_task_reasssignment_spec reverted to orginal state, with the exception of an expectation that was on line 98

* APPEALS-43727 lint fix

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-46179 (#21712)

* APPEALS-46179 Create JobExecutionTimes table

* APPEALS-46179 Add comment

* APPEALS-46179 Update schema

* APPEALS-46193 (#21753)

* APPEALS-46193 Add record to JobExecutionTime table when job is performed

* APPEALS-46193 Updating JobExecutionTimes table with an upsert query

* APPEALS-46193 Ignore JobExecutionTimes for certain jobs

* APPEALS-46193 Update ignore_job_execution_time? method

* APPEALS-46193 Adding tests

* Fix lint issues

* Update AWS dependencies

* Rollback gem reduction due to UAT issue

* Alter queue priority

* Forward error in SendNotificationJob

* Allow for notification audit records to remain in ProdTest

* Fix spec

* Fix typo in test fixture's name

* Fix lint infraction related to re-raising exceptions

* Address duplication CC error

* Reenable-privacy-mail-notifications (#21859)

* Add conditional for FOIA and Privacy Act mail

task to receives 'Privacy Act Pending' notifications

* Update spec

* Adjust some specs

* Add missing param

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Remove byebug from spec

* Revert queue tweak

* Remove duplicate method

* APPEALS-47382: Refactor Job Behavior Filtering Boolean Methods (#21898)

* initial commit

* refactoring methods to have constants instead of methods

* adding comments back in

---------

Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* APPEALS-48342: Prevent Intentional Retries of SendNotificationJobs in ProdTest from Causing Duplicate Notification Table Entries (#21927)

* initial commit

* rubocop'n

* rubcop'n

* fixing tests

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Resolve missed conflict

* MattT/APPEALS-48514 (#21959)

* Prototype of privacy act fix

* Leave privacy act states intact upon decision mailed

* Remove unused param

* Attempt updating specs to cover new behavior

* Fix attr name typo

* Add missing bang

* Skip reek issue

The issue has been deemed to be minor enough to not warrant having to reinvent everything for now.

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix quarterly specs by add in necessary hearings

* Adjust spacing/ordering of gems (#21978)

* MattT/APPEALS-49085 (#21960)

* Filter out appeals whose hearings have been held from hearing_scheduled scope

* Fix whitespace issues

* Fix failing specs caused by an oversight on my part

* Fix lint issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-49212 (#21991)

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add module to set hearing_scheduled to false whenever hearings are marked as held

* Add step to NightlySyncsJob to sync hearing dispositions and appeal stateS

* Add comment to new method

* Use constant for disposition type

* Fix typo in accessor

* Add spec for new appeal state action

* Create user in top scope

* Expand nighlty syncs job to check all scheduled hearing disposition types.

No show was left off as we don't have a requirement around it yet.

* Add nightly sync job spec

* Add disp task spec

* Add specs targeting the hearings controller

* Add sync script

* Eager load constants

* Add distinct

* Remove appeal_docketed from being reset

* Add script to adjust ama hearing statuses

* Correct mistype

* Add appeal_type clause

* Fix specs

* Lint fixes

* Flip conditionals in specs

* Fix var name

* Fix var

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Backfill addition to script

* Add AppealState record for newly docketed LegacyAppeals (#21999)

* APPEALS-48966 Adding AppealState record for recently docketed appeals

* APPEALS-48966 Refactor code and add comments

* Delete extraneous files

* Revert to using constants value

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Fix typo

* Fix typo

* Fix seed script

* Fix seed script

* Ensure cleanup

* Change copy for Appeal Docketed status (#22006)

* Change copy for Appeal Docketed status

* Change case

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Use status text value instead of key

---------

Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-44916 seed data update (#22008)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* prelim work on 48033

* refactored code a bit, working on data creation now

* created ama_affinity data

* fixing mispelt variable

* add back line that was removed

* updated users_spec to now pass

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* fixed merge conflict

---------

Co-authored-by: alex-guanipatin <143651918+alex-guanipatin@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: slwallerBAH <161883271+slwallerBAH@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Tyler Broyles <109369527+TylerBroyles@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jeff Marks <jeff.t.marks@gmail.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: Noah Hansen <nhansen@Noahs-MacBook-Pro.local>
Co-authored-by: Prerna Devulapalli <prerna.devulapalli@va.gov>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Revert "APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)"

This reverts commit 05896d32fa0510bf76101dff689ad05187dc7ccf.

* Add unit testing around push priority distributions with Docket Levers (#22078)

Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-50756: Fix for Appeals Ready to Distribute Query includes dates that are NA (#22090)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* APPEALS-50756 fix lint issues

* APPEALS-50756 The Appeals Ready to Distribute Query includes dates that are NA (#22183)

* APPEALS-50756 fix appeals ready for distribution csv report to exclude place holder dates for non priority appeals

* fix linting issues of feature branch

* fix rubocop offenses from feature branch

* APPEALS-50756 updated login in ama rows method

* AP…
HunJerBAH added a commit that referenced this pull request Aug 26, 2024
…ing “view documents” (#22595)

* finished link to veteran docs page.

* APPEALS-55525: Disable tests for seed files and lock Chrome version to v127 in Github Actions (#22567)

* add exclude pattern to github actions rspec command

* add test file exclude pattern constant

* lock chrome version to 127.0.6533.119

* Correspondence and Appeal Tasks: Related Appeals: Can view tasks added from Correspondence to existing appeals (#22332)

* stable rendering and backend data

* fixed null errors

* fixed typo

* frontend populating correctly with the exception of num_of_issues

* removed console.log

* Fixed docket num column

* stable checkpoint for tasks added to appeal

* added missing bolded text

* fixed border and badge

* fixed veteran naming

* style and html changes

* quick styling fix

* off color fix

* updated the way tasks are handed, changed serializer and added new one.

* added all functionality

* fixed css issue and empty variable controller issue

* fixed failing jest tests

* final jest test changes

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e142c2fb86472459c335622705457c51e36e.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* APPEALS-51237, APPEALS-51536: Optimize feature tests in intake/appeal/edit_spec.rb and optimize automatic case distribution tests (#22280)

* refactoring edit_spec

* move one assertion and remove duplicate test

* refactor withdraw issues context

* move duplicate test assertions

* move duplicate test assertions to existing tests and remove duplicate tests

* move assertion and remove duplicate test

* consolidate SCT appeal tests

* refactor SCT tests to use step blocks

* consolidate a individual test into a step

* move CC appeal task tests to appeals_controller_spec intead of a feature test

* remove unnecessary code comments

* consolidate member not admin tests

* remove commented portions of test

* move tests from affinity_days_levers_spec.rb

* move tests from affinity_days_levers_spec.rb, last commit was from audit_lever_history_table_spec.rb

* remove ama_np_dist_goals_by_docket_lever_spec.rb

* remove batch_size_levers_spec.rb

* remove inactive_data_elements_levers_spec.rb

* remove lever_buttons_spec.rb

* refactor

* move jest file for convention, add snapshot

* move test for admin ui not interactable for non-admins to a jest test

* remove unnecessary comments, whitespace

* restore jest folder structure

* modify edit spec to use case details page instead of searching again

* modify assertions

* remove TODO comment

* add assertion to allow async save actions to be executed

* add check to ensure banner is gone before trying to save

* refactor assertions for lever history display

* fix failing dependency report tests

* APPEALS-53151: Update ECR Workflow to Utilize OIDC Flow (#22348)

* Reconfigure ECR login workflow to utilize Github's OIDC flow

* Add permissions

* Update AWS account number to one for VAEC

* Update account number for main CI workflow

* Try using a separate secret in test

* Try using a separate secret in test

* Change name of secret

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Added a space between the intake and create record buttons (#22360)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22369)

* APPEALS-42525 - Package Details: General Information (#22350)

* APPEALS-42525 - Added General Information, Styling

* APPEALS-42525 - Updated Tests, Linting

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e142c2fb86472459c335622705457c51e36e.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef953eb48d7e31ceb22ec0a850ff1205c75.

* APPEALS-42525 - Switching tests to Jest (#22392)

* Correspondence and Appeal Tasks: Tasks not related to an Appeal (#22394)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e142c2fb86472459c335622705457c51e36e.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

* removed unused method.

* fixed correspondence_serializer calling the wrong method.

* Correspondence and Appeal Tasks: Tasks not related to an Appeal - fix (#22330)

* removed duplicate row

* fixed task text and improved code reability

* enhanced key, isolated serializer issue

* added filtering of additional types

* APPEALS-42531 - Correspondence Cases: Pending tab: FOIA request link (#22329)

* update schema

* updating task_url

* create folder, file and test coverage for FOIA Request

* Fix minor lint error

* Revert "update schema"

This reverts commit d358e142c2fb86472459c335622705457c51e36e.

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* reworked data source for available actions

* fixed lint offense

* removed binding.pry

* made changes to serializer and correspondence model

* Fix for prettier offense

* fixed linting issues

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Color fix (#22379)

* Color fix

* Lint fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* update mail_task.rb (#22376)

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Revert "update mail_task.rb (#22376)" (#22385)

This reverts commit 2e4fbef953eb48d7e31ceb22ec0a850ff1205c75.

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* IsaiahB/APPEALS-53208 (#22410)

* update mail_task.rb

* added method override for verifying user in correspondence mail task model

* fix spec tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>

* adding all correspondences table (#22415)

* adding all correspondences table

* added jest tests

* spec fix

* Rspec test fixes  (#22411)

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix

* Correspondence Cases page Banner alert for approval and reject request approve request to reassign test fix modifications

* Fix for banner warning message for efolder

* Add skips to MST PACT test to skip temporarily

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* APPEALS-42525 - Update Styling (#22424)

* Sivakesh/Appeals-42642 - Associate Prior Mail to only show Pending or Completed Correspondences (#22374)

* #48957 - Add Correspondences' Status to Intake Form

* #48672 - Added a spec

* #42642 - updated status in spec

* Caceves/appeals 53755 code climate fixes (#22427)

* Code climate fixes initial commit

* Added proptypes to tooltiphelper file

* Jest fixes

* Updated jest snap shots

* Fix for dentical blocks of code being found in multiple locations for radio input field

* Lint fixes

* Jest fixes

* Jest fixes updating the snapshots

* Codeclimate fixes for const props

* testing the duplication error fix for jest

* User tests 'FeatureToggle.enabled?(:correspondence_queue)' at least 3 times

* Add ignore for pdf offense

* Complexity fixes

---------

Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>

* Sivakesh/appeals 51904 - 508: Jaws doesn't read options on the correspondence type dropdown (#22333)

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added aria attributes

* #51904 - added conditional aria label

* #51904 - removed aria attributes

* Remove aria label by

* #51904 - updated snapshots to have aria-label

* #51904 - updated snapshots to have aria-label

* #51904 - updated jest tests

* #51904 - updated jest tests

* #51904 - updated jest tests

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* CodeClimate fixes for User tests 'correspondence_queue_enabled?' at least 3 times (#22444)

* Fix for Inbound Ops Team shows in Assign to team Task action (#22349)

* Fix for Inbound Ops Team shows in Assign to team Task action

* codeclimate fix

* Code climate fix (#22377)

* Code climate fix

* Rubocop fix

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Feature/appeals 43179 (#21665)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-46266, APPEALS-46239: ACD Stats and Slack message updates (#22388)

* APPEALS-42221 Distribution Stats: Break statistics into columns (#21717)

* rebuild branch

* Create 20240506140249_add_cols_to_distribution_stats.rb

* unit tests and linting

* APPEALS-46244, APPEALS-46245 (#22077)

* remove unnecessary reporting

* send slack message to console if on local or demo

* add excluded judges to slack report

* reporting method cleanup

* added affinity date stats to distribution_stats for each docket

* Update docket.rb

* Update distribution_scopes.rb

* unit tests and linting

* unit tests and linting

* Slack message update

* Update push_priority_appeals_to_judges_job.rb

* Update push_priority_appeals_to_judges_job_spec.rb

* code climate and code review changes (#22148)

* code climate and code review changes

* move code out to its own class

* lint fixes

* revert

* disable reek checks

* fix method calls

* Hotfix/appeals 46639 prodtest (#22389)

* Initial commit and turning off queue tab variables used for the frontend pagination for the bulk assign tab for the specialty case team.

* Altered the queue actions to work with the new task selection action and a new redux action to remove tasks from a cached queue state. Also updated queue table to work with the redux caching instead of local state caching.

* Added in task selection function changes to TaskTable to work
with the altered task selection redux action. Also added the ability to pass down the redux cache property to queue table. Refactored the UnassignedCasesPage to allow for backend pagination of queue table instead of only working via frontend loaded data from the redux store.

* Added the queueTableCache reducer slice. Added a :advanced_on_docket trait to the task factory for specialty_case_team_assign_tasks. Added the caching combined reducer to the queue table reducers.

* Moved columnsFromConfig and createColumnObject functions out of QueueTableBuilder.jsx into a utils file so it can be used in multiple components around the app.

* Updated the setSelectionOfTaskOfUser to work with the new action and data that it should be expecting.

* Updated the selectedTasksSelector to work with the new task selection reducer and action.

* Added a parameter for useReduxCache for TaskTable to send down to queue table instead of always setting it to true. Removed some comments from the queueTableCacheSlice removeTaskIdsFromCache reducer method/action. Passed in the new useReduxCache property to TaskTable in the UnassignedCasesPage component for the sct bulk assign queue.

* Removed code out of QueueTableBuilder that is now in queueTableUtils.js.

* Fixed a bug if queueConfig was an empty hash in the UnassignedCasesPage component.

* Serializer optimizations for contested issues and issue categories. Also included request issues in the includes for the sct queue to take advantage of these optimizations.

* Fixed a bug where clear filters was not properly updating the get parameters anymore for queue table.

* Added cavc_type trait to the sct assign task factory.

* Fix code climate issues.

---------

Co-authored-by: = <tyler.broyles@va.gov>

* Updates key on line 63 to the correct value. (#22267)

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* Hotfix/appeals-42846 Fixes incorrect spelling of SupervisorySeniorCounsel across project (#22391)

* Repushing branch to fix CodeClimate and Rspec issue

* Attempt to fix failed Rspec.

* Revert Schema changes

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* consolidate individual RO accessors into a single test for each RO (#22407)

* Revert "Updates key on line 63 to the correct value. (#22267)" (#22417)

This reverts commit def10f5556a8d04b8b8125e00eb35bf0d56d1c8c.

* Revert "Feature/appeals 43179 (#21665)" (#22425)

This reverts commit 7613209eac2913058a6a2c52ddc21194c23ab80f.

* Ki/APPEALS-48371 - Refactor correspondence_cases_spec.rb (#22474)

* APPEALS-48371 - Correspondence Cases Spec Updates

* Moved user/super to helper

* Fix for rubocop violations

---------

Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>

* Div/appeals 42524 (#22471)

* Initial commit for Response letters

* codeclimate fix for correspondence_details_controller

* Fixes the lint issues and removed unnessary code

* Added feature test cases for response letters

* Adding the wait time for spec for get success

* Spec fix by increasing the wait time

* Spec fixes for correspondence details response letter tab

* Spec modification

* Spec modification

* Spec modification

* Adding sleep for the spec helper

* Changing the vist link from helper to spec file

* lint fix

* Codeclimate fixes

* Spec fixes

* Spec fix

* Spec fix

* fixed new props data breaking component

* Fix lint error

* updated labels

* changed docket number to caps

* git redo

* working link

* made changes based on github feedback.

* fixed linter issue

---------

Co-authored-by: IsaiahBar <107133331+IsaiahBar@users.noreply.github.com>
Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>
Co-authored-by: Christopher Aceves <christopher.aceves@va.gov>
Co-authored-by: divyadasari-va <135847343+divyadasari-va@users.noreply.github.com>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: Ki Mau <ki.mau@va.gov>
Co-authored-by: HunJerBAH <Jeremy.Hunton@va.gov>
Co-authored-by: vinner57 <128258952+vinner57@users.noreply.github.com>
Co-authored-by: psivakeshva <168677299+psivakeshva@users.noreply.github.com>
Co-authored-by: divyadasari-va <divya.dasari@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Matt Roth <roth_matthew@bah.com>
Co-authored-by: Brandon Lee Dorner <Brandondorner@yahoo.com>
Co-authored-by: = <tyler.broyles@va.gov>
Co-authored-by: VaForceZ <149601263+VaForceZ@users.noreply.github.com>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-53014 and APPEALS-53057: Correspondence Details Pending Status Doesn't Align with Completed Tab Status (#22368)

* created correspondence statuses and created correspondence status methods.

* work in progress task not related to an appeal method

* updated correspondence status methods

* fixed bug with completed status not showing correctly

* removed old comment

* reverted name change

* work in progress moving logic from correspondence to root task.

* created correspondence status method

* put back in correspondence status check

* added scopes to correspondence task model

* moved root task as source of truth for correspondence status and task management

* fixed correspondence status names

* defined new correspondence task scopes

* created root task test coverage

* added open package action test

* test coverage for task_not_related_to_an_appeal

* updated tasks_not_related_to_an_appeal test

* fixed bug where mail tasks didn't inherit from correspondence and created test coverage.

* created tests for correspondence_status

* added in progress tests

* added completed task status test

* refactored test

* refactored package task check and tests

* refactored completed task tabs

* created logic for user in progress tasks

* refactored assigned tasks tab logic

* reworked unassigned, action required, and pending task tabs in organization queue

* fixed linting issues

* fixed failing correspondence details tests

* created correspondence status traits in seed file

* removed unused attribute check from controller spec

* updated failing tests

* fixed code climate issues

* fixed issue with failing test

* added back in assigned to for correspondence helper

* fix seed data that caused failing intake test

* fixed failing tests on intake_spec

* updated seed data

* reworked assigned tasks tab to not include action required tasks

* freeze active task names

* DRY'ed up the constants in intake processor

* refactored methods for code climate offenses

* resolved code climate issues

* Divya fix for correspondence case timeline actions

* fixed linting errors and added response letter safety opperator

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Create Associated Prior Mail: Can view all associated prior mail  (#22542)

* resolving conflicts with feature branch

* resolving conflicts with feature branch

* resolvong conflicts

* resolving conflicts

* adding the seed data

* fix lint issues

* fix lint errors

* fix rubocop issues

* refactoring code

* fix rubocop issues

* spec fix

---------

Co-authored-by: cacevesva <109166981+cacevesva@users.noreply.github.com>

* Release R2.3.0 FY24Q4.3.0 (#22517)

* Hotfix/appeals 45 2 (#22198)

* Trigger Build

* Update email address from Hearings to Decisions

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>

* APPEALS-46269: Remove the ability to enable proportions code (#22499)

* remove conditional for selecting distribution algorithm

* fix tests which broke when removing the toggle

* Feature/appeals 42187 (#22522)

* cmartine/APPEALS-42621 (#21599)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Fix linter errors

---------

Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

* nrithner/APPEALS-45263 (#21617)

* Add remove_comp_and_pen_intake feature toggle to intakes controller

* Add new compensation and pension removal message to COPY.json

* Disable comp and pen radio buttons if remove_comp_and_pen_intake toggle is on

* Frontend test updates

* Add tooltip checks for review page integration tests

* fix frontend test lint errors

* frontend tests changes

* Add banner for non-vha

* Add banner for VHA employee

* Refactor conditionals

* Refactor logic for banners to display

* Add dangerouslySetHtml to banner

* Add test for no VHA employee

with vha_claim_review_establishment disabled.

* Add VHA employee scenario to display REMOVE_INTAKE_COMP_AND_PEN

* Complete non vha user scenarios

* Complete VHA employee scenarios

* Remove comments

* Fix linter errors

* Remove spaces preceding question marks

* Correct linting errors

---------

Co-authored-by: Chris-Martine <christopher.martine@va.gov>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>

---------

Co-authored-by: Chris-Martine <135330019+Chris-Martine@users.noreply.github.com>
Co-authored-by: kshiflett88 <kodishiflett@gmail.com>
Co-authored-by: root <root@DESKTOP-IBDKNPF>
Co-authored-by: nicorithner-bah <148365039+nicorithner-bah@users.noreply.github.com>
Co-authored-by: Chris-Martine <christopher.martine@va.gov>

* Feature/appeals 51138.rc.4.3.0 (#22523)

* APPEALS-36339 (#21436)

* Updated to remove obsolete levers of ACD Disable Legacy Distributions and ACD Disable Non-priority Distributions

* Fixed redundant linting issue

* Fixed empty line linting issue

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* mbeard/APPEALS-44379 (#21451)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44417 Seeds for Docket Lever Demo (#21534)

Co-authored-by: Christopher Detlef <>

* APPEALS-36345-updated (#21537)

* Refactored exclusion table

* Fixed ordering issue and testing

* mbeard/APPEALS-44379 (#21530)

* init commit

* new questions about method

* method for ready_appeals_from_levers 3rd iteration

* switched to conditional

* updates test and constants file

* adds testing scenarios for edge cases

* fixes test

* adds constants to top of file

* first new commit with new args

* updates methods and test query

* updates age_of_oldest methods params

* cleans up method removes args and updates tests, fixes linting

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-44346 Demo Docket Goal Lever Test Seed Data (#21524)

Co-authored-by: Christopher Detlef <>

* Chrisbdetlef/appeals 40705 (#21535)

* Chris backend Work

* APPEALS-44441. Added initial changes for individual seed

* WIP

* APPEALS-44441. Fixed the table css

* APPEALS-44441. Added Custom and Scenario Seed components and jest tests

* APPEALS-44441. Fix ScenarioSeeds jest test

* APPEALS-44441. Fix CustomeSeeds Jest test

* init commit

* fixes linting issues

* capybara test init

* APPEALS-44441. Backend Integration API changes

* APPEALS-44441_1. Matched the constant keys in the backend

* APPEALS-44441_1. Update the param to match the backend and fixed spec

* APPEALS-44441. lint fixes

* APPEALS-44441. linting fixes

* sharsha/APPEALS-44441. fixed the route and tests

* Change route

* Change variables to match front and back end

* CustomSeed Jest test fix

* Fix issues

* Fix rubocop issues

* Use existing method in the controller

---------

Co-authored-by: Christopher Detlef <>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Michael Beard <michael.beard@va.gov>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 (#21566)

* Fixed rspec failures on constants

* APPEALS-45531. Remove dead code

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Updated lever history to handle null unit values from docket levers (#21567)

Co-authored-by: 631966 <amy.detwiler@va.gov>

* Sharsha/appeals 45531_1 (#21573)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Sharsha/appeals 45531 1 (#21609)

* APPEALS-45531. Add the controller which is used in the route

* APPEALS-45531. Fix lint issue

* Remove access check for this iteration

* APPEALS-45531. Fix lint issue in controller

* TEST FOR FIX

* MORE TESTING

* Fixed rspec issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Christopher Detlef <>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45502. Organize route and fix the controller (#21595)

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* Ricky/APPEALS-36345.fixes (#21612)

* Updated lever history to handle null unit values from docket levers

* Updated member view of exclusion table with proper text display and fixed missing css

* Updated unit test and test data to test rendering of exclusionTable

---------

Co-authored-by: 631966 <amy.detwiler@va.gov>

* ricky/APPEALS-44053 (#21587)

* init commit, adds conditional to check for docket_type ama to method, fixes json constants to snakecase

* puts statements testing

* updates seeds for evidence_submission, adds method to hearing_request_docket.rb and dist_concern.rb

* updated appeals dsit

* final fix for PR

* updates spec to reflect changes in hearing_request_docket

* uncomments seeds

* Ricky/appeals 43523 (#21649)

* Added Assignment Queue link to Switch Users test page

* Updated controller to validate role and redirect

* Updated error information

* Updated rspec tests

---------

Co-authored-by: 631068 <rickybmanus@gmail.com>

* APPEALS-45898. Updated the lever_group_order values (#21639)

* APPEALS-45898. Updated the lever_group_order values

* APPEALS-45898. Updated order of the evidence submission priority and non-priority

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-40646 (#21645)

* Init commit

* adds methods and useffect first pass

* fixes isIdle warning

* removes important from scss

* refined handleToggleChange method

* updates font color for h4

* adds keys to the td and fixed proptype for loadAcdExcludeFromAffinity in casedistributionapp

* Chrisbdetlef/appeals 43117.cleanup (#21671)

* APPEALS-43421: Attorney Selection Sticking on Dropdown after Assignment (#21401)

* redo init commit

* updated imp. logic

* attorney widget fix

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Add ruby CE API Gem

* remove correspondence changes from schema.rb (#21468)

* Revert "Add ruby CE API Gem" (#21479)

This reverts commit c78afe30620716d59d2ac31ad6eed71585d78a98.

* Override SCT Bulk Assign Page task limit (#21465)

* Override SCT Bulk Assign Queue 15 case limit & Adjust SCT attorney assign task action label

* feature/APPEALS-35707-29633-29632 (prodtest) (#21485)

* 🔀 Squash merge AlecK/APPEALS-35707 - Replace `database_cleaner` with `database_cleaner-active_record`

* 🔀 Squash merge jcroteau/APPEALS-29632-fix-deprecation-action-view-base-instances

* 🔀 Squash merge jcroteau/APPEALS-29633-fix-deprecation-warning-active_record-result-to_hash

* feature/APPEALS-44871 Steps for installing node in the Caseflow demo environment  (#21483) (#21484)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Revert "feature/APPEALS-44871 Steps for installing node in the Caseflow demo …" (#21489)

This reverts commit a6262001f9bedabca60598c82bfe1b803f0f16c7.

* Sbashamoni/appeals 44871 node14 demo fixes (#21490) (#21495)

* Changed dockerfile to install node through NVM

* Update env.sh with node 14.20 path

* Removed unused node env

* Update Dockerfile Removed unused node env variable

* Removed unused node env

* add error rules to demo builds (#21496) (#21498)

Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>

* APPEALS-43117 Add QA Users for testing

* Fix rspecs

* Fix issues with attorneys and judge teams

* Fix org count

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: youfoundmanesh <maneshreddy.kommidi@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: davis-dwayne <47563178+davis-dwayne@users.noreply.github.com>
Co-authored-by: Christopher Detlef <>

* Minor fixes (#21694)

* Minor fixes

* Fix rspec tests and properly check for judge css id

* Fix lint issue

---------

Co-authored-by: Christopher Detlef <>

* Fix Legacy Case issues (#21747)

Co-authored-by: Christopher Detlef <>

* APPEALS-46037. Fix padding in the lever history table (#21725)

* APPEALS-46037. Fix padding in the lever history table

* APPEALS-46037. Fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Fix Lauren Roth issue (#21813)

* Users with a VACOLS::Staff entry no longer get created with the default name of Lauren Roth

Co-authored-by: Christopher Detlef <>

* ricky/APPEALS-44044 (#21814)

* first pass at legacy_docket method and spec

* second iteration of legacy_docket and spec

* adds method to age_of_oldest methods and updates test scenarios

* Updated testing and expanded method missing logic

* Updated legacy_docket_spec file and tests

* Updated boolean logic, updated rspecs and factories

* Updated rspec tests to include factories

* updates docket_spec line 317 and factory for disable_ama_non_priority_direct_review

---------

Co-authored-by: Michael Beard <michael.beard@va.gov>

* updates ready_priority_nonpriority_appeals to public_send, updates test (#21844)

* APPEALS-36333 first iteration of docket time goal and prior to goal (#21523)

* APPEALS-36333 first iteration of docket time goal and prior to goal

* APPEALS-36333 address pr comments and moved the logic to docket model

* APPEALS-36333 Added specs for docket and hearing request docket models

* refactored code and moved it to distribution scopes

* APPEALS-36333 address pr comments and refactor code

* APPEALS-43996 updated lever name in all the required files to fix spec failures

* APPEALS-44000 revert hearing request docket model changes to keept it in sync with feature

* APPEALS-44000 updated hearing request docket model specs

* APPEALS-44000 fixed jest tests

* APPEALS-44000 fixed broken rspecs

* APPEALS-43996 fix rubocop warnings

* APPEALS-43996 fix push priority job spec failures

* APPEALS-43996 Updated case distribution lever and docker model and refactor specs

* APPEALS-43996 added rake task to update case distribution lever item in db

* APPEALS-43996 update docket model to handle the scenario when the lever being disabled by a user via the UI

* APPEALS-43996 update section title

* APPEALS-43996 revert rake task

* APPEALS-43996 add new factories to case distribution lever and fix spec failures

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks (#21834)

* APPEALS-45191. Added columns to the appeals ready to distribute query and made some tweaks

* APPEALS-45191. Refactor and fix lint issues

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* refactor the logic and fix docket spec failures

* changed the call times to 3 times

* APPEALS-36333 fixed the docket time goal to check the existence of the item before using the public send to get the value

---------

Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com>
Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: 631966 <amy.detwiler@va.gov>

* updated the seeds to align with the work completed

* Updated Toggle Switch behavior when clicked while idle (#21874)

* Csv research (#21892)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

* csv and etc

* CSS for buttons

* jest tests for the reducer and action types

* Jest test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-46057. CleanUP (#21914)

* more jest tests

* Disable scenario seeds

* Lint fixes

* APPEALS-46057. disable all scenario seeds

* APPEALS-46057. Refactor the TestSeed wrapper to be a functional component and fixed jest test

* APPEALS-46057. Jest job in GHA complaining on test

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* updates line of test to correctly build lever item (#21918)

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-45191. Updated the query to return the date based on the calculation (#21928)

* APPEALS-45191. Updated the query to return the date based on the calculation

* APPEALS-45191. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisharsha/appeals 43962 (#21929)

* Sharsha/appeals-44911_1 (#21784)

* APPEALS-44911. Change the pure react components to functional components

* APPEALS-44911. Redux implementation

* APPEALS-44911. CSS changes for custom seed preview

* APPEALS-44911. tweak css

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Chrisbdetlef/appeals 44910 (#21838)

* Initial

* Add JSON parsing and multiple calls to rake tasks

* Pre-caby tets

* Add capybara tests and add IDs to buttons

---------

Co-authored-by: Christopher Detlef <>

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>
Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com>

* APPEALS-43962. Lint fixes (#21932)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* Ricky/APPEALS-47293 (#21925)

* First pass implementation of fixing seeding rspecs

* Second pass at fixing errors in rspecs

* Revert updates to test if rspec passes

* Fixed linting issues in test_docket_seeds_controller_spec

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-48292 updated the column to be a string (#21954)

* APPEALS-48292 updated the column to be a string

* APPEALS-48292 added comment to the control_group field in the migration

* APPEALS-48292 added column comment to the schema, changed migration so that it can be rolled back

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false (#21948)

* APPEALS-48598 fix logic when Start Distribution Prior to Docket Time Goal toggle is false

* APPEALS-49004 added spec to check when Start Distribution Prior to Docket Time Goal toggle is on

* APPEALS-49004 fixed lint issues in docket.rb

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query (#21949)

* APPEALS-48898. Created Distributable AMA Non-priority Appeals Query

* APPEALS-48898. Renamed the column and update the method

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-46257 (#21976)

* updates routes and frontend urls to namespace

* removes superfluous <a> tags

* Ensure that legacy appeals are being created (#21981)

* Ensure that legacy appeals are being created

* Remove puts

---------

Co-authored-by: Christopher Detlef <>

* APPEALS-49403. Added buttons Docket Lever Seed (#21989)

* APPEALS-49403. Added buttons Docket Lever Seed

* sharsha/APPEALS-49403. Updated the endpoint URL path

* APPEALS-49403. Lint fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-44000 added check to skip priority appeals in docket model (#21992)

* Feature/appeals 36234 masterupgrade (#22003)

* sbashamoni/APPEALS-43724 Node 16 version upgrade changes (#21966) (#21975)

* Update node verstion to 16 in git workflow

* Update node verstion to 16 in nvm and dockerfile for demo

* Update node version in yarn.lock and package.json and .nvmrc file

* Update node's version path to node16 in docker-bin/env.sh

* Update and upgrade to node16 in client

* More updates to yarn.lock and package.json

* Fix tests by Adam Shaw

* Upadate snapshot for ScheduleVeteran.test.js.snap

* Doing some code clean up

* Doiing some more clean up

* Add and remove spaces to match master

* One more space to take care of

* One more space to take care of again

* One more space to take care of again

---------

Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* init master merge branch

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: ramon-chavez <Ramon.Chavez@va.gov>

* Remove AOD trait from non-priority legacy appeal creation (#22013)

Co-authored-by: Christopher Detlef <>

* Sharsha/appeals 49461 (#22018)

* sharsha/APPEALS-49461. initial commit

* sharsha/APPEALS-49461. fix

---------

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49421 (#22014)

* init commit fixes ama_np_ capybara test to expect user as admin, and first attempt  test_docket_seeds test

* removes previous chane for TASKS_LOADED

* fixes capybara for test seeds controller button ids

---------

Co-authored-by: Amy Detwiler <133032208+amybids@users.noreply.github.com>

* APPEALS-49403. Updated the buttons label (#22025)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* mbeard/APPEALS-49585 (#22020)

* init commit for non member view input

* fixes css issue for docket-lever-right

* Added a hyphen between value and unit for member only view

* replaces hyphen with comma

* Init commit replaces th with div for 508 compliance (#22036)

* Chrisbdetlef/appeals 47008 1 (#22040)

* Allow judges to see legacy cases and attorneys to be assigned cases

* Remove testing function

* Update spec to reflect new user count in seed file

---------

Co-authored-by: Christopher Detlef <>

* got rid of extraneous file

* got rid of yarn lock orig

* APPEALS-50734. Remove Legacy appeals from the query (#22071)

Co-authored-by: SHarshain <spoosa@razortalent.com>

* APPEALS-46087 fix css table width issues for case distribution lever history table (#22024)

* Feature/appeals 36234.merge master.20240701 (#22075)

* APPEALS-47277 remove Vegas office (#21876)

* APPEALS-47277 remove Vagas office

* Removed Texas ID from other files and updated tests

* Snapshot update

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* hotfix/APPEALS-22403 (#21942)

* add identifier for filenumber or ssn in filenumber search

* linting

* codeclimate linting

* update match call to return boolean

---------

Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>

* APPEALS-46907: Update to Determination of Gen Pop Legacy Cases (#21986)

* Isaiah/merge 46910 (#21983)

* removed BFHINES checks and modified tests

* removed lingering bfhines test

* modified test

* most recent updates on tests for passing status

* removed refs to cavc updates

* Skip flaky test ro_viewhearsched_spec

---------

Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* APPEALS-44916: Case Distribution Affinity Calculations (#21899)

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* remove unnecessarily included module from job (#21827)

* APPEALS-47211: Improve Performance of Distribution Queries (#21840)

* rework ready_for_distribution scope

* fix non-hearing docket distribution bug

* restart tests

* added null checks for appeal affinity in distribution queries, update tests (#21893)

* add check for appeal being active to distribution and associated slack message (#21902)

* Update users_spec.rb

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* hotfix/APPEALS-45177: TaskTable Default Sorting Fix (#21772)

* Updated the TaskTable component to use the defaultSort property instead of the defaultSortIdx property for queue table since that property is not used anywhere. Added a default sorting hash to the UnassignedCasesPage component and now pass that down to TaskTable. Removed references to defaultSortIdx.

* Added the type column default sort to the AssignedCasesPage widget as well.

* Added a parenthesis for clarity around a boolean. Moved the defaultSortingHash out into a constants file.

---------

Co-authored-by: Robert Travis Pierce <robert@roberttravispierce.com>

* APPEALS-47106 Caseflow Swagger (#21993)

* Add Rswag and convert existing API documentation (#21778)

* add rswag

* Update Gemfile.lock

* Setup yaml UI

* remove and reroute old swagger files

* update format and servers values

* Update route_docs_controller.rb

* Update cmp_controller.rb

* cmp endpoint yaml

* cmp endpoint to return 501

* CMP endpoint swagger flies

* update swagger files

* adjust server order, add auth token

* cmp parameter name change

* add comments

* Update users_controller.rb

* unit tests and linting

* lint fixes

* Update swagger_helper.rb

* APPEALS-48048 Swagger Updates (#21909)

* update servers to not include a host

* remove host for server

* remove generated swaggers from definitions

* remove internal API endpoints from having generated swagger

* IDT servers fixes

* disable CMP swagger in prod and prodtest

* set authorization correctly

* fix what is required for CMP upload

* fix linting issues, update lint rake task to autocorrect for rubocop, add rubocop make command

* Update decision_reviews.yaml

* Update ama_issues.yaml

* Update vacols_issues.yaml

* Update swagger.yaml

* fix check failures

* Update docs_controller_spec.rb

* fix unit tests

* Update fetch_all_active_legacy_appeals_job_spec.rb

* Update rswag_ui.rb

* Update lint.rake

* Update decision_reviews_spec.rb

* Update fetch_all_active_legacy_a…
craigrva added a commit that referenced this pull request Sep 3, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
AdamShawBAH pushed a commit that referenced this pull request Sep 9, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
craigrva added a commit that referenced this pull request Sep 16, 2024
…ld after Remand (#22698)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* restore Gemfile.lock platform to ruby

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
msteele96 added a commit that referenced this pull request Sep 16, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Remove transaction_wrapper

* Remove extra newline

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-51045: Remove ReceiveNotificationJob (#22207)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* MattT/APPEALS-51115: Initialize FIFO SQS Queues Locally (#22182)

* Set local env to utilize FIFO queues where appropriate

FIFO queues are configured with the same attributes as our queues in higher environments.

* Resolve failing test

* Remove defunct test

* Update make commands

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* APPEALS-51847: Institute Database Migration for Establishing 'sms_status_reason' and 'email_status_reason' Columns (#22208)

* adding and running migration

* adding comments to migration and re running db:migrate

* pushing up original scheam

* committing schema

* small edit to migration and deleting unnecessary columns from schema

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Fix rubocop and tests (#22231)

* removing job and all mentions of job (#22212)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51059: Alter Select Quarterly Statuses (#22239)

* Alter status messages

* Save more info in fake response

* Swap keys

* Add missing param

* Test fixes. Also, setting appeal_docketed to false whenever appeals are decided or cancelled

* Fix fasterer issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51101: Rewrite ProcessNotificationStatusUpdateJob to Consume Messages from an SQS Queue (#22247)

* Update fake response body

* Try enabling localstack in CI

* Init SqsService and alter most/all of the ProcessNotificationStatusUpdatesJob

* Create SQS queues in test env

* Change port formatting

* Mount docker socket

* Try localstack hostname

* Wait for localstack in CI

* Add more yarddoc comments

* Log errors and number of messages processed

* Add custom error classes

* Add yarddoc comments to SqsService class

* Create SqsService spec file

* Redo much of ProcessNotificationStatusUpdatesJob's spec file

* Disable line length checks for yarddoc comments

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-51087: Rewrite Api::V1::VaNotifyController#notification_update Controller Action to No Longer Utilize Redis (#22295)

* initial push

* rubocop'n

* fixing tests?

* rubocop'n

* addressing most of matt's comments

* removing yard doc files and keeping comment

* rubocop

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Remove extra attribute

* Fix incorrect log counts

* Fix log statement

* Fix typo

* APPEALS-53603: Modify logic to always show recipient information if present (#22414)

* initial commit

* making rspec tests happy

* linting

* adding tests back and refactoring

* small char error

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Sync decided appeals with states table (#22434)

* APPEALS-52882 Sync decided appeals decision_mailed status

* APPEALS-52882 Fix lint issues

* APPEALS-52882 Fix codeclimate issues

* APPEALS-52882 Address PR feedback

* APPEALS-52882 Address PR feedback

* Jcohen/APPEALS-52861 (#22450)

* APPEALS-52861 Bug fix implemented.

* APPEALS-52861 cleaned up some code through aliasing a common method name between appeal_types, eliminating a check that we do in the AppealDecisionMailed module.

* APPEALS-52861 fixed method name error.

* APPEALS-52861 fixed some tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted, included case statement.

* APPEALS-52861 moved case statement to another file to be the boolean check for constested status on an appeal.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-52892: For all legacy appeal states/notifications check status in VACOLS (#22455)

* initial commit

* addressing comments

* small change

* making tests
happy

* fixing spec tests

* rubocop'n

* reverting

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* APPEALS-55159: Parameter Requirements Are Too Stringent Given What We Will Expect from VA Notify (#22561)

* APPEALS-55159

* updating tests

* APPEALS-55159 Refactor permitted and required params

* APPEALS-55159 Fix linting issue

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: msteele <Marc.Steele@va.gov>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Adding rake task to sync decided appeals (#22492)

* APPEALS-52872 Add rake task to sync decided appeals

* APPEALS-52872 Remove byebug

* APPEALS-52872 Fixing lint errors

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Fix ENV variable update

* APPEALS-52872 Parallelizing AppealState updates

* APPEALS-52872 Remove byebug

---------

Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Prevent Prodtest from contacting VA Notify Staging (#22629)

* APPEALS-54918 Update VA Notify fake service and initializer

* APPEALS-54918 Add CASEFLOW_BASE_URL env var in demo/dev

* APPEALS-54918 Add seed file for API Key and added to main seed execution

* APPEALS-54918 Add missing argument to method definition

* APPEALS-54918 Update "to" params and fix linting issues

* APPEALS-54918 Prevent post requests in test env

* Rename ApiKeys seed file

* Fix linting error on require statement

* Add argument for call within sync_review_job.rb and minor refactor

* Inherit seed from base, align with AMA for seed file placement

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22776)

* 🔧 Assume defaults for `config.action_dispatch.use_cookies_with_metadata` and `config.action_mailer.delivery_job`

The following config settings are not backwards compatible:

- config.action_dispatch.use_cookies_with_metadata
- config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

* ✅ Fix flakey spec

* 🔧 Assume default for `config.action_dispatch.use_authenticated_cookie_encryption`

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

* ⏪️ Restore overrides for `config.action_dispatch.use_authenticated_cookie_encryption` and `config.action_dispatch.use_cookies_with_metadata`

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

* ✨ Add new utility module for adding DB indexes concurrently

Introduces `Caseflow::Migrations::AddIndexConcurrently` as a replacement
for `Caseflow::Migration` for migrations on ActiveRecord 6.0 and beyond,
since `Caseflow::Migration` is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

* 🗑️ Deprecate `Caseflow::Migration`

* 🔧 Add instructive error message for non-concurrent `add_index` migrations

* 🚨 Address linter / codeclimate complaints

* ✨ Introduce `SslRedirectExclusionPolicy`

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when `config. force_ssl = true`

* ♻️ Replace deprecated controller-level `force_ssl`

Replace deprecated controller-level `force_ssl` with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

* 🔥 Remove deprecated config setting `config.active_record.sqlite3.represent_boolean_as_integer`

This will have no implications for Caseflow, since we are only using the `sqlite3`
adapter nominally for the `demo_vacols` database, which is not actually being used
in our demo environments (demo environments are deployed as `development` envs).

* ⬆️ Update `caseflow-commons` to resolve sub-dependency conflicts

Removes unneeded gems `bourbon` and `neat`, which had a sub-dependency conflict on `thor`.

* ⬆️ Update rails and other gems as necessary

* 🐛 Fix 'uninitialized constant' error when loading app

* ⬆️ bin/rails app:update - Apply relevant changes

* 🔧 Override default for `config.active_record.has_many_inversing`

* 🔧 Assume default for `config.active_storage.track_variants`

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

* 🔧 Override default for `config.active_job.retry_jitter`

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

* 🔧 Assume default for `config.active_job.skip_after_callbacks_if_terminated`

We're not currently using `throw :abort` within any `before_enqueue`/`before_perform` 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

* 🔧 Assume default for `config.action_dispatch.cookies_same_site_protection`

This setting controls the `SameSite` optional attribute for the
`Set-Cookie` header.

`SameSite=Lax` means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

`Lax` is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow  across origins).

For more background, see
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
- https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#1f15

* 🔧 Assume default for `config.action_controller.urlsafe_csrf_tokens`

* 🔧 Assume default for `ActiveSupport.utc_to_local_returns_utc_offset_times`

We're not using `ActiveSupport::TimeZone.utc_to_local` anywhere,
so the default is safe to assume here.

* 🔧 Assume default for `config.action_dispatch.ssl_default_redirect_status`

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

* 🔧 Assume default for `config.active_record.legacy_connection_handling`

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

* 🔧 Assume default for `config.action_view.form_with_generates_remote_forms`

We don't use the `form_with` helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

* 🔧 Assume default for `config.active_storage.queues.analysis`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.active_storage.queues.purge`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.incineration`

We don't use ActionMailbox, so the new default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.routing`

We do not use ActionMailbox, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailer.deliver_later_queue_name`

We're not using `ActionMailer::MessageDelivery #deliver_later` anywhere,
so the default is safe to assume.

* 🔧 Assume default for `config.action_view.preload_links_header`

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in `development` environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

* 🔥 Remove 'new_framework_defaults_6_1.rb'

* 🔧 Load defaults for Rails 6.1

* ♻️ Extract constant

* ♻️ Migrate to new Rails deprecation config where applicable

* ♻️ Push members down now that there is only one subclass

* 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

* 💡 Update comment

Task `rake routes` has been replaced with `rails routes`

* ✅ Update test to account for change to `ActionDispatch::Response#content_type` 

`ActionDispatch::Response#content_type` now returns the full Content-Type header

* 🚨 Exclude 'config.ru' from Rubocop cops

* 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

* 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

* ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

* 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

* 🔧 Add etl migration paths to DB config

* 🔧 Update DB connection names in 'database_cleaner' config

* ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as `rake db:migrate`
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

* ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

* 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. `rake db:migrate` will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

* ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain `sed` gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

* 💚 Remove redundant DB migrations from CI workflow

Task `db:schema:load` already loads the checked in schema,
so there should be no need to run `db:migrate` afterwards.

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `NoMethodError`

Addresses the following error:

  NoMethodError: undefined method `build_lookup_context' for ActionView::Base:Class

* 🐛 Fix `spec/workflows/post_decision_motion_updater_spec.rb` - `FrozenError`

Addresses the following error:

  FrozenError: can't modify frozen Hash: {}

* ✅ Add test for `RoSchedulePeriod`

* 🐛 Fix `spec/models/schedule_period_spec.rb` - `ActiveRecord::RecordInvalid`

Apparently, there were some changes to the inner workings of
`ActiveModel::Errors` in Rails 6.1, causing a model to be
considered invalid in the case that `errors[:base] == [[]]`.
This makes sense, as `[[]]` is not considered "empty".

Unfortunately, this was causing `RoSchedulePeriod #validate_spreadsheet`
to inadvertently mark the model as invalid upon creation.
`HearingSchedule::ValidateRoSpreadsheet #validate` returns an
empty array (`[]`) when valid, which gets pushes onto the
`RoSchedulePeriod` `errors[:base]` array, resulting in a
non-empty array (`[[]]`) and an erroneously invalid disposition.

Furthermore, calling `<<` to an `ActiveModel::Errors` message array
in order to add an error is a deprecated, so we can take this
opportunity to use the new `#add` API to hit two birds with one stone.

The change implemented here is not a pure refactoring, however the
end-user experience is unchanged in terms of how errors are presented
when attempting to upload a spreadsheet with multiple non-conformities.

Down the road, we may want to consider moving
`HearingSchedule::ValidateRoSpreadsheet` toward using
`ActiveModel::Validations` in order to leverage the
full `ActiveModel::Errors` API and construct the
errors object in the prescribed manner.

For more details see
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Validations.html
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Errors.html

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `ActionView::Template::Error`

* ✅ Fix `spec/models/veteran_spec.rb`

* ✅ Fix `spec/sql/ama_cases_sql_spec.rb`

Addresses failures such as the below:

  0) AMA Cases Tableau data source expected report calculates age and AOD based on person.dob
     Failure/Error: expect(aod_case["aod_veteran.age"]).to eq("76")

       expected: "76"
            got: 0.76e2

* ✅ Fix multiple specs - `Minitest::UnexpectedError`

Test helper method `#perform_enqueued_jobs` now wraps exceptions
in an `Minitest::UnexpectedError`:

https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activejob/lib/active_job/test_helper.rb#L591

So, to assert that a specific
exception is raised during execution of the `#perform_enqueued_jobs`
block, we must rescue the `Minitest::UnexpectedError` and make the
assertion on its error message instead.

* ✅ Fix `spec/lib/helpers/association_wrapper_spec.rb`

* ✅ Fix `spec/controllers/api/v1/jobs_controller_spec.rb`

In Rails 6.1, `ActiveJob #perform_now` was changed to
behave as it did once before (at the behest of GitHub),
returning the value fo the job instead of true/false.

See related GH issue: rails/rails#38040

* 🐛 Fix `spec/controllers/appeals_controller_spec.rb` - `NoMethodError`

Addresses error:

  NoMethodError: undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>

  0) AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: errors: errors.messages[:workflow],

     NoMethodError:
       undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>
     # ./app/workflows/case_search_results_base.rb:31:in `search_call'

* 🐛 Fix `CaseSearchResultsBase` validations

Addresses test failures in `spec/controllers/appeals_controller_spec.rb`
similar to the below:

  AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: expect(response_body["errors"][0]["title"]).to eq "Veteran file number missing"

       expected: "Veteran file number missing"
            got: nil

Using `ActiveModel::Errors` to store error data in an arbitrary format may have been
somewhat permissible in the past, but it is an abuse of the object's intended use and is
also proving incompatible with the more formalized `ActiveModels::Errors` API in Rails 6.1.

In order to preserve the existing response shape of the affected JSON endpoints,
we need to move away from the `ActiveModel::Validations` implementation on `CaseSearchResultsBase`
(and its descendent classes) to a more bespoke method of performing validations and aggregating
errors, since Rails 6.1 `ActiveModel::Errors` is no longer appropriate for  our needs here.

* ✅ Fix `spec/controllers/application_controller_spec.rb` -- Cache-Control error

Addresses the test failure below:

    ApplicationController no cache headers when toggle set sets Cache-Control etc
     Failure/Error: expect(response.headers["Cache-Control"]).to eq "no-cache, no-store"

       expected: "no-cache, no-store"
            got: "no-store"

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:59:in `block (4 levels) in <top (required)>'

In Rails 6.1, the `no-store` directive is exclusive of any others
that are set on the `Cache-Control` header, which makes sense given
the specification https://datatracker.ietf.org/doc/html/rfc7234#section-3

This change was implemented in PR rails/rails#39461

Since it no longer makese sense to set both `no-store` and `no-cache` directives,
we will only set `no-store` here, as that is the stronger of the two.

* 🐛 Fix multiple specs - `ActiveRecord::EagerLoadPolymorphicError`

Addresses multiple test failures caused by the error below:

  QueueConfig.to_hash title when assigned to an org is formatted as expected
     Failure/Error:
       tasks.with_assignees.group("assignees.display_name").count(:all).each_pair.map do |option, count|
         label = self.class.format_option_label(option, count)
         self.class.filter_option_hash(option, label)
       end

     ActiveRecord::EagerLoadPolymorphicError:
       Cannot eagerly load the polymorphic association :appeal
     # ./app/models/queue_column.rb:110:in `assignee_options'

* 🐛 Fix `spec/models/task_spec.rb` - `update_all` clears query cache

In Rails 6.1.7.7, the method `ActiveRecord::Relation #update_all`
will now clear any records cached by the calling relation.

This was altering the behavior of `Task #cancel_task_and_child_subtasks`
and causing the following test failure:

  Task#cancel_task_and_child_subtasks cancels all tasks and child subtasks
     Failure/Error: expect(second_level_tasks[0].versions.count).to eq(initial_versions + 2)

       expected: 3
            got: 2

       (compared using ==)
     # ./spec/models/task_spec.rb:368:in `block (3 levels) in <top (required)>'

To remedy, we will now cache the necessary Task records in an Array, which can
be used for generating PaperTrail versions both before and after the `update_all`.

* 🐛 Fix `spec/services/hearings/calendar_service_spec.rb` - template rendering error

Addresses the following test failure:

  Hearings::CalendarService.confirmation_calendar_invite returns appropriate iCalendar event
     Failure/Error: expect(ical_event.description).to eq(expected_description)

       expected: "You're scheduled for a virtual hearing with a Veterans Law Judge of the Board of Veterans' Appeals.\...to reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n"
            got: #<Icalendar::Values::Text("You're scheduled for a virtual hearing with a Veterans Law Judge of the Bo... reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n")>

* 🐛 Fix YAML syntax error caused by whitespace in ENV var

Address the following error, found during demo deployment:

  rake aborted!
  Cannot load database configuration:
  YAML syntax error occurred while parsing /caseflow/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 49 column 5

* ⬆️ Update `caseflow-commons` dependency to latest ref

Removes `bourbon` and `neat` dependencies.

* APPEALS-57351 Inactive Appeal Errors present when outcoding an appeal (#22721)

* APPEALS-57351 add template name check to handle errors

* APPEALS-57351 Add template_name argument to spec tests

* Update app/models/prepend/va_notify/appellant_notification.rb

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-57351 Partial rspec updates, pushed before handing off

* APPEALS-57351 Add specs requested during review

* Update spec/controllers/idt/api/v2/appeals_controller_spec.rb

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* feature/APPEALS-50882 - Open Telemetry configuration and implementation (#22787)

* feature/appeals-45972 (#21950)

* Remove UUID from attrs sent_to metrics. (#21630)

* Remove UUID from attrs sent_to metrics.

* pushing with some linting issues for visibility.

* Change config implementation.

* Remove UUID from spec

* remove uuid from update_appellant job

* diable rubocop for open_telemetry init

* OTEL fixes

* rescue, errors

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* add otel reqs

* Remove throw

* comment out otel file loop

* try vendor suggested config

* update otel config to match vendor

* update pg gem

* otel include dt_host file

* otel require bundler and rubygems

* otel subset of instrumentation

* Revert "update pg gem"

This reverts commit fc1a45d.

* update redis and minimize otel instrumentation to just rails, rack, and activerecord

* otel add use_all except pg and redis

* otel require instruments

* otel fix typo

* otel fix typo

* otel comment out net_http

* otel silence aws sdk internals

* otel silence aws sdk internals

* otel add net http

* Individually use OTEL instruments (#22082)

* Individually use OTEL instruments
with options.

* disable AwsSdk only. Checking Rack options.

* re-require awssdk even while disabled.

* disable awssdk

* disable datadog for testing

* change sequence factory to properly seed

* updated opentelemetry and datadog configs

* rack context getter initalizer

* use one at a time

* add curly braces

* Revert change

* revert change

* Revert change

* Revert change

* Remove gemfile grouping

* Remove datadog.

* ActionPack and Actionview changes

* APPEALS-44287: Excluding disposition held and select that appeal for distribution  (#22277)

* first run at an SQL query removing duplicate appeals from distribution

* code refactor and excluding disposition held and select that appeal for distribution

* automated test for the duplicate hearing bug

* fix rubocop offense SpaceInsideBlockBraces

---------

Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Update bundler to 2.4.22

* Updating OTEL to use all and remove new relic gem

* Remove calls to new relic

* removed id attrs in metrics service calls that were causing dimension errors

* Update config for otel

* Reorder gems to fix linting issues

* Updating config and refactoring verbose gems to add all

* Reinstall gems

* Adding all instruments

* Update config to only include basic instruments

* Update Gemfile.lock

* Adding rake to gemfile

* Adding instruments

* Comment out PG and ActiveSupport

* Suppress AWS logs

* Remove redis and turn on actionview

* Turn actionview off

* Add Redis instrumentation back

* Turn ActionPack back on

* Disable Redis

* Remove mentions of Datadog

* Removed extra mentions of Datadog

* removed newrelic references and yml file

* Test updating workflow

* Revert workflow change

* Adding simplecov back

* Fixing linting error

* Removing by: attribute after removing keyword in metric service

* Adding simplecov lcov gem and updating workflow

* Update workflow

* Updating simplecov

* Revert simple cov

* Adding featureenvy skip for reek

* Update service name. (#22762)

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>

* Remove unused variable with lint error. Re-introduce cert fixes

* Remove references to x86

* Revert "Remove references to x86"

This reverts commit fda290d.

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>
AdamShawBAH pushed a commit that referenced this pull request Sep 20, 2024
…ld after Remand (#22698)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* restore Gemfile.lock platform to ruby

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
AdamShawBAH pushed a commit that referenced this pull request Sep 20, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Remove transaction_wrapper

* Remove extra newline

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-51045: Remove ReceiveNotificationJob (#22207)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* MattT/APPEALS-51115: Initialize FIFO SQS Queues Locally (#22182)

* Set local env to utilize FIFO queues where appropriate

FIFO queues are configured with the same attributes as our queues in higher environments.

* Resolve failing test

* Remove defunct test

* Update make commands

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* APPEALS-51847: Institute Database Migration for Establishing 'sms_status_reason' and 'email_status_reason' Columns (#22208)

* adding and running migration

* adding comments to migration and re running db:migrate

* pushing up original scheam

* committing schema

* small edit to migration and deleting unnecessary columns from schema

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Fix rubocop and tests (#22231)

* removing job and all mentions of job (#22212)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51059: Alter Select Quarterly Statuses (#22239)

* Alter status messages

* Save more info in fake response

* Swap keys

* Add missing param

* Test fixes. Also, setting appeal_docketed to false whenever appeals are decided or cancelled

* Fix fasterer issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51101: Rewrite ProcessNotificationStatusUpdateJob to Consume Messages from an SQS Queue (#22247)

* Update fake response body

* Try enabling localstack in CI

* Init SqsService and alter most/all of the ProcessNotificationStatusUpdatesJob

* Create SQS queues in test env

* Change port formatting

* Mount docker socket

* Try localstack hostname

* Wait for localstack in CI

* Add more yarddoc comments

* Log errors and number of messages processed

* Add custom error classes

* Add yarddoc comments to SqsService class

* Create SqsService spec file

* Redo much of ProcessNotificationStatusUpdatesJob's spec file

* Disable line length checks for yarddoc comments

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-51087: Rewrite Api::V1::VaNotifyController#notification_update Controller Action to No Longer Utilize Redis (#22295)

* initial push

* rubocop'n

* fixing tests?

* rubocop'n

* addressing most of matt's comments

* removing yard doc files and keeping comment

* rubocop

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Remove extra attribute

* Fix incorrect log counts

* Fix log statement

* Fix typo

* APPEALS-53603: Modify logic to always show recipient information if present (#22414)

* initial commit

* making rspec tests happy

* linting

* adding tests back and refactoring

* small char error

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Sync decided appeals with states table (#22434)

* APPEALS-52882 Sync decided appeals decision_mailed status

* APPEALS-52882 Fix lint issues

* APPEALS-52882 Fix codeclimate issues

* APPEALS-52882 Address PR feedback

* APPEALS-52882 Address PR feedback

* Jcohen/APPEALS-52861 (#22450)

* APPEALS-52861 Bug fix implemented.

* APPEALS-52861 cleaned up some code through aliasing a common method name between appeal_types, eliminating a check that we do in the AppealDecisionMailed module.

* APPEALS-52861 fixed method name error.

* APPEALS-52861 fixed some tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted, included case statement.

* APPEALS-52861 moved case statement to another file to be the boolean check for constested status on an appeal.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-52892: For all legacy appeal states/notifications check status in VACOLS (#22455)

* initial commit

* addressing comments

* small change

* making tests
happy

* fixing spec tests

* rubocop'n

* reverting

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* APPEALS-55159: Parameter Requirements Are Too Stringent Given What We Will Expect from VA Notify (#22561)

* APPEALS-55159

* updating tests

* APPEALS-55159 Refactor permitted and required params

* APPEALS-55159 Fix linting issue

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: msteele <Marc.Steele@va.gov>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Adding rake task to sync decided appeals (#22492)

* APPEALS-52872 Add rake task to sync decided appeals

* APPEALS-52872 Remove byebug

* APPEALS-52872 Fixing lint errors

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Fix ENV variable update

* APPEALS-52872 Parallelizing AppealState updates

* APPEALS-52872 Remove byebug

---------

Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Prevent Prodtest from contacting VA Notify Staging (#22629)

* APPEALS-54918 Update VA Notify fake service and initializer

* APPEALS-54918 Add CASEFLOW_BASE_URL env var in demo/dev

* APPEALS-54918 Add seed file for API Key and added to main seed execution

* APPEALS-54918 Add missing argument to method definition

* APPEALS-54918 Update "to" params and fix linting issues

* APPEALS-54918 Prevent post requests in test env

* Rename ApiKeys seed file

* Fix linting error on require statement

* Add argument for call within sync_review_job.rb and minor refactor

* Inherit seed from base, align with AMA for seed file placement

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22776)

* 🔧 Assume defaults for `config.action_dispatch.use_cookies_with_metadata` and `config.action_mailer.delivery_job`

The following config settings are not backwards compatible:

- config.action_dispatch.use_cookies_with_metadata
- config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

* ✅ Fix flakey spec

* 🔧 Assume default for `config.action_dispatch.use_authenticated_cookie_encryption`

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

* ⏪️ Restore overrides for `config.action_dispatch.use_authenticated_cookie_encryption` and `config.action_dispatch.use_cookies_with_metadata`

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

* ✨ Add new utility module for adding DB indexes concurrently

Introduces `Caseflow::Migrations::AddIndexConcurrently` as a replacement
for `Caseflow::Migration` for migrations on ActiveRecord 6.0 and beyond,
since `Caseflow::Migration` is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

* 🗑️ Deprecate `Caseflow::Migration`

* 🔧 Add instructive error message for non-concurrent `add_index` migrations

* 🚨 Address linter / codeclimate complaints

* ✨ Introduce `SslRedirectExclusionPolicy`

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when `config. force_ssl = true`

* ♻️ Replace deprecated controller-level `force_ssl`

Replace deprecated controller-level `force_ssl` with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

* 🔥 Remove deprecated config setting `config.active_record.sqlite3.represent_boolean_as_integer`

This will have no implications for Caseflow, since we are only using the `sqlite3`
adapter nominally for the `demo_vacols` database, which is not actually being used
in our demo environments (demo environments are deployed as `development` envs).

* ⬆️ Update `caseflow-commons` to resolve sub-dependency conflicts

Removes unneeded gems `bourbon` and `neat`, which had a sub-dependency conflict on `thor`.

* ⬆️ Update rails and other gems as necessary

* 🐛 Fix 'uninitialized constant' error when loading app

* ⬆️ bin/rails app:update - Apply relevant changes

* 🔧 Override default for `config.active_record.has_many_inversing`

* 🔧 Assume default for `config.active_storage.track_variants`

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

* 🔧 Override default for `config.active_job.retry_jitter`

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

* 🔧 Assume default for `config.active_job.skip_after_callbacks_if_terminated`

We're not currently using `throw :abort` within any `before_enqueue`/`before_perform` 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

* 🔧 Assume default for `config.action_dispatch.cookies_same_site_protection`

This setting controls the `SameSite` optional attribute for the
`Set-Cookie` header.

`SameSite=Lax` means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

`Lax` is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow  across origins).

For more background, see
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
- https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#1f15

* 🔧 Assume default for `config.action_controller.urlsafe_csrf_tokens`

* 🔧 Assume default for `ActiveSupport.utc_to_local_returns_utc_offset_times`

We're not using `ActiveSupport::TimeZone.utc_to_local` anywhere,
so the default is safe to assume here.

* 🔧 Assume default for `config.action_dispatch.ssl_default_redirect_status`

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

* 🔧 Assume default for `config.active_record.legacy_connection_handling`

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

* 🔧 Assume default for `config.action_view.form_with_generates_remote_forms`

We don't use the `form_with` helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

* 🔧 Assume default for `config.active_storage.queues.analysis`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.active_storage.queues.purge`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.incineration`

We don't use ActionMailbox, so the new default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.routing`

We do not use ActionMailbox, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailer.deliver_later_queue_name`

We're not using `ActionMailer::MessageDelivery #deliver_later` anywhere,
so the default is safe to assume.

* 🔧 Assume default for `config.action_view.preload_links_header`

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in `development` environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

* 🔥 Remove 'new_framework_defaults_6_1.rb'

* 🔧 Load defaults for Rails 6.1

* ♻️ Extract constant

* ♻️ Migrate to new Rails deprecation config where applicable

* ♻️ Push members down now that there is only one subclass

* 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

* 💡 Update comment

Task `rake routes` has been replaced with `rails routes`

* ✅ Update test to account for change to `ActionDispatch::Response#content_type` 

`ActionDispatch::Response#content_type` now returns the full Content-Type header

* 🚨 Exclude 'config.ru' from Rubocop cops

* 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

* 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

* ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

* 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

* 🔧 Add etl migration paths to DB config

* 🔧 Update DB connection names in 'database_cleaner' config

* ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as `rake db:migrate`
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

* ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

* 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. `rake db:migrate` will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

* ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain `sed` gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

* 💚 Remove redundant DB migrations from CI workflow

Task `db:schema:load` already loads the checked in schema,
so there should be no need to run `db:migrate` afterwards.

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `NoMethodError`

Addresses the following error:

  NoMethodError: undefined method `build_lookup_context' for ActionView::Base:Class

* 🐛 Fix `spec/workflows/post_decision_motion_updater_spec.rb` - `FrozenError`

Addresses the following error:

  FrozenError: can't modify frozen Hash: {}

* ✅ Add test for `RoSchedulePeriod`

* 🐛 Fix `spec/models/schedule_period_spec.rb` - `ActiveRecord::RecordInvalid`

Apparently, there were some changes to the inner workings of
`ActiveModel::Errors` in Rails 6.1, causing a model to be
considered invalid in the case that `errors[:base] == [[]]`.
This makes sense, as `[[]]` is not considered "empty".

Unfortunately, this was causing `RoSchedulePeriod #validate_spreadsheet`
to inadvertently mark the model as invalid upon creation.
`HearingSchedule::ValidateRoSpreadsheet #validate` returns an
empty array (`[]`) when valid, which gets pushes onto the
`RoSchedulePeriod` `errors[:base]` array, resulting in a
non-empty array (`[[]]`) and an erroneously invalid disposition.

Furthermore, calling `<<` to an `ActiveModel::Errors` message array
in order to add an error is a deprecated, so we can take this
opportunity to use the new `#add` API to hit two birds with one stone.

The change implemented here is not a pure refactoring, however the
end-user experience is unchanged in terms of how errors are presented
when attempting to upload a spreadsheet with multiple non-conformities.

Down the road, we may want to consider moving
`HearingSchedule::ValidateRoSpreadsheet` toward using
`ActiveModel::Validations` in order to leverage the
full `ActiveModel::Errors` API and construct the
errors object in the prescribed manner.

For more details see
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Validations.html
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Errors.html

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `ActionView::Template::Error`

* ✅ Fix `spec/models/veteran_spec.rb`

* ✅ Fix `spec/sql/ama_cases_sql_spec.rb`

Addresses failures such as the below:

  0) AMA Cases Tableau data source expected report calculates age and AOD based on person.dob
     Failure/Error: expect(aod_case["aod_veteran.age"]).to eq("76")

       expected: "76"
            got: 0.76e2

* ✅ Fix multiple specs - `Minitest::UnexpectedError`

Test helper method `#perform_enqueued_jobs` now wraps exceptions
in an `Minitest::UnexpectedError`:

https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activejob/lib/active_job/test_helper.rb#L591

So, to assert that a specific
exception is raised during execution of the `#perform_enqueued_jobs`
block, we must rescue the `Minitest::UnexpectedError` and make the
assertion on its error message instead.

* ✅ Fix `spec/lib/helpers/association_wrapper_spec.rb`

* ✅ Fix `spec/controllers/api/v1/jobs_controller_spec.rb`

In Rails 6.1, `ActiveJob #perform_now` was changed to
behave as it did once before (at the behest of GitHub),
returning the value fo the job instead of true/false.

See related GH issue: rails/rails#38040

* 🐛 Fix `spec/controllers/appeals_controller_spec.rb` - `NoMethodError`

Addresses error:

  NoMethodError: undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>

  0) AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: errors: errors.messages[:workflow],

     NoMethodError:
       undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>
     # ./app/workflows/case_search_results_base.rb:31:in `search_call'

* 🐛 Fix `CaseSearchResultsBase` validations

Addresses test failures in `spec/controllers/appeals_controller_spec.rb`
similar to the below:

  AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: expect(response_body["errors"][0]["title"]).to eq "Veteran file number missing"

       expected: "Veteran file number missing"
            got: nil

Using `ActiveModel::Errors` to store error data in an arbitrary format may have been
somewhat permissible in the past, but it is an abuse of the object's intended use and is
also proving incompatible with the more formalized `ActiveModels::Errors` API in Rails 6.1.

In order to preserve the existing response shape of the affected JSON endpoints,
we need to move away from the `ActiveModel::Validations` implementation on `CaseSearchResultsBase`
(and its descendent classes) to a more bespoke method of performing validations and aggregating
errors, since Rails 6.1 `ActiveModel::Errors` is no longer appropriate for  our needs here.

* ✅ Fix `spec/controllers/application_controller_spec.rb` -- Cache-Control error

Addresses the test failure below:

    ApplicationController no cache headers when toggle set sets Cache-Control etc
     Failure/Error: expect(response.headers["Cache-Control"]).to eq "no-cache, no-store"

       expected: "no-cache, no-store"
            got: "no-store"

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:59:in `block (4 levels) in <top (required)>'

In Rails 6.1, the `no-store` directive is exclusive of any others
that are set on the `Cache-Control` header, which makes sense given
the specification https://datatracker.ietf.org/doc/html/rfc7234#section-3

This change was implemented in PR rails/rails#39461

Since it no longer makese sense to set both `no-store` and `no-cache` directives,
we will only set `no-store` here, as that is the stronger of the two.

* 🐛 Fix multiple specs - `ActiveRecord::EagerLoadPolymorphicError`

Addresses multiple test failures caused by the error below:

  QueueConfig.to_hash title when assigned to an org is formatted as expected
     Failure/Error:
       tasks.with_assignees.group("assignees.display_name").count(:all).each_pair.map do |option, count|
         label = self.class.format_option_label(option, count)
         self.class.filter_option_hash(option, label)
       end

     ActiveRecord::EagerLoadPolymorphicError:
       Cannot eagerly load the polymorphic association :appeal
     # ./app/models/queue_column.rb:110:in `assignee_options'

* 🐛 Fix `spec/models/task_spec.rb` - `update_all` clears query cache

In Rails 6.1.7.7, the method `ActiveRecord::Relation #update_all`
will now clear any records cached by the calling relation.

This was altering the behavior of `Task #cancel_task_and_child_subtasks`
and causing the following test failure:

  Task#cancel_task_and_child_subtasks cancels all tasks and child subtasks
     Failure/Error: expect(second_level_tasks[0].versions.count).to eq(initial_versions + 2)

       expected: 3
            got: 2

       (compared using ==)
     # ./spec/models/task_spec.rb:368:in `block (3 levels) in <top (required)>'

To remedy, we will now cache the necessary Task records in an Array, which can
be used for generating PaperTrail versions both before and after the `update_all`.

* 🐛 Fix `spec/services/hearings/calendar_service_spec.rb` - template rendering error

Addresses the following test failure:

  Hearings::CalendarService.confirmation_calendar_invite returns appropriate iCalendar event
     Failure/Error: expect(ical_event.description).to eq(expected_description)

       expected: "You're scheduled for a virtual hearing with a Veterans Law Judge of the Board of Veterans' Appeals.\...to reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n"
            got: #<Icalendar::Values::Text("You're scheduled for a virtual hearing with a Veterans Law Judge of the Bo... reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n")>

* 🐛 Fix YAML syntax error caused by whitespace in ENV var

Address the following error, found during demo deployment:

  rake aborted!
  Cannot load database configuration:
  YAML syntax error occurred while parsing /caseflow/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 49 column 5

* ⬆️ Update `caseflow-commons` dependency to latest ref

Removes `bourbon` and `neat` dependencies.

* APPEALS-57351 Inactive Appeal Errors present when outcoding an appeal (#22721)

* APPEALS-57351 add template name check to handle errors

* APPEALS-57351 Add template_name argument to spec tests

* Update app/models/prepend/va_notify/appellant_notification.rb

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-57351 Partial rspec updates, pushed before handing off

* APPEALS-57351 Add specs requested during review

* Update spec/controllers/idt/api/v2/appeals_controller_spec.rb

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* feature/APPEALS-50882 - Open Telemetry configuration and implementation (#22787)

* feature/appeals-45972 (#21950)

* Remove UUID from attrs sent_to metrics. (#21630)

* Remove UUID from attrs sent_to metrics.

* pushing with some linting issues for visibility.

* Change config implementation.

* Remove UUID from spec

* remove uuid from update_appellant job

* diable rubocop for open_telemetry init

* OTEL fixes

* rescue, errors

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* add otel reqs

* Remove throw

* comment out otel file loop

* try vendor suggested config

* update otel config to match vendor

* update pg gem

* otel include dt_host file

* otel require bundler and rubygems

* otel subset of instrumentation

* Revert "update pg gem"

This reverts commit fc1a45d.

* update redis and minimize otel instrumentation to just rails, rack, and activerecord

* otel add use_all except pg and redis

* otel require instruments

* otel fix typo

* otel fix typo

* otel comment out net_http

* otel silence aws sdk internals

* otel silence aws sdk internals

* otel add net http

* Individually use OTEL instruments (#22082)

* Individually use OTEL instruments
with options.

* disable AwsSdk only. Checking Rack options.

* re-require awssdk even while disabled.

* disable awssdk

* disable datadog for testing

* change sequence factory to properly seed

* updated opentelemetry and datadog configs

* rack context getter initalizer

* use one at a time

* add curly braces

* Revert change

* revert change

* Revert change

* Revert change

* Remove gemfile grouping

* Remove datadog.

* ActionPack and Actionview changes

* APPEALS-44287: Excluding disposition held and select that appeal for distribution  (#22277)

* first run at an SQL query removing duplicate appeals from distribution

* code refactor and excluding disposition held and select that appeal for distribution

* automated test for the duplicate hearing bug

* fix rubocop offense SpaceInsideBlockBraces

---------

Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Update bundler to 2.4.22

* Updating OTEL to use all and remove new relic gem

* Remove calls to new relic

* removed id attrs in metrics service calls that were causing dimension errors

* Update config for otel

* Reorder gems to fix linting issues

* Updating config and refactoring verbose gems to add all

* Reinstall gems

* Adding all instruments

* Update config to only include basic instruments

* Update Gemfile.lock

* Adding rake to gemfile

* Adding instruments

* Comment out PG and ActiveSupport

* Suppress AWS logs

* Remove redis and turn on actionview

* Turn actionview off

* Add Redis instrumentation back

* Turn ActionPack back on

* Disable Redis

* Remove mentions of Datadog

* Removed extra mentions of Datadog

* removed newrelic references and yml file

* Test updating workflow

* Revert workflow change

* Adding simplecov back

* Fixing linting error

* Removing by: attribute after removing keyword in metric service

* Adding simplecov lcov gem and updating workflow

* Update workflow

* Updating simplecov

* Revert simple cov

* Adding featureenvy skip for reek

* Update service name. (#22762)

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>

* Remove unused variable with lint error. Re-introduce cert fixes

* Remove references to x86

* Revert "Remove references to x86"

This reverts commit fda290d.

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>
laurenyj pushed a commit that referenced this pull request Sep 25, 2024
…ld after Remand (#22698)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Update admin_ui_spec.rb for CAVC levers being enabled

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* restore Gemfile.lock platform to ruby

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
laurenyj pushed a commit that referenced this pull request Sep 25, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Remove transaction_wrapper

* Remove extra newline

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-51045: Remove ReceiveNotificationJob (#22207)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* MattT/APPEALS-51115: Initialize FIFO SQS Queues Locally (#22182)

* Set local env to utilize FIFO queues where appropriate

FIFO queues are configured with the same attributes as our queues in higher environments.

* Resolve failing test

* Remove defunct test

* Update make commands

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* APPEALS-51847: Institute Database Migration for Establishing 'sms_status_reason' and 'email_status_reason' Columns (#22208)

* adding and running migration

* adding comments to migration and re running db:migrate

* pushing up original scheam

* committing schema

* small edit to migration and deleting unnecessary columns from schema

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* Fix rubocop and tests (#22231)

* removing job and all mentions of job (#22212)

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51059: Alter Select Quarterly Statuses (#22239)

* Alter status messages

* Save more info in fake response

* Swap keys

* Add missing param

* Test fixes. Also, setting appeal_docketed to false whenever appeals are decided or cancelled

* Fix fasterer issue

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* MattT/APPEALS-51101: Rewrite ProcessNotificationStatusUpdateJob to Consume Messages from an SQS Queue (#22247)

* Update fake response body

* Try enabling localstack in CI

* Init SqsService and alter most/all of the ProcessNotificationStatusUpdatesJob

* Create SQS queues in test env

* Change port formatting

* Mount docker socket

* Try localstack hostname

* Wait for localstack in CI

* Add more yarddoc comments

* Log errors and number of messages processed

* Add custom error classes

* Add yarddoc comments to SqsService class

* Create SqsService spec file

* Redo much of ProcessNotificationStatusUpdatesJob's spec file

* Disable line length checks for yarddoc comments

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-51087: Rewrite Api::V1::VaNotifyController#notification_update Controller Action to No Longer Utilize Redis (#22295)

* initial push

* rubocop'n

* fixing tests?

* rubocop'n

* addressing most of matt's comments

* removing yard doc files and keeping comment

* rubocop

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Remove extra attribute

* Fix incorrect log counts

* Fix log statement

* Fix typo

* APPEALS-53603: Modify logic to always show recipient information if present (#22414)

* initial commit

* making rspec tests happy

* linting

* adding tests back and refactoring

* small char error

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>

* Sync decided appeals with states table (#22434)

* APPEALS-52882 Sync decided appeals decision_mailed status

* APPEALS-52882 Fix lint issues

* APPEALS-52882 Fix codeclimate issues

* APPEALS-52882 Address PR feedback

* APPEALS-52882 Address PR feedback

* Jcohen/APPEALS-52861 (#22450)

* APPEALS-52861 Bug fix implemented.

* APPEALS-52861 cleaned up some code through aliasing a common method name between appeal_types, eliminating a check that we do in the AppealDecisionMailed module.

* APPEALS-52861 fixed method name error.

* APPEALS-52861 fixed some tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 fixed More tests.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted.

* APPEALS-52861 feature branch changes merged in with working branch and method name changes extracted, included case statement.

* APPEALS-52861 moved case statement to another file to be the boolean check for constested status on an appeal.

---------

Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-52892: For all legacy appeal states/notifications check status in VACOLS (#22455)

* initial commit

* addressing comments

* small change

* making tests
happy

* fixing spec tests

* rubocop'n

* reverting

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* APPEALS-55159: Parameter Requirements Are Too Stringent Given What We Will Expect from VA Notify (#22561)

* APPEALS-55159

* updating tests

* APPEALS-55159 Refactor permitted and required params

* APPEALS-55159 Fix linting issue

---------

Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: msteele <Marc.Steele@va.gov>
Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Adding rake task to sync decided appeals (#22492)

* APPEALS-52872 Add rake task to sync decided appeals

* APPEALS-52872 Remove byebug

* APPEALS-52872 Fixing lint errors

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Addressing performance issues

* APPEALS-52872 Fix ENV variable update

* APPEALS-52872 Parallelizing AppealState updates

* APPEALS-52872 Remove byebug

---------

Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com>

* Prevent Prodtest from contacting VA Notify Staging (#22629)

* APPEALS-54918 Update VA Notify fake service and initializer

* APPEALS-54918 Add CASEFLOW_BASE_URL env var in demo/dev

* APPEALS-54918 Add seed file for API Key and added to main seed execution

* APPEALS-54918 Add missing argument to method definition

* APPEALS-54918 Update "to" params and fix linting issues

* APPEALS-54918 Prevent post requests in test env

* Rename ApiKeys seed file

* Fix linting error on require statement

* Add argument for call within sync_review_job.rb and minor refactor

* Inherit seed from base, align with AMA for seed file placement

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* feature/APPEALS-34124-43428-29105-28925-33581 - Rails 6.1 upgrade (release) (#22776)

* 🔧 Assume defaults for `config.action_dispatch.use_cookies_with_metadata` and `config.action_mailer.delivery_job`

The following config settings are not backwards compatible:

- config.action_dispatch.use_cookies_with_metadata
- config.action_mailer.delivery_job

Now that Rails 6.0 is stable on production, we can assume
their default values going forward.

* ✅ Fix flakey spec

* 🔧 Assume default for `config.action_dispatch.use_authenticated_cookie_encryption`

Since we are making other cookie configuration changes in this PR for Rails 6.0,
this is an opportune time to migrate this Rails 5.2 cookie setting to its
default value as well.

* ⏪️ Restore overrides for `config.action_dispatch.use_authenticated_cookie_encryption` and `config.action_dispatch.use_cookies_with_metadata`

While testing in PreProd, we discovered that, without these cookie config overrides,
re-authentication was broken -- after logging out, a user could not log back in.

Since the default settings are still optional going forward, we can restore these
overrides and devise a solution to migrate cookies later.

For more details, see Jira story APPEALS-54897:

https://jira.devops.va.gov/browse/APPEALS-54897

* ✨ Add new utility module for adding DB indexes concurrently

Introduces `Caseflow::Migrations::AddIndexConcurrently` as a replacement
for `Caseflow::Migration` for migrations on ActiveRecord 6.0 and beyond,
since `Caseflow::Migration` is forever coupled to ActiveRecord 5.1 due
to its extensive use on legacy migrations and should be deprecated moving
forward.

* 🗑️ Deprecate `Caseflow::Migration`

* 🔧 Add instructive error message for non-concurrent `add_index` migrations

* 🚨 Address linter / codeclimate complaints

* ✨ Introduce `SslRedirectExclusionPolicy`

To be used in the environment configuration settings for excluding exempt
request paths from SSL redirects when `config. force_ssl = true`

* ♻️ Replace deprecated controller-level `force_ssl`

Replace deprecated controller-level `force_ssl` with
equivalent configuration settings in preparation for
the Rails 6.1 upgrade.

* 🔥 Remove deprecated config setting `config.active_record.sqlite3.represent_boolean_as_integer`

This will have no implications for Caseflow, since we are only using the `sqlite3`
adapter nominally for the `demo_vacols` database, which is not actually being used
in our demo environments (demo environments are deployed as `development` envs).

* ⬆️ Update `caseflow-commons` to resolve sub-dependency conflicts

Removes unneeded gems `bourbon` and `neat`, which had a sub-dependency conflict on `thor`.

* ⬆️ Update rails and other gems as necessary

* 🐛 Fix 'uninitialized constant' error when loading app

* ⬆️ bin/rails app:update - Apply relevant changes

* 🔧 Override default for `config.active_record.has_many_inversing`

* 🔧 Assume default for `config.active_storage.track_variants`

We're not currently using ActiveStorage in Caseflow, so it
is safe to just assume the default here.

* 🔧 Override default for `config.active_job.retry_jitter`

The default jitter is probably safe, however, I'm not 100% sure that we
don't have any jobs that need to be requeued with exact wait times. So
we let's override this for now to stay on the safe side.

* 🔧 Assume default for `config.active_job.skip_after_callbacks_if_terminated`

We're not currently using `throw :abort` within any `before_enqueue`/`before_perform` 
callbacks on existing Caseflow jobs, so the default should be fine here.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c60

* 🔧 Assume default for `config.action_dispatch.cookies_same_site_protection`

This setting controls the `SameSite` optional attribute for the
`Set-Cookie` header.

`SameSite=Lax` means that the cookie is not sent on cross-site requests,
such as on requests to load images or frames, but is sent when a user is
navigating to the origin site from an external site (for example, when
following a link). This is the default behavior if the SameSite attribute
is not specified.

`Lax` is currently the default assumed by both Chrome and Edge browsers
when this attribute is left unspecified, so assuming this value
should be sensible. It allows us to have our cake (blocking CSRF attacks)
and eat it too (providing a logged-in experience when users navigate to
Caseflow  across origins).

For more background, see
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
- https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#1f15

* 🔧 Assume default for `config.action_controller.urlsafe_csrf_tokens`

* 🔧 Assume default for `ActiveSupport.utc_to_local_returns_utc_offset_times`

We're not using `ActiveSupport::TimeZone.utc_to_local` anywhere,
so the default is safe to assume here.

* 🔧 Assume default for `config.action_dispatch.ssl_default_redirect_status`

The default is safe to assume.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#4c3e

* 🔧 Assume default for `config.active_record.legacy_connection_handling`

The default should be safe to assume here, as we do not do any
role or shard switching on database connections.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#8007

* 🔧 Assume default for `config.action_view.form_with_generates_remote_forms`

We don't use the `form_with` helper anywhere, so this behavior change is
inconsequential for us, and we can safely assume the new default.

* 🔧 Assume default for `config.active_storage.queues.analysis`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.active_storage.queues.purge`

We do not use ActiveStorage, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.incineration`

We don't use ActionMailbox, so the new default is safe to assume here.

* 🔧 Assume default for `config.action_mailbox.queues.routing`

We do not use ActionMailbox, so the default is safe to assume here.

* 🔧 Assume default for `config.action_mailer.deliver_later_queue_name`

We're not using `ActionMailer::MessageDelivery #deliver_later` anywhere,
so the default is safe to assume.

* 🔧 Assume default for `config.action_view.preload_links_header`

This flag can be safely uncommented. Browsers that support Link
headers will get a performance boost. Browsers that don’t will
ignore them.

We override in `development` environments to avoid an edge case
leading to an HTTP response header overflow.

For more background, see
https://lilyreile.medium.com/rails-6-1-new-framework-defaults-what-they-do-and-how-to-safely-uncomment-them-c546b70f0c5e#3679

* 🔥 Remove 'new_framework_defaults_6_1.rb'

* 🔧 Load defaults for Rails 6.1

* ♻️ Extract constant

* ♻️ Migrate to new Rails deprecation config where applicable

* ♻️ Push members down now that there is only one subclass

* 🩹 Add forgotten disallowed deprecation warning

This deprecation warning was addressed by the following
PR, but we forgot to add it to the list of disallowed
deprecation warnings:

#21614

* 💡 Update comment

Task `rake routes` has been replaced with `rails routes`

* ✅ Update test to account for change to `ActionDispatch::Response#content_type` 

`ActionDispatch::Response#content_type` now returns the full Content-Type header

* 🚨 Exclude 'config.ru' from Rubocop cops

* 🚚 Move 'db/etl/migrate' to 'db/etl_migrate'

* 🚚 Move 'db/etl/schema.rb' to 'db/etl_schema.rb'

* ♻️ Arrange 'database.yml' configs by environment

Group DB configs by environment in anticipation of
reformatting for Rails 6+ multi-DB configuration.

* 🔧 Reformat 'database.yml' to Rails 6+ multi-DB conventions

* 🔧 Add etl migration paths to DB config

* 🔧 Update DB connection names in 'database_cleaner' config

* ♻️ Use new database-specific rake tasks

After migrating to the Rails 6+ native multi-database configuration,
the behavior of some DB management tasks, such as `rake db:migrate`
changed such that they now act on ALL databases and not just the
primary database. So we must replace the invocations of these
tasks with their new, database-specific counterparts.

* ➖ Remove 'multiverse' gem

Now that we have fiully transitioned to Rails-native
multi-database support, we are no longer reliant on
the 'multiverse' gem and can remove it.

* 🗃️ Prohibit execution of vacols DB and non-DB-specific rake tasks

After transitioning to Rails-native multi-DB support,
the behavior of some DB tasks changed such that they will now
act on ALL databases and not just the primary database
(ex. `rake db:migrate` will now migrate ALL databases).

To avoid accidents, we re-define these tasks here to no-op
and output a helpful message to redirect developers toward
using their new database-specific counterparts instead.

* ♻️ Create new environment for GH workflow 'Make-docs-to-webpage'

Instead of performing a bunch of hard-to-maintain `sed` gymnastics
to modify the existing 'test' environment, let's create a new
'make_docs' environment (based off of 'test') and configure it
appropriately for use by the 'Make-docs-to-webpage' GH workflow.

* 💚 Remove redundant DB migrations from CI workflow

Task `db:schema:load` already loads the checked in schema,
so there should be no need to run `db:migrate` afterwards.

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `NoMethodError`

Addresses the following error:

  NoMethodError: undefined method `build_lookup_context' for ActionView::Base:Class

* 🐛 Fix `spec/workflows/post_decision_motion_updater_spec.rb` - `FrozenError`

Addresses the following error:

  FrozenError: can't modify frozen Hash: {}

* ✅ Add test for `RoSchedulePeriod`

* 🐛 Fix `spec/models/schedule_period_spec.rb` - `ActiveRecord::RecordInvalid`

Apparently, there were some changes to the inner workings of
`ActiveModel::Errors` in Rails 6.1, causing a model to be
considered invalid in the case that `errors[:base] == [[]]`.
This makes sense, as `[[]]` is not considered "empty".

Unfortunately, this was causing `RoSchedulePeriod #validate_spreadsheet`
to inadvertently mark the model as invalid upon creation.
`HearingSchedule::ValidateRoSpreadsheet #validate` returns an
empty array (`[]`) when valid, which gets pushes onto the
`RoSchedulePeriod` `errors[:base]` array, resulting in a
non-empty array (`[[]]`) and an erroneously invalid disposition.

Furthermore, calling `<<` to an `ActiveModel::Errors` message array
in order to add an error is a deprecated, so we can take this
opportunity to use the new `#add` API to hit two birds with one stone.

The change implemented here is not a pure refactoring, however the
end-user experience is unchanged in terms of how errors are presented
when attempting to upload a spreadsheet with multiple non-conformities.

Down the road, we may want to consider moving
`HearingSchedule::ValidateRoSpreadsheet` toward using
`ActiveModel::Validations` in order to leverage the
full `ActiveModel::Errors` API and construct the
errors object in the prescribed manner.

For more details see
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Validations.html
- https://api.rubyonrails.org/v6.1.7.7/classes/ActiveModel/Errors.html

* 🐛 Fix `spec/mailers/hearing_mailer_spec.rb` - `ActionView::Template::Error`

* ✅ Fix `spec/models/veteran_spec.rb`

* ✅ Fix `spec/sql/ama_cases_sql_spec.rb`

Addresses failures such as the below:

  0) AMA Cases Tableau data source expected report calculates age and AOD based on person.dob
     Failure/Error: expect(aod_case["aod_veteran.age"]).to eq("76")

       expected: "76"
            got: 0.76e2

* ✅ Fix multiple specs - `Minitest::UnexpectedError`

Test helper method `#perform_enqueued_jobs` now wraps exceptions
in an `Minitest::UnexpectedError`:

https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activejob/lib/active_job/test_helper.rb#L591

So, to assert that a specific
exception is raised during execution of the `#perform_enqueued_jobs`
block, we must rescue the `Minitest::UnexpectedError` and make the
assertion on its error message instead.

* ✅ Fix `spec/lib/helpers/association_wrapper_spec.rb`

* ✅ Fix `spec/controllers/api/v1/jobs_controller_spec.rb`

In Rails 6.1, `ActiveJob #perform_now` was changed to
behave as it did once before (at the behest of GitHub),
returning the value fo the job instead of true/false.

See related GH issue: rails/rails#38040

* 🐛 Fix `spec/controllers/appeals_controller_spec.rb` - `NoMethodError`

Addresses error:

  NoMethodError: undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>

  0) AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: errors: errors.messages[:workflow],

     NoMethodError:
       undefined method `workflow' for #<CaseSearchResultsForVeteranFileNumber:0x00007f9a030966c8>
     # ./app/workflows/case_search_results_base.rb:31:in `search_call'

* 🐛 Fix `CaseSearchResultsBase` validations

Addresses test failures in `spec/controllers/appeals_controller_spec.rb`
similar to the below:

  AppealsController GET appeals when current user is a System Admin when request header does not contain Veteran ID responds with an error
     Failure/Error: expect(response_body["errors"][0]["title"]).to eq "Veteran file number missing"

       expected: "Veteran file number missing"
            got: nil

Using `ActiveModel::Errors` to store error data in an arbitrary format may have been
somewhat permissible in the past, but it is an abuse of the object's intended use and is
also proving incompatible with the more formalized `ActiveModels::Errors` API in Rails 6.1.

In order to preserve the existing response shape of the affected JSON endpoints,
we need to move away from the `ActiveModel::Validations` implementation on `CaseSearchResultsBase`
(and its descendent classes) to a more bespoke method of performing validations and aggregating
errors, since Rails 6.1 `ActiveModel::Errors` is no longer appropriate for  our needs here.

* ✅ Fix `spec/controllers/application_controller_spec.rb` -- Cache-Control error

Addresses the test failure below:

    ApplicationController no cache headers when toggle set sets Cache-Control etc
     Failure/Error: expect(response.headers["Cache-Control"]).to eq "no-cache, no-store"

       expected: "no-cache, no-store"
            got: "no-store"

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:59:in `block (4 levels) in <top (required)>'

In Rails 6.1, the `no-store` directive is exclusive of any others
that are set on the `Cache-Control` header, which makes sense given
the specification https://datatracker.ietf.org/doc/html/rfc7234#section-3

This change was implemented in PR rails/rails#39461

Since it no longer makese sense to set both `no-store` and `no-cache` directives,
we will only set `no-store` here, as that is the stronger of the two.

* 🐛 Fix multiple specs - `ActiveRecord::EagerLoadPolymorphicError`

Addresses multiple test failures caused by the error below:

  QueueConfig.to_hash title when assigned to an org is formatted as expected
     Failure/Error:
       tasks.with_assignees.group("assignees.display_name").count(:all).each_pair.map do |option, count|
         label = self.class.format_option_label(option, count)
         self.class.filter_option_hash(option, label)
       end

     ActiveRecord::EagerLoadPolymorphicError:
       Cannot eagerly load the polymorphic association :appeal
     # ./app/models/queue_column.rb:110:in `assignee_options'

* 🐛 Fix `spec/models/task_spec.rb` - `update_all` clears query cache

In Rails 6.1.7.7, the method `ActiveRecord::Relation #update_all`
will now clear any records cached by the calling relation.

This was altering the behavior of `Task #cancel_task_and_child_subtasks`
and causing the following test failure:

  Task#cancel_task_and_child_subtasks cancels all tasks and child subtasks
     Failure/Error: expect(second_level_tasks[0].versions.count).to eq(initial_versions + 2)

       expected: 3
            got: 2

       (compared using ==)
     # ./spec/models/task_spec.rb:368:in `block (3 levels) in <top (required)>'

To remedy, we will now cache the necessary Task records in an Array, which can
be used for generating PaperTrail versions both before and after the `update_all`.

* 🐛 Fix `spec/services/hearings/calendar_service_spec.rb` - template rendering error

Addresses the following test failure:

  Hearings::CalendarService.confirmation_calendar_invite returns appropriate iCalendar event
     Failure/Error: expect(ical_event.description).to eq(expected_description)

       expected: "You're scheduled for a virtual hearing with a Veterans Law Judge of the Board of Veterans' Appeals.\...to reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n"
            got: #<Icalendar::Values::Text("You're scheduled for a virtual hearing with a Veterans Law Judge of the Bo... reschedule or cancel your virtual hearing, contact us by email at bvahearingteamhotline@va.gov\n")>

* 🐛 Fix YAML syntax error caused by whitespace in ENV var

Address the following error, found during demo deployment:

  rake aborted!
  Cannot load database configuration:
  YAML syntax error occurred while parsing /caseflow/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 49 column 5

* ⬆️ Update `caseflow-commons` dependency to latest ref

Removes `bourbon` and `neat` dependencies.

* APPEALS-57351 Inactive Appeal Errors present when outcoding an appeal (#22721)

* APPEALS-57351 add template name check to handle errors

* APPEALS-57351 Add template_name argument to spec tests

* Update app/models/prepend/va_notify/appellant_notification.rb

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* APPEALS-57351 Partial rspec updates, pushed before handing off

* APPEALS-57351 Add specs requested during review

* Update spec/controllers/idt/api/v2/appeals_controller_spec.rb

---------

Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>

* feature/APPEALS-50882 - Open Telemetry configuration and implementation (#22787)

* feature/appeals-45972 (#21950)

* Remove UUID from attrs sent_to metrics. (#21630)

* Remove UUID from attrs sent_to metrics.

* pushing with some linting issues for visibility.

* Change config implementation.

* Remove UUID from spec

* remove uuid from update_appellant job

* diable rubocop for open_telemetry init

* OTEL fixes

* rescue, errors

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>

* add otel reqs

* Remove throw

* comment out otel file loop

* try vendor suggested config

* update otel config to match vendor

* update pg gem

* otel include dt_host file

* otel require bundler and rubygems

* otel subset of instrumentation

* Revert "update pg gem"

This reverts commit fc1a45d.

* update redis and minimize otel instrumentation to just rails, rack, and activerecord

* otel add use_all except pg and redis

* otel require instruments

* otel fix typo

* otel fix typo

* otel comment out net_http

* otel silence aws sdk internals

* otel silence aws sdk internals

* otel add net http

* Individually use OTEL instruments (#22082)

* Individually use OTEL instruments
with options.

* disable AwsSdk only. Checking Rack options.

* re-require awssdk even while disabled.

* disable awssdk

* disable datadog for testing

* change sequence factory to properly seed

* updated opentelemetry and datadog configs

* rack context getter initalizer

* use one at a time

* add curly braces

* Revert change

* revert change

* Revert change

* Revert change

* Remove gemfile grouping

* Remove datadog.

* ActionPack and Actionview changes

* APPEALS-44287: Excluding disposition held and select that appeal for distribution  (#22277)

* first run at an SQL query removing duplicate appeals from distribution

* code refactor and excluding disposition held and select that appeal for distribution

* automated test for the duplicate hearing bug

* fix rubocop offense SpaceInsideBlockBraces

---------

Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

---------

Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: raymond-hughes <raymond.hughes2@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Update bundler to 2.4.22

* Updating OTEL to use all and remove new relic gem

* Remove calls to new relic

* removed id attrs in metrics service calls that were causing dimension errors

* Update config for otel

* Reorder gems to fix linting issues

* Updating config and refactoring verbose gems to add all

* Reinstall gems

* Adding all instruments

* Update config to only include basic instruments

* Update Gemfile.lock

* Adding rake to gemfile

* Adding instruments

* Comment out PG and ActiveSupport

* Suppress AWS logs

* Remove redis and turn on actionview

* Turn actionview off

* Add Redis instrumentation back

* Turn ActionPack back on

* Disable Redis

* Remove mentions of Datadog

* Removed extra mentions of Datadog

* removed newrelic references and yml file

* Test updating workflow

* Revert workflow change

* Adding simplecov back

* Fixing linting error

* Removing by: attribute after removing keyword in metric service

* Adding simplecov lcov gem and updating workflow

* Update workflow

* Updating simplecov

* Revert simple cov

* Adding featureenvy skip for reek

* Update service name. (#22762)

---------

Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>

* Remove unused variable with lint error. Re-introduce cert fixes

* Remove references to x86

* Revert "Remove references to x86"

This reverts commit fda290d.

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>
Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com>
Co-authored-by: nhansen3 <noah.hansen1323@gmail.com>
Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com>
Co-authored-by: prernadevbah <132498915+prernadevbah@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com>
Co-authored-by: Jonathan Cohen <cohen_jonathan@bah.com>
Co-authored-by: Jeremy Croteau <jcroteau@users.noreply.github.com>
Co-authored-by: Raymond Hughes <131811099+raymond-hughes@users.noreply.github.com>
Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com>
Co-authored-by: Noelle Adkin <98478937+NoelleAd@users.noreply.github.com>
Co-authored-by: Dani <danielle.coleman1@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Andrew Hadley <hadley_andrew@bah.com>
Co-authored-by: alex-guanipatin <alex.guanipatin@va.gov>
Co-authored-by: Drew Hadley <50673809+VandelayUtd@users.noreply.github.com>
craigrva added a commit that referenced this pull request Oct 14, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
craigrva added a commit that referenced this pull request Oct 16, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

* Add checks for disable_legacy Case Distribution Levers to the AOJ legacy docket

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
craigrva added a commit that referenced this pull request Oct 16, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

* Add checks for disable_legacy Case Distribution Levers to the AOJ legacy docket

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
craigrva added a commit that referenced this pull request Oct 25, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

* Add checks for disable_legacy Case Distribution Levers to the AOJ legacy docket

* APPEALS-61180: Improve Performance of the AOJ Distribution Queries (#23268)

* add feature toggles to AMA statistics to allow disabling of certain queries

* set case_docket counts method to only count if the appeal is not a post remand

* refactor affinity filters for performance

* refactor cavc filters in case_docket for performance

* fix rubocop warnings

* refactor for reduce repetition

* refactor repeated code in affinity filters to a common method

* fix rubocop warnings in case docket files

* update code comments for consistency in methods

* add test for distribution stats behavior with disable stats toggles turned on

* add automated test to validate new feature toggle behavior

* update tests for .counts_by_priority_and_readiness

* add comment to case docket spec

* Add new feature toggle to local/demo disable list

* remove distribution stats generation from the initial transaction to reduce time for users to get their cases

* add aoj to aoj repository metrics logs

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
craigrva added a commit that referenced this pull request Oct 28, 2024
* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

* Add checks for disable_legacy Case Distribution Levers to the AOJ legacy docket

* APPEALS-61180: Improve Performance of the AOJ Distribution Queries (#23268)

* add feature toggles to AMA statistics to allow disabling of certain queries

* set case_docket counts method to only count if the appeal is not a post remand

* refactor affinity filters for performance

* refactor cavc filters in case_docket for performance

* fix rubocop warnings

* refactor for reduce repetition

* refactor repeated code in affinity filters to a common method

* fix rubocop warnings in case docket files

* update code comments for consistency in methods

* add test for distribution stats behavior with disable stats toggles turned on

* add automated test to validate new feature toggle behavior

* update tests for .counts_by_priority_and_readiness

* add comment to case docket spec

* Add new feature toggle to local/demo disable list

* remove distribution stats generation from the initial transaction to reduce time for users to get their cases

* add aoj to aoj repository metrics logs

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
sbashamoni added a commit that referenced this pull request Oct 30, 2024
* Feature/APPEALS-46624-react-upgrade-release (#23352)

* Poulter/appeals 46624 react 18 upgrade final (#23333)

* react 18 test upgrade

* styled-components

* EditPOAInformation test refactor, in progrss NonratingRIUModal test

* additional tests refactored

* Refactors Enzyme -> RTL

* more changes

* Enzyme -> RTL refactors (cont)

* Enzyme -> RTL refactor (cont)

* Enzyme -> RTL refactor (cont)

* Enzyme -> RTL refactor (cont)

* Enzyme -> RTL refactor (cont)

* Cherry-picking from v2 branch --cont

* fixed badge test

* Enzyme -> RTL (establishClaim-test)

* Enzyme -> RTL (cont, Batch 3)

* Batch 3 refactor cont

* Batch 3 In Progress

* Batch 3 to review

* Batch 4 updates

* ScheduleVeteran.test refactor finished

* Batch 4 and cleanups

* Batch 4 continued

* Outstanding Enzyme -> RTL refactors

* batch 4 changes and non used enzyme test removal

* clean up

* snapshot and failing test clean up

* Test updates and Snapshot fixes

* Package updates with a couple fixed tests

* Make test less brittle

* switch to for...of instead of forEach to fix async problems

* remove unnecessary
import

* lint fixes

* disable linters

* APPEALS-55525: Disable tests for seed files and lock Chrome version to v127 in Github Actions (#22567)

* add exclude pattern to github actions rspec command

* add test file exclude pattern constant

* lock chrome version to 127.0.6533.119

* React Dependency upgrade

* force wepback-bundle.js

* Fix for bva_dispatch_return_flow_spec

* fixed spec method to click pdf

* Fixed task_queue_spec.rb

* add indicated_for_contested_claims flag to legacy appeals

* update legacy appeal spec

* fix for scm_judge_assignment_spec.rb

* force state update

* fixed admin_ui_spec.rb

* fixed user_organization_spec.rb

* flow modal refactor to functional component and fix state renders, remove null saveSuccessful

* fixed motion_to_vacate_spec.rb

* revert changes

* revert all changes

* stop letting null pass

* revert more changes

* test null condition

* comment

* revert test

* add flushsync

* remove enzyme and update snapshots

* fixed EmailConfirmationModal.test.js

* fixed NonratingRequestIssueModal-test.js

* fixed Timezone.test.js

* fixed ScheduleVeteranForm.test.js

* fixed HearingTime.test.js

* fixed IssueTags.test.js

* linting

* updated daily_docket_spec.rb

* fix duplicated code for code climate

* fix more shared test setup

* hopefully the last duplicate code

* remove sleeps

* update for daily_docket_spec.rb

* add flush sync and add initialState back in

* added waits to vso_change_hearing_request_type_spec.rb

* remove legacy appeal flag

* Remove debugging statement

* revert change spec and fix state sync

* remove file changes

* fix snapshot

* Merge branch 'main' into Poulter/46624-react-18-upgrade-1

* fixed tests

* revert unnecesarry change

* remove old spec changes

* fix syncable job

* update ftk reference

* snapshot fix

---------

Co-authored-by: Griffin Dooley <dooleygriffin@gmail.com>
Co-authored-by: AdamShawBAH <adam.shaw@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* cashflow-frontend-toolkit commit hash updated

* updated yarn.lock

---------

Co-authored-by: hawkespoulterva <177681365+hawkespoulterva@users.noreply.github.com>
Co-authored-by: Griffin Dooley <dooleygriffin@gmail.com>
Co-authored-by: AdamShawBAH <adam.shaw@va.gov>
Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* APPEALS-25418: AOJ Remand Returned Legacy Appeals (#23294)

* Calvin/APPEALS-43852-cavc-levers (#21441)

* enabled cavc affinity levers in UI

* updated rspec

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to… (#21456)

* [APPEALS-43849]Update CAVC Affinity Implementation for AMA Dockets to Account for Omit/Infinity

* Affinity rules applied to non genpop

* Addressed comments

* Addressed comments

* fixed rubocop issues + added clarity to where clause

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44956: Add AppealAffinity model and database table (#21526)

* add migration for appeal_affinities

* add AppealAffinity model and associations, update migration for new column

* update index to be unique

* add factory, add tests

* add factory traits to appeal and case for appeal affinities

* add combination trait to appeal factory

* add appeal_affinity to skipped associations in ETL reporting

* add a validation, test

* Craig/appeals 44958 (#21564)

* add new job, update affinity model validation and after save hook

* add update from push job

* fix job extending distribution scopes

* add with appeal affinities to distribution scopes

* typo

* add error handling, add test file

* add distributed case factory, refactor naming in job

* fix factories, added tests

* fix migration for null affinity start date column

* fixes, added tests

* more test updates

* add return in job if no query results, tests for no query results

* add test for after_save hook adding dist task instructions

* set start dist job to queue affinity job after running

* fix update job and start dist job spec

* queue affinity update job from push job

* code clarity

* fix judge in seed file

* remove comment, fix hearing factory, disable some seeds for testing

* add more tests

* test refactor

* update appeals for dist query to add affinity start, add seed file, fix hearing factory, add stat to dist factory

* disable new seed on reset

* update seed file with vet names, add another seed category

* fix distirbuted case factory?

* actually fix GHA runs

* lint, test fixes

* change constants in new job

* [Appeals 43850] Update Legacy Docket Queries to Account for the Previous Decision Judge and Type Action  (#21556)

* test changes for seans ticket

* test changes

* added joins to all required methods

* fixed lint

* fixed column ambiguity errors

* cleaned up naming scheme

* Documentation for JOIN_PREVIOUS_APPEALS constant

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-44959: Modify affinity date checks to use appeal_affinity (#21611)

* swap distribution queries from distribution_task to appeal_affinities

* update seed files to use appeal affinities instead of distribution task

* clean up seed file method names

* add missing Timecop.return in ama affinity case seed

* fix name of a method in a seed file

* remove references to distribution task in distribution scopes

* fix push priority job tests

* fix naming of args in one of the seed files

* fix user seed, fix date format in distribution task instructions

* fix tests for date format update

* APPEALS-44187: Factory Bot Additions (#21438)

* AC1: values for bfddec and bfmpro

* AC2: case issues updated to '3'

* AC3-4: attorney and judge additions

* ac 5: bfdpdcn addition

* AC6: case type action addition

* ac7: new folder match to original

* ac8: case issues set to original

* AC 3/4: added associations to original

* ac3/4: updated logic to handle no args

* ac3/4: return sattyid

* ac7:updating folder assignment

* ac7: added bfkey to except block

* ac7/8: update to case issue list and validations dismissed

* removed byebug

* ac7: added 'ticknum' to except

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* nested trait into form_9 factory

* new addtions

* added .save to case issues

* resolving correspondent and titrnum associations

* fixed bfdc typo

* factory additions

* added ssn to associated corr.

* removed transient and added .save

* added after create to corr factory

* veteran lookup check prior to create

* committing missed 'end'

* moved over veteran create to case fact.

* move corr. association field to case fact.

* lint issues + corres. save

* Calvin/APPEALS-44957-rake-affinity (#21577)

* grabbed receipt dates from distributed cases

* refactored for functionality + added method to grab appeals that match

* using receipt date, get all related appeals

* added update/creation plus cleaned prior imple.

* gets most recent distributed case receipt_date

* skips if receipt_date is nil for performance

* if appeal affinity is nil, it will now be updated

* created spec file

* fixed non ready appeals

* updated query to match new AC

* removing comment

* testing for each docket

* updated spec file

* added new tests to rspec

* updated start date to receipt date instead of Time.now

* fixed date/time rspec errors

* added rails logger to know when rake task has finished

* added tag for rails log

* removed nonpriority dockets for direct_review and evidence_submission

* fixed lint issue

* fixed flaky spec test

* limits distributed cases query to within the last week

* APPEALS-46016: Add Affinity Start Date to the Explain Page (#21660)

* add affinity start date to explain page

* add feature test to verify dates display

* Sudhir/appeals 43851 (#21613)

* Implement CAVC + AOD Affinity Lever for AMA Dockets

* addressed comments

* addressed comments

* Addressed comments

* added cavc_aod_affinity in case distribution lever model

* addressed comments

* addressed comments

* updated specs

* Updated specs

* specs changes reverted

* ama_aod and ama_non_aod queries updated

* change the assertion in docket spec

* Craig/appeals 46196 (#21689)

* fix query, tested locally

* add basic test to verify csv downloads aren't broken

* APPEALS-43851: Add test to validate CAVC+AOD behavior on hearing docket appeals affinities (#21678)

* add test to validate cavc+aod on hearing docket appeals

* lint, test case_docket_spec fix

* modify case_docket_spec again

* more test fix testing

* attempt to fix test again

* test removing prev appeals from nonpriority queries

* more test tests

* feature toggle change in test

* reorder new portions of query

* remove unused portions of queries in case_docket

* revert unneeded change to query order

* revert unneeded change to query order

* update rake task and spec (#21731)

* APPEALS-46325: Add Seeds for AOD Appeals and Update Dates to Match CAVC (#21730)

* add aod hearing cases to ama affinity cases seed

* fix lever spec

* APPEALS-45148: Hook to clear saved affinity date (#21623)

* initial imp. idea

* AC1: check for affinity_start_date on assignment

* AC2/3: update affinity start date  w/ instr.

* updates to naming, instructions, and hook logic

* updates after review

* rspec coverage and addtional condition

* removed unused identifier

* removed reduntant 'self's

* added update on actual AA record

* updated to save aa record and addtional rspec

* added change to assignment on no record test

* check for assignment

* addd update to 'on_hold' status

* public method to handle legacy affinity appeals

* added .reload to :with_affinity_appeal

* added .reload to :ready_for_distribution

* updates to pass explain_spec

* switched boolean values

* typo

* readujsted order on :create for affinity appeal

* removed after(:create)

* testing rspec by readding after :create

* reloading in assertation

* addressing lint errors

* fix seeds/users_spec

* add case dist lever to new tests (#21776)

* fix tests, add lever to factory, fix dist scopes (#21779)

* fix rubocop warning

* Acd/appeals 43853 43854 (#21971)

* Calvin/appeals 43853 (#21723)

* initial updates

* removing unnecessary variable

* focused in on priority

* removing non priority stuff

* added general comments

* added BFAC and AOD to cavc aod lever query

* adding judge vacols id to query

* aod affinity_start_date filter initial changes

* fixed sorting

* fixed rubocop issues

* updated filter method

* error handling

* added ineligibility to queries for PREV_DECIDING_JUDGE

* fixed SQL query + added comments

* added exclude from affinity check into the case docket queries

* error handling + fixing sql queries

* rejects appeals without affinity_start_dates and nonmatching judges

* fixing rubocop offenses

* fixed inconsistencies between methods

* fixed conditions for rejecting appeals

* refactored cavc aod affinity filter to make it much easier to read

* refactored code to account for AC6

* error handling for empty exclude from affinity

* reverted next if block to old logic to ensure it works

* added PREV_DEC_JUDGE is not null

* case.rb factory changes

* added more options to legacy_cavc_appeal creation

* cleaned up code for simpler reading

* fix for aod legacy cavc creation

* added tied to option to legacy cavc appeal factory

* limits are now handled correctly in query

* replaced return false to next if, as return false was causing unexpected behavior

* fix rspecs + one edge case

* added cavc aod lever creation to rspecs

* removed bfac and aod from nonpriority query

* cavc aod appeals w/excluded judges are now properly being filtered

* refactored excluded judges check

* added to old query to fix rspec errors

* modified case factory bot

* query now handles when prev_deciding_judge is nil

* removed unnecessary condition

* fixed case factory to now have tied_to attatched to orig appeal

* fixed next if block within filter

* handles omit scenarios + correctly rejects with next

* working on rspec (still failing)

* fix for ineligble VLJ when infinite

* fixed rspec suite for cavc aod filters

* fixed omit scenario in cavc aod affinity filter

* consolidation & readability refactor

* rubocop fixes

* fixed spec error

* Implement CAVC Affinity for Legacy Docket (#21706)

* Implement CAVC Affinity for Legacy Docket

* addressed comments

* Added BFAC in the query

* code changes for affinitty date

* Added affinity code

* code refactor and removed non priority code changes

* fixed syntax change

* Addressed comments

* refactor cavc affinity filter

* refactored code

* code refactor

* code refactor

* Updated existing specs

* code refactor

* Added new rspecs

* code refactor and added test  cases

* code refactor

* added test cases

* fixes push_priority_spec

* fixed rubocop issues

* rubocop issue fixed

* refactored code to make it easier to understand

* refactored + fixed rspec and lint errors

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* basic creation of legacy affinity cases seed data

* bug fixes, added bfcorlid with veterans, fully runs now

* added new appeals for affinity_and_tied_to_judge

* made data have realistic bfcorlids

* changes document sequence to use less digits

* added new file numbers for tied_to cases to make them easier to identify

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>

* APPEALS-50692: Update Appeals Ready to Distribute CSV to include CAVC remand original judge (#22070)

* CSV download functional

* add tests, fix CSV query in CaseDocket

* fix lint

* Calvin/appeals 44313 (#22119)

* initial seed data file

* added legacy cavc and cavc aod affinity cases

* update

* fixed tied to for legacy appeals

* added AOD versions of appeals

* small lint fixes

* ensured AOD cases for legacy hearings with exluded or ineligible judge

* added vacols staff record creation for users without it

* APPEALS-47741: Update the UpdateAppealAffinityDatesJob to add appeal_affinity records for Legacy Appeals (#22023)

* AC1: changes and respective tests

* adjustements after refactoring

* identifier mismatch

* name update

* name update

* added appeal affinity filter

* updated comment

* remove byebug

* update rspec to handle hash input

* added no start date test case

* updated process method test

* removed 'todo' comment

* dried up query string

* aligned conditions

* update to hash quotations

* update to hash quotations

* added legacy to priority receipt dates from dist.

* moved append to resulting list

* added legacy receipt date to push job hash

* uncomment call to legacy

* updated dist.id to @dist_id

* uncomment call to process legacy appeals

* handling update to legacy docket type

* current rspec status

* fixed typo

* fix rspec

* legacy spec additions

* legacy spec additions

* added legacy dist. case factory

* removed vacols_judge ref

* updates for spec

* final review

* removed comment

* rubocop fixes

* fix rubocop warnings (#22225)

* Fix rubocop and tests (#22231)

* APPEALS-52222: Add seed data file for AOJ remand return feature development (#22245)

* added initial seed file

* refactor create_correspondent

* Calvin/appeals 52551 (#22293)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* fixed lint errors

* Craig/case docket optimization (#22294)

* age_of_n_oldest_priority_appeals_available_to_judge time out changes

* fixed timeout issue for distribute_priority_appeals

* optimize case docket priority distribution methods

* fix das deprecation distribution spec

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* Combination/appeals 50951 50966 50980 (#22250)

* [APPEALS-50951]: Class Created for LegacyAojDocket

* draft PR

* aoj_case_docket initial work

* initial aoj case docket creation

* added missing method to aoj_case_docket

* updated legacy docket spec to remove any AOJ data

* fixed lint error

* moving aoj appeal repository file to the correct folder

* set up aoj Appeal Repository file

* remove unnecessary rubocop disable

* LegacyAojDocket

* rspec for aoj appeal repository

* updated push_priority_appeals_to_judges_job_spec.rb

* remove byebug

* fixing some rubocop errors

* fixed aoj_legacy_docket_spec

* fixed most errors in push_priority_to_judges_job_spec

* rubocop ignores/fixes

* Added count code in aoj legacy docket

* fixed last push_priority spec error

* removed unnecessary methods and reworked rspecs

* fix update_appeal_affinity method for both CaseDocket and AojCaseDocket

* remove unneccessary code

* remove duplicate methods

* resolved comments

* removed unwanted code

* remove age_of_n_oldest_genpop_priority_appeals from aoj

* removed bfhines mentions

* remove bfhines from update_appeal_affinity_dates_query

* remove bfhines testing from rspec

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update admin_ui_spec.rb for CAVC levers being enabled

* Appeals-43900: Update Distribution Levers Seed Values to Enable in UI (#22249)

* init. commit

* updated test with data staged

* updates to test implementation

* removed rspec factory declarations

* removed blank space

* updated seed values for aoj seeds

* updated tests

* seeds typo

* seeds typo

* added passing class methods

* review response + updates to spec

* updated name error

* updated context name

* lint fixes

* APPEALS-50870: Add New Factory Trait to VACOLS/ Case for AOJ w/ Previous Appeal (#22248)

* add legacy_aoj_appeal factory

* add tests to vacols/case model for aoj appeal factory

* add comments to factory

* kick tests

* skip flaky distribution_spec.rb tests

* update appeals ready to distribute CSV query for AOJ docket

* update admin_ui tests for AOJ levers being enabled

* Combination/appeals 43899 43901 43902 (#22429)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>

* APPEALS-53993: Update Implementation of Legacy Appeals with Hearing Held (#22473)

* implement new hearing requirement and test

* first pass at seed data for testing

* add new case to test and seed, fix typo and comments

* update for new 8.2.1.1 requirement

* fix rubocop warning

* fix error in seed file

* add new affinity scenario to seed data

* make some seed methods private

* fix rubocop warnings

* rspec addition for aoj (#22405)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Update testing CSV files with affinity start date and original judge columns (#22498)

* affinity start date column

* original judges column for legacy and ama appeals

* remove unnecessary rubocop disable

* swap judge_mem_id with original_judge variables for better clarity

* Calvin/appeals 53712 (#22490)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* added lever to related rspecs

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* skip flaky test

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* aoj_cavc seed data for testing

* made changes based on craigs comments

* fixed small name issues

* lint fix

---------

Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* Seed Data for Testing AOJ AOD Affinity Lever (#22501)

* Seed Data for Testing AOJ AOD Affinity Lever

* Name changes to Genpop

* fixed lint issue and addressed comments

* typo error fixed

* uncommented code

* Added back 2 additional appeals with Cavc

* Isaiah/appeals 43895 (#22536)

* initial aoj_cavc affinity lever work

* added seed data for aoj cavc lever

* initial testing for aoj_cavc

* rspec addition for aoj

* updated rspecs + seed data

* updated JOIN_PREVIOUS_APPEAL constant

* updated spec files to include aoj cavc lever + fix linting

* lint fix

* rename aoj_cavc_affinity trait

* aoj affinity lever imp.

* added lever to related rspecs

* seeds

* Added Aoj Aod affinity days in distribute appeals

* Aoj_aod affinity lever

* removed bfac stuff

* Added seed data and test cases

* fixed typo errors

* updated JOIN_PREVIOUS_APPEAL

* fix for binding query with variables

* removed altering of bfkey in the aoj_case_docket_spec test

* update lever name and add to related rspecs

* one more update for lever name

* added lever to related rspecs

* edited rspec tests

* update to add lever to all related rspecs

* update JOIN_PREVIOUS_APPEALS constant

* skip flaky test

* lint fixes, spec fixes, and implementation updates

* seed updates

* fixed query santizing with variables + added infinite lever error handling

* added tests for when both aoj levers are infinite

* rspec fixes on query

* changing rspec lever test to use nonpriority method call

* updated variable name

* skipped flaky test

* fix method naming

* refactored age_of_n_nonpriority method

* fixed parenthesis for age_of_n method

* Added 2 additional appeal with cavc

* Updated dates

* updates to age_of_n_oldest_nonpriority method

* updates to fixx issue on lever set to infinite

* replaced num with judge.vacols_attorney_id

* rubocop fixes

* spec and update on missing parenthesis

* lint error

* seed adjustments

* compiled updates to seed

* removed repeating methods and rearranged methods

* lint fix

* adjustments to seeds

* seed updates

* seed updates

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>

* SeanP/APPEALS-55085: Add columns to distribution_stats for new AOJ legacy docket (#22655)

* aoj_legacy_stats and aoj_legacy_priority_stats to distribution_stats table, including tests

* run make migrate to drop unnecessary local table

* add distribtuion stats to serializer in lower environments (#22559)

* Calvin/appeals 53978 (#22612)

* initial code changes + rspec fixes

* lint fixes and reorganized code

* added a skip to aoj_legacy distribution stats (must add back later)

* fixed remaining rspecs by adding to stats

* lint fix

* removing guard clauses

* removed flaky test

* Update dist controller tests for addition of distribution_stats to the serializer

* Initial commit of Affinity_date_count (#22609)

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Initial commit of Affinity_date_count

* added code in aoj legacy docket

* affinity_date_count methods for legacy docket and aoj legacy docket

* addressed comments

* refactored affinity_date_count methods and added filters

* Added rspecs and code refator

* robocop fixed

* Addressed comments and updated test cases

* Lint issue fixed

* Updated in and out affinity date window for both aoj and non aoj

* Addressed comments

* Fixed lint issue

* refactored affinity date count logic and rspecs

* fixed priority and non priority  affinity count query + rspecs

* lint issue fixed

* fixed nonpriority affinity date count method

* added comments + new method for nonpriority

---------

Co-authored-by: Calvin <Calvin.Costa@va.gov>

* APPEALS-55609: Cache case distribution lever values at beginning of PPJ or other distribution (#22654)

* method additions for cache writeouts

* moved cache methods to distribution.rb

* updates to the imp.

* added conditional on assignment

* changed order of conditional

* rspec addition & revised expiration for cache

* updates to point of method call

* updates to cache imp.

* modified removal and name of cache

* updates following review

* update to rspec

* chained rspec method to call original

* rspec fixes for aoj_case_docket

* chained method count to receive

* cleared cache on case docket spec

* fix case factory defining correspondent twice

* Calvin/appeals 57225 (#22777)

* added test cases for infinite and omit levers with desired outcomes

* add check for hearing date to levers being infinite

* fix lint

* adding method to aoj case docket

* updated rspecs

* added cache clearing

* refactored spec tests

* fixed rspec expectations

* fixed use of double update

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* Migrate databases after Rails upgrade

* APPEALS-57350, APPEALS-57391: Fix distribution statistics affinity_date_count methods (#22955)

* add metabase to m1 docker compose

* rename metabase container and specify a version

* add script for initial metabase setup

* script output formatting

* add metabase directory

* move to a dockerfile, implement VACOLS to setup script

* add metabase to original docker-compose

* add step to initialize metabase in demo startup

* update demo startup.sh to initialize metabase with absolute path

* add make command for local metabase setup

* fix makefile syntax error

* update scripts to work in AWS

* update demo script to use apt-get instead of yum

* update demo script to use dns for vacols-db

* fix vacols DB docker DNS name

* Distribution stats error (#22773)

* Distribution stats error

* Added test cases affinity date count

* Addressed comments and refactor genpop_by_affinity_start_date method using the OR condition

* Addressed comments

* add distribtuion stats to serializer in lower environments

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>
Co-authored-by: Craig Reese <Reese_Craig@bah.com>

* APPEALS-57391: Distribution statistics method affinity_date_count does not return accurate counts for the Hearing docket (#22827)

* added method for method chaining onto scope

* chained to scope

* updated affinity_date_count method and added rspec

* added missed 'self'

* changes for pasaing test

* updates to spec and affinity_date_count

* test updates

* rubocop fixes

* rubocop fixes

* removed unused methods

---------

Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com>

* Update test files for combining the branches

---------

Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>

* Fixed appeals ready for distribution query when no prev_deciding_judge exists

* rebased hotfix/APPEALS-58200 changes to feature branch (#23067)

* rebased hotfix/APPEALS-58200 changes to feature branch

* added aoj_case_docket changes

* updated docket coordinator spec to include levers

* Update ReturnLegacyAppealsToBoardJob to use AojLegacyDocket (#22975)

* tie return_legacy_appeals_to_board_job to AojLegacyDockets

* remove duplicate test

* testing aoj case docket appeals

* Rails logger

* getting legacy_aoj_appeal tests to work

* select PREV_TYPE_ACTION

* remove Rails logger

* change constant in self.ready_to_distribute_appeals to include hearing judge

* APPEALS-60079: Hearing held before most recent Remand Judge distributing correctly when lever is set to infinite (#23115)

* update infinite lever checks to use deciding instead of hearing judge

* fix bug in seed data with user css_id lengths

* Craig/appeals 60680 (#23177)

* add test scenario and update assertions for SMR changes

* update test assertions for hearing after decision checks

* code change for tying cases with a nil previous deciding judge

* updated seed veteran names for new scenarios

* Add checks for disable_legacy Case Distribution Levers to the AOJ legacy docket

* APPEALS-61180: Improve Performance of the AOJ Distribution Queries (#23268)

* add feature toggles to AMA statistics to allow disabling of certain queries

* set case_docket counts method to only count if the appeal is not a post remand

* refactor affinity filters for performance

* refactor cavc filters in case_docket for performance

* fix rubocop warnings

* refactor for reduce repetition

* refactor repeated code in affinity filters to a common method

* fix rubocop warnings in case docket files

* update code comments for consistency in methods

* add test for distribution stats behavior with disable stats toggles turned on

* add automated test to validate new feature toggle behavior

* update tests for .counts_by_priority_and_readiness

* add comment to case docket spec

* Add new feature toggle to local/demo disable list

* remove distribution stats generation from the initial transaction to reduce time for users to get their cases

* add aoj to aoj repository metrics logs

---------

Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>

* Update VACOLS case factory sequence to remove leading zeroes (#23366)

* Hotfix/appeals 62986: Fix RemandDtaOrDooHigherLevelReview script

---------

Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com>
Co-authored-by: hawkespoulterva <177681365+hawkespoulterva@users.noreply.github.com>
Co-authored-by: Griffin Dooley <dooleygriffin@gmail.com>
Co-authored-by: AdamShawBAH <adam.shaw@va.gov>
Co-authored-by: calvincostaBAH <108481161+calvincostaBAH@users.noreply.github.com>
Co-authored-by: samasudhirreddy <108430298+samasudhirreddy@users.noreply.github.com>
Co-authored-by: Calvin <Calvin.Costa@va.gov>
Co-authored-by: seanrpa <155660052+seanrpa@users.noreply.github.com>
Co-authored-by: Isaiah Saucedo <irsaucedo5@gmail.com>
Co-authored-by: samasudhirreddy <sudhirreddy.sama@va.gov>
Co-authored-by: Sean Parker <Sean.Parker3@va.gov>
Co-authored-by: Ron Wabukenda <130374706+ronwabVa@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants