From 20cceb6b6aa4c3ccd5c13b5795ea1b754c32f335 Mon Sep 17 00:00:00 2001 From: Marc Steele <71673522+msteele96@users.noreply.github.com> Date: Wed, 4 Sep 2024 13:39:20 -0400 Subject: [PATCH] APPEALS-57210 Add ssl cert file to request in fake service (#22706) * Remove transaction_wrapper * Remove extra newline * APPEALS-51045: Remove ReceiveNotificationJob (#22207) Co-authored-by: nhansen3 * 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 * 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 Co-authored-by: Matthew Thornton <99351305+ThorntonMatthew@users.noreply.github.com> * removing job and all mentions of job (#22212) Co-authored-by: nhansen3 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 * 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 * 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 * 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 * 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 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 Co-authored-by: Marc Steele <71673522+msteele96@users.noreply.github.com> * 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 Co-authored-by: msteele 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 * APPEALS-57210 Add ssl cert file to request in fake service * Dst_test_fix (#22708) * Feature/appeals 47313.bugfix (#22702) * Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning * Comment out pdfjs worker lines in documentViewer.js to get rid of fake worker warning * Add PdfDocument component with no batching * Add MVP working reader prototype 2.0 * Add reader prototype warning on toolbar * Add MVP zoom function * Add prototype route * Fix next and previous doc links with prototype path * Extract toolbar buttons out to ReaderToolbar component * Fix prop type in PdfDocument * Remove prototype logic * Clean up prototype with utils * Fix scroll issue on document list view for Reader * APPEALS-46785. Add text layer to prototype. * Revert pdf-annotate changes * Revert PdfFile imports and comment out pdfjs imports * Remove extra sidebar html in PdfDocument * Remove unnecessary props from PdfDocument * Add WIP rotate function * Clean up components and css * Add pageUtil and clean up PdfDocument * Update rotate function * Fix sidebar css to dynamically shrink * APPEALS-46785. Add test coverage for pageUtil#renderPage. * APPEALS-46785. Search functionality for Reader prototype. * Update yarn.lock after rebasing. * APPEALS-48219. Prototype version of issue tags. * Update css for page rotate function * Remove and reinstall pdfjs-dist@2.6.347 and use cdn to get rid of fake worker warning * APPEALS-46785. Add text layer to prototype. * Add current page display functionality * Fix getPageNumFromScrollTop function for when document has been rotated * Fix getPageNumFromScrollTop function to have max page number * Fix css for rotation * Add sidebar categories * APPEALS-49501. Fix keyboard shortcut modal. * APPEALS-49501. Make pageUtil into Page component for React efficiency. * APPEALS-49501. Comments rework. * APPEALS-49501. Fix test/lint errors. * APPEALS-515895. Add back-to-documents-list hotkey. * Layout cleanup and add toggle menu function * Add MVP WIP DocumentInfo * Refactor redux appeal and fix Sidebar CSS to scroll * Update vacolsId proptype to string * APPEALS-52496. Update layout of Reader Prototype to match original layout. * Cleaning up imports and removing glamor. * Potential fix for double render error. * Add reader prototype feature toggle * Fix same canvas render error * Add Fake PDFJS Worker solution * Add pdfjs worker to intializers assets * Remove ocr path from documents controller * Add WIP load document error handling * Add error handling for PdfDocument when document load failure * Remove logic to access prototype through url * Update page title for Reader * Revert schema * Extract logic to DocumentLoadError component * Move banner/format.js to caseflow util directory * Remove 2.0 components, screens, routes directories and get successful compile * Remove 2.0 layouts directory * Remove 2.0 Router component * Move ErrorBoundary and Loadable components to client/app/components * Remove 2.0/components/shared directory * Move 2.0 store * Remove vscode settings * Remove 2.0 path lines * Delete 2.0 path lines in webpack config * Add back in vscode files * Fix text layer error. Fix pages leaking between documents. * Add max width to sidebar css to fix long document type overflow * Update element name for jump to page function * Remove scroll into view smooth * Update current page calculation * Hide search bar when switching documents. * Add IntersectionObserver logic to Page * Add useState * Add IntersectionObserver logic * Revert current page logic to use page size estimations instead of IntersectionObserver * Remove pdfjs imports from documentViewer.js and PdfFile.jsx * Add page number validation for ReaderFooter page input field * Cleanup * Disable previous/next buttons while pdf downloads. (#22511) * Remove canvas and test relying on it. (#22495) * Use intersection observer to hide offscreen pages. * Replace observer with content-visibility css. * Address comments from code review. * Davywentwortht2it/fix failures (#22631) * Remove linting errors. * Fix broken specs. * Comment out failing reader tests. * Update reviewer.scss to fix lint errors * Add space in reviewer.scss to fix lint error * Update css name --------- Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com> * Re-enable failing specs. (#22666) * Re-enable failing specs. * Reduce flakiness of specs. * Reduce flakiness of specs. * Reduce flakiness of specs. * Reduce flakiness of specs. --------- Co-authored-by: Davy Wentworth * Laurenyj/update prototypefooter (#22677) * fix PdfUIPageNumInput page width bug * Update prototype reader footer to match original reader footer css updates * Revert reviewer changes * move styles to the correct place to override width:100 * Remove unused prototype css * Update page input test snap * Revert Page component changes and update with ctx options --------- Co-authored-by: Sean Parker Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com> * Add assets folder to public (#22701) Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com> --------- Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com> Co-authored-by: Davy Wentworth Co-authored-by: Sean Parker * Have feature test account for DST * AM/PM (#22709) Co-authored-by: Matthew Thornton --------- Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com> Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com> Co-authored-by: Davy Wentworth Co-authored-by: Sean Parker Co-authored-by: Matthew Thornton --------- Co-authored-by: Matthew Thornton Co-authored-by: noahhansen-gov <166541737+noahhansen-gov@users.noreply.github.com> Co-authored-by: nhansen3 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 Co-authored-by: mikefinneran <110622959+mikefinneran@users.noreply.github.com> Co-authored-by: laurenyj <44596134+laurenyj@users.noreply.github.com> Co-authored-by: Davy Wentworth Co-authored-by: Sean Parker --- .../hearings/components/EmailConfirmationModal.jsx | 2 +- lib/fakes/va_notify_service.rb | 2 ++ .../schedule_veteran/build_hearsched_spec.rb | 14 +++++++++++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/client/app/hearings/components/EmailConfirmationModal.jsx b/client/app/hearings/components/EmailConfirmationModal.jsx index a9a6ec977ca..6d66a3a74f7 100644 --- a/client/app/hearings/components/EmailConfirmationModal.jsx +++ b/client/app/hearings/components/EmailConfirmationModal.jsx @@ -37,7 +37,7 @@ const formatTimeString = (hearing, timeWasEdited, hearingDate) => { centralOfficeTime.replace('EDT', 'ET') : `${moment(centralOfficeTime, 'hh:mm').format('h:mm a')} ET`; - timeString += ` / ${moment(hearing.scheduledTimeString, 'hh:mm').format('h:mm a')} `; + timeString += ` / ${moment(hearing.scheduledTimeString, 'hh:mm a').format('h:mm a')} `; timeString += moment(). tz(hearing.regionalOfficeTimezone). format('z'); diff --git a/lib/fakes/va_notify_service.rb b/lib/fakes/va_notify_service.rb index af4dee700eb..e8b9cb98d7b 100644 --- a/lib/fakes/va_notify_service.rb +++ b/lib/fakes/va_notify_service.rb @@ -22,6 +22,7 @@ def send_email_notifications( "?id=#{external_id}&status=delivered&to=test@example.com¬ification_type=email" request.headers["Content-Type"] = "application/json" request.headers["Authorization"] = "Bearer test" + request.auth.ssl.ca_cert_file = ENV["SSL_CERT_FILE"] HTTPI.post(request) end @@ -46,6 +47,7 @@ def send_sms_notifications( "?id=#{external_id}&status=delivered&to=+15555555555¬ification_type=sms" request.headers["Content-Type"] = "application/json" request.headers["Authorization"] = "Bearer test" + request.auth.ssl.ca_cert_file = ENV["SSL_CERT_FILE"] HTTPI.post(request) end diff --git a/spec/feature/hearings/schedule_veteran/build_hearsched_spec.rb b/spec/feature/hearings/schedule_veteran/build_hearsched_spec.rb index 217b1113f75..b99cf23bf03 100644 --- a/spec/feature/hearings/schedule_veteran/build_hearsched_spec.rb +++ b/spec/feature/hearings/schedule_veteran/build_hearsched_spec.rb @@ -246,8 +246,10 @@ def select_custom_hearing_time(time) click_dropdown(text: /^(#{time} (A|a)(M|m)( E)?)/, name: "optionalHearingTime0") end - def slots_select_hearing_time(time) - find(".time-slot-button", text: "#{time} #{Time.zone.now.zone}").click + def slots_select_hearing_time(time, date) + tz = Time.zone.parse("#{time} #{date} America/New_York").dst? ? "EDT" : "EST" + + find(".time-slot-button", text: "#{time} #{tz}").click end def slots_select_custom_hearing_time(time) @@ -821,10 +823,16 @@ def format_hearing_day(hearing_day, detail_label = nil, total_slots = 0) expect(page).to have_content("When you schedule the hearing, the Veteran, POA, and " \ "Judge will receive an email with connection information for the virtual hearing.") + date = if ro_key == "C" + HearingDay.find_by(request_type: "C").scheduled_for.to_s + else + HearingDay.find_by(regional_office: ro_key).scheduled_for.to_s + end + # Only one of these three gets called, they each represent a different # way to select a hearing time select_custom_hearing_time(time) unless slots - slots_select_hearing_time(time) if slots == "slot" + slots_select_hearing_time(time, date) if slots == "slot" slots_select_custom_hearing_time(time) if slots == "custom" # Fill in appellant details