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

Clay s/appeals 56608 #23453

Draft
wants to merge 19 commits into
base: feature/APPEALS-53424
Choose a base branch
from
Draft

Conversation

brandondorner
Copy link
Contributor

Resolves Jira Issue Title

Description

Please explain the changes you made here.

Acceptance Criteria

  • Code compiles correctly

Testing Plan

  1. Go to Jira Issue/Test Plan Link or list them below
  • For feature branches merging into main: 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?

seancva and others added 19 commits October 24, 2024 15:10
* Initial commit that alters the business line logic to accept a date filter for the tasks completed at column and logic to support and filter by it via the database query.

* Added new tests for the tasksClosedAt filter to the business line spec. Adjusted the between lambda filter to work for either ordering of the start date or end date as the first chronological date in the query. Optimized the business line spec by swapping to before all loops and instance variables to shorten the time it takes to run the test.

* Rewrote a bit more of the business line spec to speed it up via one time test data setup rather than for each test.

* Updated the vha business line spec file. Fixed a code climate warning.

* Removed some commented out code and changed the database cleaner to Task.delete all to be a bit more specific on cleanup before the change history tests.

* Removed QueueTable code that was unrelated to the DatePicker that was causing errors.

* Updated the wording in the filter summary for the closedAt filter to say Date Compeleted instead of closedAt.

* Fixed a bug where the filter preservation was not working with the way the date filter params were added to the get params. Altered the Completed tasks tab description based on the Date Completed filter. Started adding a feature test for the completed date filtering.

* Updated the formatting of the date in the completed tasks tab description to match mm/dd/yyyy format. Finished up the feature spec test for the completed date filtering.

* Updated the expected values from the DatePicker to match what was in the feature branch. Updated the completed tasks tab description to once again be last 7 days for any business line that is not the VHA. Fixed a code climate issue with the new regex used for the filter preservation hook. Updated the new vha completed by date column to match the old column value so sorting and filtering will work correctly.

* Updated the aria label in the new column.

* Fixed failing tests related to the completed date column, completed tasks description, and the clear filters change from the DatePicker.

* Changed single quotes to double quotes in ruby.

* Fixed a few more test failures.

* Altered the date picker validation code to disable the button if no date is selected for on, before, or after.

* Updated the completed tasks tab description filtered by completed text to be less verbose. Change .nil? to .blank? in the closed_at filter parsing. Updated the test to reflect the new wording.

* Updated the Completed Cases text to contain no colon for the vha decision review queue. Fixed a bug in the date picker where the View All was not resetting the filter correctly.

* Fixed a few jest tests.

* Fixed a bug that could occur if you are trying to filter by a column that does not exist in a different queue.

* Updated feature test with the new vha all completed cases description text without a colon.

* Fixed a text issue when swapping between business lines with the same user that has a filter from the vha business line.

---------

Co-authored-by: Brandon Lee Dorner <51007432+brandondorner@users.noreply.github.com>
* Remove created_by constraint

* Add automated test coverage

* Fix broken test

---------

Co-authored-by: Matthew Thornton <ThorntonMatthew@users.noreply.github.com>
… results (#23321)

* Added the initial changes required to filter the tasks used by business line reporter by the filters that are present on the vha decision review queue.

* Added branching for the business line reporter to keep the original behavior for other business lines but keep the new filtering behavior for VHA. Added tests for the filtered business line reporter.

* Updated a few capybara tests for description text wording.

* Added the id asc sort order back to the business line reporter class for the vha business line. Fixed a failing feature test.

* Fixed a failed expectation in business line reporter spec.
Copy link

codeclimate bot commented Nov 7, 2024

Code Climate has analyzed commit b300999 and detected 2 issues on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 2

View more on Code Climate.

@brandondorner brandondorner changed the base branch from main to feature/APPEALS-53424 November 12, 2024 17:17
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.

5 participants