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

Ticket #2147: Ensure domain Request and domain Info have "Non-federal" instead of None when empty #2169

Merged
merged 3 commits into from
May 16, 2024

Conversation

zandercymatics
Copy link
Contributor

@zandercymatics zandercymatics commented May 14, 2024

Ticket

Resolves #2147

Changes

  • On approve, if the federal_agency value is none, we set it to the "Non-federal agency" value
  • Adds a unit test for this scenario

Context for reviewers

This PR simply makes sure that, on approval, the federal agency value is set "Non-federal agency" when it would otherwise be None

Setup

Create a new domain request (or use an existing one) with a federal agency value == None. Then, approve the request and inspect the new value.

This field should be untouched otherwise

Code Review Verification Steps

As the original developer, I have

Satisfied acceptance criteria and met development standards

  • Met the acceptance criteria, or will meet them in a subsequent PR
  • Created/modified automated tests
  • Added at least 2 developers as PR reviewers (only 1 will need to approve)
  • Messaged on Slack or in standup to notify the team that a PR is ready for review
  • Changes to “how we do things” are documented in READMEs and or onboarding guide
  • If any model was updated to modify/add/delete columns, makemigrations was ran and the associated migrations file has been commited.

Ensured code standards are met (Original Developer)

  • All new functions and methods are commented using plain language
  • Did dependency updates in Pipfile also get changed in requirements.txt?
  • Interactions with external systems are wrapped in try/except
  • Error handling exists for unusual or missing values

Validated user-facing changes (if applicable)

  • New pages have been added to .pa11yci file so that they will be tested with our automated accessibility testing
  • Checked keyboard navigability
  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)
  • Add at least 1 designer as PR reviewer

As a code reviewer, I have

Reviewed, tested, and left feedback about the changes

  • Pulled this branch locally and tested it
  • Reviewed this code and left comments
  • Checked that all code is adequately covered by tests
  • Made it clear which comments need to be addressed before this work is merged
  • If any model was updated to modify/add/delete columns, makemigrations was ran and the associated migrations file has been commited.

Ensured code standards are met (Code reviewer)

  • All new functions and methods are commented using plain language
  • Interactions with external systems are wrapped in try/except
  • Error handling exists for unusual or missing values
  • (Rarely needed) Did dependency updates in Pipfile also get changed in requirements.txt?

Validated user-facing changes as a developer

  • New pages have been added to .pa11yci file so that they will be tested with our automated accessibility testing

  • Checked keyboard navigability

  • Meets all designs and user flows provided by design/product

  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)

  • Tested with multiple browsers, the suggestion is to use ones that the developer didn't (check off which ones were used)

    • Chrome
    • Microsoft Edge
    • FireFox
    • Safari
  • (Rarely needed) Tested as both an analyst and applicant user

Note: Multiple code reviewers can share the checklists above, a second reviewers should not make a duplicate checklist

As a designer reviewer, I have

Verified that the changes match the design intention

  • Checked that the design translated visually
  • Checked behavior
  • Checked different states (empty, one, some, error)
  • Checked for landmarks, page heading structure, and links
  • Tried to break the intended flow

Validated user-facing changes as a designer

  • Checked keyboard navigability

  • Tested general usability, landmarks, page header structure, and links with a screen reader (such as Voiceover or ANDI)

  • Tested with multiple browsers (check off which ones were used)

    • Chrome
    • Microsoft Edge
    • FireFox
    • Safari
  • (Rarely needed) Tested as both an analyst and applicant user

Screenshots

Copy link

🥳 Successfully deployed to developer sandbox za.

@zandercymatics zandercymatics changed the title (Draft) Ticket #2147 (Draft) Ticket #2147: Ensure domain Request and domain Info have "Non-federal" instead of None when empty May 14, 2024
@zandercymatics zandercymatics changed the title (Draft) Ticket #2147: Ensure domain Request and domain Info have "Non-federal" instead of None when empty Ticket #2147: Ensure domain Request and domain Info have "Non-federal" instead of None when empty May 14, 2024
Copy link

🥳 Successfully deployed to developer sandbox za.

Copy link

🥳 Successfully deployed to developer sandbox za.

@therealslimhsiehdy therealslimhsiehdy self-assigned this May 15, 2024
Copy link

🥳 Successfully deployed to developer sandbox za.

1 similar comment
Copy link

🥳 Successfully deployed to developer sandbox za.

Copy link
Contributor

@therealslimhsiehdy therealslimhsiehdy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM minus one question that I don't think is blocking!

The domain in review:
Screenshot 2024-05-15 at 1 28 17 PM
Screenshot 2024-05-15 at 1 28 33 PM

After approval:
Screenshot 2024-05-15 at 1 29 08 PM

@@ -751,6 +752,10 @@ def approve(self, send_email=True):
domain request into an admin on that domain. It also triggers an email
notification."""

if self.federal_agency is None:
self.federal_agency = FederalAgency.objects.filter(agency="Non-Federal Agency").first()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Do we need .first() here? I think the filter on the specific Non-Federal Agency in theory should be specific enough

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without .first, filter will return a queryset object which more or less (simplifying) looks like this: {FederalAgency} rather than FederalAgency. federal_agency expects just the object itself, not a dict of them so it will error out! Good question, thanks

@zandercymatics zandercymatics merged commit cfce03a into main May 16, 2024
10 checks passed
@zandercymatics zandercymatics deleted the za/2147-show-non-federal-for-federal-agency branch May 16, 2024 19:48
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.

Ensure domain Request and domain Info have "Non-federal" instead of None when empty
2 participants