Create my SBC Connect Account - Host accept Terms of Service
📖 User Story
As team lead I want the host to either accept or decline the "Terms of Service" right after they log in with BC Services Card Account So that I know hosts acknowledge that they understand and agree to the rules of using the service
Context:
[add context]
Story Board: https://app.mural.co/t/citzservicebcbcros0435/m/citzservicebcbcros0435/1706554024951/153dc4e4f3fbbd7cfc1352e0c804cb105960321e?sender=u919d7a4924c2e37e12b55343
📏 Business Rules
- [ ] check to see if Terms of Services has been updated - if changed all users (New and Existing have to accept new terms)
- [ ] Existing SBC Connect Account - has not accepted the Terms of Services they have to accept before they get to the account selection screen
- [ ] Must accept the Terms of Services if they haven't accept it before
- [ ] New account can not proceed to the next step - Create or Select Account in SBC Connect if they don't accept the TOS
- [ ] HOUS Staff (i.e., examiners) do not need to accept TOS
🎭 Story Scenarios
Scenario 1: Authenticated and Logged in to STR
- Given the user has been authenticated via SBC Connect
- When it's the first time for use to login or use the service
- Then the user needs to view a Terms of Service
Scenario 2: Accept TOS
- Given the user has logged into SBC Connect
- When the user accepts the Terms of Service
- Then the user will proceed to the application form
Scenario 3: Decline TOS
- Given the user has logged into SBC Connect
- When the user decides to decline the Terms of Service
- Then the user will not be able to proceed to the application form
Scenario 4: TOS has been updated
- Given the user has accepted Terms of Service
- When there is a new version of the Terms of Service
- Then the user will view a new version of the Terms of Service
- Then the user will have to accept the new version in order to start a new application or go to their dashboard
🌐 Accessibility Scenarios
Keyboard Users
Scenario: 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 should be accessible and highlighted And I should be able to activate these elements using the Enter or Space key
Scenario: Full Content Accessibility via Keyboard Given I am a keyboard user navigating the website When I traverse through different pages and sections Then all content should be fully accessible using the keyboard alone And there should be no traps that prevent me from navigating away using the keyboard
Screen Reader Users
Scenario: Accessible Image Descriptions Given I am using a screen reader on the website When I encounter images Then each image should have descriptive alt text that conveys the same message as the image
Scenario: Structured Navigation for Screen Readers Given I am navigating the website using a screen reader When I move through different page elements Then the content should be structured with proper headings And the reading order should be logical and sequential
Scenario: Descriptive Form Fields Given I am filling out a form using a screen reader When I navigate through the form fields Then each field should be clearly labeled with descriptive text And instructions should be directly associated with their respective inputs
Low Vision Users
Scenario: Effective High Contrast Mode Given I am a user with low vision on the website When I enable high contrast mode Then all content should display with high color contrast suitable for low vision And the layout should remain coherent and unchanged
Scenario: Text Resizing Accommodation Given I am a user with low vision on the website When I increase the text size Then the text should resize without loss of information or functionality And the page layout should adapt accordingly without disrupting the user experience
Scenario: Personalized Styling Preferences Given I am a user with low vision adjusting settings on the website When I customize my styling preferences, including colors, fonts, and spacing Then these adjustments should be applied consistently across all pages And the changes should persist during my entire session or until altered by me
🌍 Global Scenarios
## Data Validation # Mikaela to confirm: Do we need to do these for MVP - data validation required for inputing data in the right format - as defined by business rules.Internet Connection
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 should load completely within 2 seconds, ensuring a fast and efficient user experience.
Low-Speed Internet
Given a user accesses "Application Details View" with a low-speed internet connection defined as under [specific speed] Mbps When the user attempts to load and interact with the dashboard page Then the "Application Details View" should prioritize critical content and functionality, loading essential elements first to ensure usability.
Mobile Responsiveness
Given I am accessing "Application Details View" on a mobile device When I click on the "any" link Then "_____ " should display correctly and be easily editable on my device, ensuring a responsive design.
Over to you for sub-tasks, Trevor.
I thought this was tested and it works.
@rstens to test this issue to see if this works now
There was some checkbox in the database that needed to be unchecked.
This was teste when I figured how to reset a user to have to accept the Terms again. It is basically a field in the users table of SBC connect that is set to True once the user accepts. See https://bcgov.sharepoint.com/:w:/r/teams/09399/Shared%20Documents/Product-Scrum%20Team%20Chat/Instructions-reset%20the%20user%20for%20terms%20of%20use%20acceptance.docx?d=wb421bd4d777648119c9400bae5d39bfb&csf=1&web=1&e=mZoFxP
@mbertucci suggest to close
@mbertucci @rstens This is not working as expected. The issue @rstens ran into while creating new accounts for LTSA is related to this. ToS is tied to the user and not account. This is currently in the account flow which is why the error occured. The logic is also incorrect. This has to be rewritten.
Ok so this is in refinement and we can refine what needs to be fixed on Thursday
TOS is a version number. It tracks what version was last accepted, it's not a boolean as we can update the TOS and the user should get prompted to accept the updated terms if they have an older TOS version.
test to make sure it works please
This is all working and has been tested @mbertucci - closing it