bcgov / bcgov/entity

Step 4 - Review, Declare, Submit, Payment Due Status

Open
#23,477 0 comments 0 reactions 0 assignees View on GitHub
STR CHEFs
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

### 📖 User Story

**As a Strata Hotel user, after I complete the "Strata Hotel Details" page, I want to review my application in its entirety and be able to submit it, ensuring that I can correct any errors before finalizing the application. If there are any errors when I submit, the system should clearly indicate any missed requirements, so I know what I need to complete to successfully finalize the application.**

### Context:

The "Review and Confirm" page gives Strata Hotel users an opportunity to review their application and go back to make changes if needed before submitting their application.

This step follows the "Step 3 - Strata Hotel Details" page.

We want to assist Strata Hotel users with moving through the system and provide clear indications of any missed requirements or errors when the "Submit and Pay" button is clicked.

This will help users identify and correct mistakes, red X on the stepper pages with errors and specific messages for errors (found on each corresponding story for the step. not in this story)

We want to prevent the user from submitting the form until all errors, mandatory fields, documents are uploaded and mandatory declarations are checked.

When the user clicks "Submit and Pay" and there are no errors, the application is stored, and the status changes to **"Payment Due."**

Next steps outside of this story:
I also believe that the account is created between the submissions of the form and the call to the payment api??
Then next step is to call the Payment API (next story).

#### Declaration (Strata Hotel user must accept both of the following declarations):

I confirm that the information contained in the application for registration is accurate and true. I understand that if I have knowingly provided inaccurate or false information, I may be the subject of enforcement action under Part 4 of the Short-Term Rental Accommodations Act, including being ordered to pay an administrative penalty.

I confirm that all postings on this website include a valid registration number for each short-term rental offer and agree to share the process for removing unregistered listings.

### 📏 Business Rules

- [ ] Highlight the "Review and Confirm" step in the stepper.
- [ ] Display checkmarks on the steppers for previous steps ("Contact Information", "Business Details", "Strata Hotel Details") if all required information is validated.
- [ ] Present all the information entered from Step 1 "Contact Information", Step 2 "Business Details", and Step 3 "Strata Hotel Details" in a read-only format on the "Review and Confirm" page.
- [ ] Ensure the Strata Hotel user cannot make changes directly on the "Review and Confirm" page; it should be read-only.
- [ ] Allow users to navigate through the application by clicking the "Back" button to the page where they want to make changes.
- [ ] Allow users to navigate by clicking on any step in the stepper to go to the corresponding page where they want to make changes.
- [ ] Require the user to agree to the declarations before submitting the application.

- [ ] The application is stored when the user clicks "Submit and Pay."
- [ ] The application status is set to **"Payment Due."**
- [ ] The application is not considered submitted and ready for review until payment has been made successfully (next epic).
- [ ] Any changes the user makes in the application should be stored (saved) as they move through the application using the "Next"/"Back" buttons or the stepper.

### Technical Breakdown

- **Frontend (UI):**

- [ ]

- **Backend (BE):**

- [ ]
### 🎭 Story Scenarios

**Scenario 1: Review Application**

- **Given** the Strata Hotel user has completed Step 3 "Strata Hotel Details" page,
- **When** the user clicks on the "Next" button at the bottom of the page or clicks on the "Review and Confirm" step in the stepper,
- **Then** the user is presented with the "Review and Confirm" page,
- **And** the "Review and Confirm" step is highlighted,
- **And** the user is able to review the information they entered from "Contact Information", "Business Details", and "Strata Hotel Details" pages in one read-only view.

**Scenario 2: Edit Information - Navigating with Stepper**

- **Given** the user has reviewed and is currently on the "Review and Confirm" page,
- **When** the user clicks on any of the steps in the stepper,
- **Then** the user will be redirected to the corresponding page,
- **And** the user is able to make changes to that page.

**Scenario 3: Changes Made and User Returns to Review and Confirm Page Using Stepper**

- **Given** the user has finished reviewing and editing the application form,
- **When** the user clicks on the "Review and Confirm" step in the stepper,
- **Then** the user is redirected back to the "Review and Confirm" page,
- **And** the user sees an updated version of the application based on the changes made.

**Scenario 4: Moving Through Application Using Back or Next Button**

- **Given** the user is on any page in the application form,
- **When** the user clicks on the "Next" button or "Back" button from any page ("Contact Information", "Business Details", "Strata Hotel Details"),
- **Then** the information entered on that page is retained so that the information isn't lost,
- **And** the user is taken to the next or previous step in the application form.

**Scenario 5: Changes Made and User Returns to Review and Confirm Page Using Next Button**

- **Given** the user has made changes and is navigating through the application using the "Next" button,
- **When** the user reaches the "Review and Confirm" page,
- **Then** the user sees an updated version of the application based on the changes made.

**Scenario 6: Agreeing to the Declarations**

- **Given** the user is on the "Review and Confirm" page,
- **Then** the user is presented with the following declarations:
- **Declaration 1:** I confirm that the information contained in the application for registration is accurate and true. I understand that if I have knowingly provided inaccurate or false information, I may be the subject of enforcement action under Part 4 of the Short-Term Rental Accommodations Act, including being ordered to pay an administrative penalty.
- **Declaration 2:** I confirm that all postings on this website include a valid registration number for each short-term rental offer and agree to share the process for removing unregistered listings.
- **And** the user is required to check a box beside both declarations,
- **And** cannot submit the application unless those checkboxes are checked.

**Scenario 7: Submission of Application with Errors**

- **Given** the user is on the "Review and Confirm" page and attempts to submit the application,
- **When** there are errors in the application,
- **Then** the system validates all fields in the application form pages ("Contact Information," "Business Details," and "Strata Hotel Details"),
- **And** steppers for pages with errors display a red "X",
- **And** specific error messages are shown for each field with instructions on how to correct the error.

**Scenario 8: User Clicks on a Stepper with a Red "X"**

- **Given** the user clicks on a stepper with a red "X",
- **Then** the corresponding page loads,
- **And** errors in specific fields are highlighted,
- **And** specific error messages show for the fields where there are errors so the user knows what fields to correct,
- **And** when all errors are corrected, a green checkmark appears on the stepper.

**Scenario 9: User Clicks on "Submit and Pay" with No Errors**

- **Given** the user has completed all required fields in the application form,
- **And** there are no errors on any page,
- **And** the user has agreed to the declarations,
- **When** the user clicks the "Submit and Pay" button,
- **Then** the application is stored,
- **And** the application status is set to **"Payment Due."**

### Accessibility Scenarios

#### Keyboard Users

**Scenario 12: Comprehensive Keyboard Navigation**

- **Given** I am a keyboard user on the website,
- **When** I use the Tab key to navigate through the website,
- **Then** all interactive elements are accessible and highlighted,
- **And** I can activate these elements using the Enter or Space key.

#### Screen Reader Users

**Scenario 13: Descriptive Form Fields**

- **Given** I am filling out a form using a screen reader,
- **When** I navigate through the form fields and review page,
- **Then** each field is clearly labeled with descriptive text,
- **And** instructions are directly associated with their respective inputs.

#### Low Vision Users

**Scenario 14: Effective High Contrast Mode**

- **Given** I am a user with low vision on the website,
- **When** I enable high contrast mode,
- **Then** all content displays with high color contrast suitable for low vision,
- **And** the layout remains coherent and unchanged.

🌍 Global Scenarios

### Internet Connection

**Scenario 15: Standard Internet Connection**

- **Given** I am accessing the website from a standard internet connection,
- **When** I navigate to any page on the site,
- **Then** the page loads completely within 2 seconds, ensuring a fast and efficient user experience.

**Scenario 16: Low-Speed Internet**

- **Given** I have a low-speed internet connection,
- **When** I attempt to load and interact with the "Review and Confirm" page,
- **Then** the page prioritizes critical content and functionality, loading essential elements first to ensure usability.

### Mobile Responsiveness

**Scenario 17: Mobile Device Access**

- **Given** I am accessing the application on a mobile device,
- **When** I view the "Review and Confirm" page,
- **Then** the page displays correctly and is easily readable on my device, ensuring a responsive design.

---

**Note:** All validation rules and error messages are detailed in the **Business Rules** section. For specific validation logic, refer to the validation statements located in the **Product Team** channel under **Files**.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.