bcgov / bcgov/foi-flow

Fee Estimates - Fee Waiver Form

Open
#2,465 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Story
Dominant language
Python
Stars
8
Forks
2
Avg merge
14h 34m
Merged PRs (30d)
46

Description

  • As an IAO User
  • I want to submit a fee waiver to the Ministry
  • so that I can seek Ministry approval

Assumptions & Scope
This will form the basis of the fee waiver workflow - in response to a fee estimate, an applicant could request a fee waiver. During this process, a FOI analyst prepares a recommendation based on the information provided by the applicant, and in most cases will send to the Ministry for decision. This story aims to digitize that process, allowing IAO and the Ministry to have the waiver determination form in the same place.
The fee waiver form doesn't become active until a request is On Hold

What is IN scope?
Navigation to the Fee waiver form
The form itself - including fields that will be auto-populated
Conditional logic of the form
Validations for the form

What is NOT in scope?
Approval of the Form (separate story)
Editing logic with the form (separate story)
Waiver application to fee estimate (separate story)

Acceptance Criteria

Scenario 1: Forms Dropdown

  • GIVEN I am on a general FOI request
  • WHEN I click on forms on the left hand nav bar
  • THEN I will see the following options in a sub-menu: CFR Form, Fee Waiver Form

Scenario 2: Activate Fee Waiver Form

  • GIVEN I have activated the "Forms" sub-menu
  • WHEN I click on Fee waiver Form
  • THEN I will be taken to the digitized fee waiver form

Scenario 3: Fee Waiver Form - Auto-Populated Fields

  • GIVEN I have activated the Fee Waiver form
  • WHEN the fee waiver form populates
  • THEN the request description; date range for records search, and total fees due will populate based on data from the application; and the Form status will default to "In Progress IAO"
  • AND the save button will be inactive

Scenario 4: Fee Waiver Form - Waiver Requested Date

  • GIVEN I am on the fee waiver form
  • WHEN I click on the calendar picker for Waiver Request Date
  • THEN a calendar picker will activate
  • AND I can NOT pick a date in the future

Scenario 5: Fee Waiver Form - Waiver Response Date

  • GIVEN I have activated the calendar picker for waiver request date
  • WHEN I select a date
  • THEN the date shall appear in the field
  • AND the waiver response date will auto-calculate to 20 business days from the request date
  • AND the field will not be editable

Scenario 6: Activate Fields - Type of Waiver

  • GIVEN I am on the fee waiver form
  • WHEN I activate the checkbox for Inability to Pay
  • AND/OR I activate the checkbox for public interest
  • THEN one, or both selections checked will activate the sections and automatically expand them for filling

Scenario 7: De-Activate Fields - Type of Waiver

  • GIVEN I am on the fee waiver form
  • AND the type of waiver options have been checked
  • WHEN I de-activate the checkbox for Inability to Pay
  • AND/OR I de-activate the checkbox for public interest
  • THEN one, or both selections checked will de-activate the sections and automatically close them

Scenario 8: Save Activation

  • GIVEN I am on the fee waiver form
  • WHEN I have updated any field
  • THEN the save button will become active

Scenario 9: Save form

  • GIVEN the save button is active on the fee waiver form
  • WHEN I click on the save button
  • THEN a toast will appear confirming a successful save
  • AND the changes I made to the form will persist

Scenario 10: Mandatory fields

  • GIVEN all the checkboxes in the waiver form are mandatory fields
  • WHEN I select "Yes" to any of the checkboxes
  • THEN the description field below will also become mandatory

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)

Validation Rules? (If yes, list here)

Design
https://jacklyn808742.invisionapp.com/console/share/3W2O64AP5C/933929007

Definition of Ready

  1. Is there a well articulated User Story?
  2. Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
  3. If there is a user interface, is there a design?
  4. Does the user story need user research/validation?
  5. Does this User Story needs stakeholder approval?
  6. Design / Solution accepted by Product Owner
  7. Is this user story small enough to be completed in a Sprint? Should it be split?
  8. Are the dependencies known/ understood? (technical, business, regulatory/policy)
  9. Has the story been estimated?

Definition of Done

  1. Passes developer unit tests
  2. Passes peer code review
  3. If there's a user interface, passes UX assurance
  4. Passes QA of Acceptance Criteria with verification in Dev and Test
  5. Confirm Test cases built and succeeding
  6. No regression test failures
  7. Test coverage acceptable by Product Owner
  8. Ticket ready to be merged to master or story branch
  9. Developer to list Config changes/ Update documents and designs
  10. Can be demoed in Sprint Review
  11. Tagged as part of a Release
  12. Feature flagged if required
  13. Change Management activities done?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing request and fee-estimate form flows, navigation, persistence, and related tests, then compare them with the linked InVision design. Implement and verify the fee waiver navigation, populated fields, date rules, conditional sections, validation, save behavior, and status described in the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.