From 1bedec0d86a1cc1bdb9df276e1210aff28d84f15 Mon Sep 17 00:00:00 2001 From: Amy Detwiler <133032208+amybids@users.noreply.github.com> Date: Wed, 3 Jul 2024 13:23:54 -0400 Subject: [PATCH] Merge feature/appeals 36234 uat 3.6.0 into uat/FY24Q3.6.0 (#22086) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 Co-authored-by: Michael Beard 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 * Updated lever history to handle null unit values from docket levers (#21567) Co-authored-by: 631966 * 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 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 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 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 * 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 * 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 * 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 * 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 Co-authored-by: Calvin Co-authored-by: youfoundmanesh Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com> Co-authored-by: Robert Travis Pierce Co-authored-by: Jeremy Croteau 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 * 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 * 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 * 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 Co-authored-by: 631966 * 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 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 * 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 * 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 * 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 Co-authored-by: cdetlefva <133903625+cdetlefva@users.noreply.github.com> * APPEALS-43962. Lint fixes (#21932) Co-authored-by: SHarshain * 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 * APPEALS-49100. getting value from the start_distribution_prior_to_goal (#21968) Co-authored-by: SHarshain * mbeard/APPEALS-46257 (#21976) * updates routes and frontend urls to namespace * removes superfluous 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 * 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 * init master merge branch --------- Co-authored-by: sbashamoni <138054633+sbashamoni@users.noreply.github.com> Co-authored-by: ramon-chavez * 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 * 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 * 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 * 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 * 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 * 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 * 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 Co-authored-by: Matthew Thornton * [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 Co-authored-by: Matthew Thornton 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 * 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 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 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 * 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 * 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 Co-authored-by: Noah Hansen Co-authored-by: Matthew Thornton 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 * 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 Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com> Co-authored-by: nhansen3 * 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 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 * 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 * 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 * 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 * Fix typo --------- Co-authored-by: Jeff Marks Co-authored-by: Matthew Thornton Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com> Co-authored-by: Jonathan Cohen 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 Co-authored-by: Prerna Devulapalli Co-authored-by: nhansen3 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 Co-authored-by: Matthew Thornton * [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 Co-authored-by: Matthew Thornton 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 * 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 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 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 * 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 * 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 Co-authored-by: Noah Hansen Co-authored-by: Matthew Thornton 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 * 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 Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com> Co-authored-by: nhansen3 * 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 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 * 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 * 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 * 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 * 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 * Use status text value instead of key --------- Co-authored-by: Jeff Marks Co-authored-by: Matthew Thornton Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com> Co-authored-by: Jonathan Cohen 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 Co-authored-by: Prerna Devulapalli Co-authored-by: nhansen3 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 Co-authored-by: Sean Parker Co-authored-by: Calvin * 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 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 Co-authored-by: Matt Roth Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com> Co-authored-by: Jeff Marks Co-authored-by: Matthew Thornton Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com> Co-authored-by: Jonathan Cohen 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 Co-authored-by: Prerna Devulapalli Co-authored-by: nhansen3 Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com> Co-authored-by: Sean Parker Co-authored-by: Calvin --------- Co-authored-by: Blake Manus <33578594+Blake-Manus@users.noreply.github.com> Co-authored-by: sbashamoni 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 Co-authored-by: Michael Beard Co-authored-by: SHarshain <133917878+SHarshain@users.noreply.github.com> Co-authored-by: 631068 Co-authored-by: Isaiah Saucedo Co-authored-by: Calvin Co-authored-by: youfoundmanesh Co-authored-by: Craig Reese <109101548+craigrva@users.noreply.github.com> Co-authored-by: Robert Travis Pierce Co-authored-by: Jeremy Croteau 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 Co-authored-by: ramon-chavez Co-authored-by: Matt Roth 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 Co-authored-by: Matthew Thornton Co-authored-by: Jonathan Cohen <121630615+JCohDev@users.noreply.github.com> Co-authored-by: Jonathan Cohen 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 Co-authored-by: Prerna Devulapalli Co-authored-by: nhansen3 Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com> Co-authored-by: Sean Parker --- Gemfile.lock | 2 +- app/controllers/explain_controller.rb | 2 +- app/models/docket.rb | 10 ++--- ...als_non_priority_ready_for_distribution.rb | 45 ++++++++++--------- .../caseDistribution/_lever_history.scss | 11 +++-- db/seeds/ama_affinity_cases.rb | 9 ++++ db/seeds/users.rb | 2 + ...ush_priority_appeals_to_judges_job_spec.rb | 2 +- .../create_conference_job_spec.rb | 2 +- 9 files changed, 50 insertions(+), 35 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7291094557c..868f16bd377 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2170,4 +2170,4 @@ DEPENDENCIES ziptz BUNDLED WITH - 2.4.19 + 2.4.17 diff --git a/app/controllers/explain_controller.rb b/app/controllers/explain_controller.rb index d03ced68ac1..adb4a4ab7c4 100644 --- a/app/controllers/explain_controller.rb +++ b/app/controllers/explain_controller.rb @@ -36,7 +36,7 @@ def access_allowed? Rails.env.development? end - helper_method :legacy_appeal?, :appeal, :appeal_affinity, :correspondence?, + helper_method :legacy_appeal?, :appeal, :appeal_affinity, :show_pii_query_param, :fields_query_param, :sections_query_param, :treee_fields, :enabled_sections, :available_fields, diff --git a/app/models/docket.rb b/app/models/docket.rb index e6b3b0a8ff5..07c14634730 100644 --- a/app/models/docket.rb +++ b/app/models/docket.rb @@ -87,14 +87,12 @@ def age_of_n_oldest_genpop_priority_appeals(num) ).limit(num).map(&:ready_for_distribution_at) end - def age_of_n_oldest_priority_appeals_available_to_judge(_judge, num) - ready_priority_nonpriority_appeals(priority: true, ready: true).limit(num).map(&:receipt_date) + def age_of_n_oldest_priority_appeals_available_to_judge(judge, num) + ready_priority_nonpriority_appeals(priority: true, ready: true, judge: judge).limit(num).map(&:receipt_date) end - # this method needs to have the same name as the method in legacy_docket.rb for by_docket_date_distribution, - # but the judge that is passed in isn't relevant here - def age_of_n_oldest_nonpriority_appeals_available_to_judge(_judge, num) - ready_priority_nonpriority_appeals(priority: false, ready: true).limit(num).map(&:receipt_date) + def age_of_n_oldest_nonpriority_appeals_available_to_judge(judge, num) + ready_priority_nonpriority_appeals(priority: false, ready: true, judge: judge).limit(num).map(&:receipt_date) end def age_of_oldest_priority_appeal diff --git a/app/queries/appeals_non_priority_ready_for_distribution.rb b/app/queries/appeals_non_priority_ready_for_distribution.rb index 116ab9e587f..81873d8560f 100644 --- a/app/queries/appeals_non_priority_ready_for_distribution.rb +++ b/app/queries/appeals_non_priority_ready_for_distribution.rb @@ -41,8 +41,9 @@ def self.ready_appeals docket_coordinator.dockets .flat_map do |sym, docket| if sym == :legacy - appeals = docket.ready_to_distribute_appeals.select { |appeal| appeal["aod"] == 0 } - legacy_rows(appeals, docket, sym) + [] # TODO Add this back + # appeals = docket.ready_to_distribute_appeals.select { |appeal| appeal["aod"] == 0 } + # legacy_rows(appeals, docket, sym) else appeals = docket.ready_priority_nonpriority_appeals(priority: false, ready: true) ama_rows(appeals, docket, sym) @@ -50,26 +51,26 @@ def self.ready_appeals end end - def self.legacy_rows(appeals, docket, sym) - appeals.map do |appeal| - veteran_name = FullName.new(appeal["snamef"], nil, appeal["snamel"]).to_s - vlj_name = FullName.new(appeal["vlj_namef"], nil, appeal["vlj_namel"]).to_s - hearing_judge = vlj_name.empty? ? nil : vlj_name - { - docket_number: appeal["tinum"], - docket: sym.to_s, - aod: appeal["aod"] == 1, - cavc: appeal["cavc"] == 1, - receipt_date: appeal["bfd19"], - ready_for_distribution_at: appeal["bfdloout"], - target_distro_date: target_distro_date(appeal["bfd19"], docket), - days_before_goal_date: days_before_goal_date(appeal["bfd19"], docket), - hearing_judge: hearing_judge, - veteran_file_number: appeal["ssn"] || appeal["bfcorlid"], - veteran_name: veteran_name - } - end - end + # def self.legacy_rows(appeals, docket, sym) + # appeals.map do |appeal| + # veteran_name = FullName.new(appeal["snamef"], nil, appeal["snamel"]).to_s + # vlj_name = FullName.new(appeal["vlj_namef"], nil, appeal["vlj_namel"]).to_s + # hearing_judge = vlj_name.empty? ? nil : vlj_name + # { + # docket_number: appeal["tinum"], + # docket: sym.to_s, + # aod: appeal["aod"] == 1, + # cavc: appeal["cavc"] == 1, + # receipt_date: appeal["bfd19"], + # ready_for_distribution_at: appeal["bfdloout"], + # target_distro_date: target_distro_date(appeal["bfd19"], docket), + # days_before_goal_date: days_before_goal_date(appeal["bfd19"], docket), + # hearing_judge: hearing_judge, + # veteran_file_number: appeal["ssn"] || appeal["bfcorlid"], + # veteran_name: veteran_name + # } + # end + # end def self.ama_rows(appeals, docket, sym) appeals.map do |appeal| diff --git a/client/app/styles/caseDistribution/_lever_history.scss b/client/app/styles/caseDistribution/_lever_history.scss index a958dd55128..79747c626e0 100644 --- a/client/app/styles/caseDistribution/_lever_history.scss +++ b/client/app/styles/caseDistribution/_lever_history.scss @@ -7,8 +7,7 @@ border-color: $color-gray-lighter; vertical-align: text-top; font-family: Source Sans Pro; - font-size: 19px; - width: 20%; + font-size: 17px; } .lever-history-table-header-styling { @@ -18,7 +17,7 @@ border-color: $color-gray-lighter; font-family: Source Sans Pro; font-weight: 700; - font-size: 19px; + font-size: 17px; line-height: 1.3em/25px; } @@ -34,8 +33,14 @@ table { width: 100%; margin-top: 0; + overflow: auto; + display: block; tr { + max-width: 30rem; + overflow-x: auto; + padding: 1rem; + font-size: 1.5rem; border-bottom: 1px solid $color-gray-lighter; th { diff --git a/db/seeds/ama_affinity_cases.rb b/db/seeds/ama_affinity_cases.rb index ad394c7a23a..e3c444863d8 100644 --- a/db/seeds/ama_affinity_cases.rb +++ b/db/seeds/ama_affinity_cases.rb @@ -84,6 +84,7 @@ def create_set_of_affinity_cases end end +<<<<<<< HEAD def create_hearing_docket_cavc_cases judges_with_attorneys.each do |judge| # Case in affinity window for both levers where new hearing and previous deciding judge are the same @@ -108,6 +109,8 @@ def create_hearing_docket_cavc_cases end end +======= +>>>>>>> feature/APPEALS-36234 def judges_with_attorneys # use judges with attorneys to minimize how many cases are distributed when testing because the # alternative_batch_size is higher than the batch_size for most judge teams @@ -115,11 +118,14 @@ def judges_with_attorneys JudgeTeam.all.reject { |jt| jt.attorneys.empty? }.map(&:judge).compact.filter(&:vacols_attorney_id) end +<<<<<<< HEAD def hearing_judge @hearing_judge ||= User.find_by_css_id("HRNG_JUDGE") || create(:user, :judge, :with_vacols_judge_record, css_id: "HRNG_JUDGE", full_name: "Judge HeldHearing") end +======= +>>>>>>> feature/APPEALS-36234 # rubocop:disable Metrics/AbcSize def create_case_ready_for_less_than_cavc_affinty_days(judge) attorney = JudgeTeam.for_judge(judge).attorneys&.filter(&:attorney_in_vacols?)&.first || @@ -373,6 +379,7 @@ def create_ama_affinity_cases_set(judge, years_old) evidence_submission_cavc_remand.remand_appeal.tasks.where(type: SendCavcRemandProcessedLetterTask.name).first.completed! hearing_cavc_remand.remand_appeal.tasks.where(type: SendCavcRemandProcessedLetterTask.name).first.completed! end +<<<<<<< HEAD def create_hearing_cavc_case_ready_at_n_days_ago(affinity_judge:, hearing_judge:, days_ago:) # Go back to when we want the original appeal to have been decided @@ -411,6 +418,8 @@ def create_hearing_cavc_case_ready_at_n_days_ago(affinity_judge:, hearing_judge: # Return the remand appeal to let us track which appeals were created when run from a rails console remand end +======= +>>>>>>> feature/APPEALS-36234 # rubocop:enable Metrics/AbcSize end end diff --git a/db/seeds/users.rb b/db/seeds/users.rb index e8948f014a3..7d46b5f805a 100644 --- a/db/seeds/users.rb +++ b/db/seeds/users.rb @@ -116,6 +116,8 @@ def create_users # Below originated in Education seed file setup_emo_org setup_rpo_orgs + + create_qa_test_users end def create_bva_dispatch_admin diff --git a/spec/jobs/push_priority_appeals_to_judges_job_spec.rb b/spec/jobs/push_priority_appeals_to_judges_job_spec.rb index 4e14a485502..258b6c22c8e 100644 --- a/spec/jobs/push_priority_appeals_to_judges_job_spec.rb +++ b/spec/jobs/push_priority_appeals_to_judges_job_spec.rb @@ -190,7 +190,7 @@ def to_judge_hash(arr) :ready_for_distribution, :advanced_on_docket_due_to_age, :with_appeal_affinity, - uuid: "bece6907-3b6f-4c49-a580-6d5f2e1ca65d", + uuid: ready_priority_uuid2, docket_type: Constants.AMA_DOCKETS.hearing, receipt_date: receipt_date ) diff --git a/spec/jobs/virtual_hearings/create_conference_job_spec.rb b/spec/jobs/virtual_hearings/create_conference_job_spec.rb index 51102700da2..41c840f7e24 100644 --- a/spec/jobs/virtual_hearings/create_conference_job_spec.rb +++ b/spec/jobs/virtual_hearings/create_conference_job_spec.rb @@ -234,7 +234,7 @@ end end.to( have_performed_job(VirtualHearings::CreateConferenceJob) - .exactly(10) + .exactly(5) .times )