> For the complete documentation index, see [llms.txt](https://hov-qa.gitbook.io/hov-qa-engineers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hov-qa.gitbook.io/hov-qa-engineers/projects/subsit/test-scenarios.md).

# Test Scenarios

### Feature: Subsit Login

| SCENARIO                                                         | ACCEPTANCE CRITERIA                                                                                                                                                                    |       |        |      |                   |                                                       |      |                     |            |      |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | ------ | ---- | ----------------- | ----------------------------------------------------- | ---- | ------------------- | ---------- | ---- |
| Scenario: User inputs wrong email shows message prompt           | <p>​Given user is on the login page<br>When user inputs "sqahov" Then user should see "Invalid email address"</p>                                                                      |       |        |      |                   |                                                       |      |                     |            |      |
| Scenario: User enters without email                              | <p>Given user is on the login page<br>When user press enter <br>Then user should see "Email is required"</p>                                                                           |       |        |      |                   |                                                       |      |                     |            |      |
| Scenario Outline: User inputs email that shows the status prompt | <p>Given user is on the login page<br>When user inputs "\<email>" Then user should see status "\<status>" <br>Examples: <br>                                                           | email | status | <br> | <unreg@gmail.com> | user with the specified email address does not exist. | <br> | <sqa.hov@gmail.com> | Code sent. | </p> |
| ​Scenario: User click resend code                                | <p>​Given user is on the login page<br>When user inputs registered email And click "Resend the code" <br>Then user should see "Resent OTP successfully." resent status</p>             |       |        |      |                   |                                                       |      |                     |            |      |
| Scenario: User click change email address                        | <p>Given user is on the login page<br>When user inputs registered email And click "Change email address" <br>Then user should redirect back to login page And email field is shown</p> |       |        |      |                   |                                                       |      |                     |            |      |
| Scenario: User inputs invalid otp code                           | <p>Given user is on the login page<br>When user inputs invalid code <br>Then user should see "OTP is invalid." resent status</p>                                                       |       |        |      |                   |                                                       |      |                     |            |      |
| ​Scenario: When user clicks create an account button             | <p>Given user is on the login page<br>When user clicks "Create an account" <br>Then user should be redirected to "Create an Account" page</p>                                          |       |        |      |                   |                                                       |      |                     |            |      |
| Scenario: User logs in                                           | <p>Given user is on the login page<br>When user enters the code <br>Then user should see main page</p>                                                                                 |       |        |      |                   |                                                       |      |                     |            |      |

### Feature: Subsit Signup

| SCENARIO                                         | ACCEPTANCE CRITERIA                                                                                                                                                                                                           |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scenario: User signup already registered account | <p>Given user is on the signup page<br>When user inputs all the given field <br>Then user should see "Email is already in use" status</p>                                                                                     |
| Scenario: User doesnt input email field          | <p>Given user is on the signup page<br>When user inputs company organization <br>And user inputs role <br>Then the user should see "Email is required"</p>                                                                    |
| Scenario: User doesnt input company/organization | <p>​Given user is on the signup page<br>When user inputs registered email address <br>And user inputs role <br>Then the user should see "Company must be 2 characters or more"</p>                                            |
| Scenario: User doesnt input role                 | <p>Given user is on the signup page<br>When user inputs registered email address <br>And user inputs company organization And clicks "Create an Account" <br>Then the user should see "Role must be 2 characters or more"</p> |
| Scenario: When user clicks sign in button        | <p>Given user is on the signup page<br>When user clicks "Sign in" <br>Then user should be redirected to "Sign In to your Account" page</p>                                                                                    |
| Scenario: User creates an account                | <p>Given user is on the signup page<br>When user inputs all the given field for the new account <br>Then the user will see "Your account has been successfully created"</p>                                                   |
| Scenario: User enters not register email         | <p>​Given user is on the signup page<br>When user is on the login page <br>And user enters not registered email <br>Then the user will see "Your account is not yet activated"</p>                                            |

### Feature: Subsit Mainpage

| SCENARIO                                        | ACCEPTANCE CRITERIA                                                                                                          |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| ​Scenario: When user click on the signin button | <p>Given user is on the Mainpage<br>When user click Sign in <br>Then user should be redirected to "login"</p>                |
| Scenario: When user click on the signin button  | <p>Given user is on the Mainpage<br>When user click "Try subsit for free" <br>Then user should be redirected to "signup"</p> |

### Feature: Subsit- Add receipts PDF

| SCENARIO                                                 | ACCEPTANCE CRITERIA                                                                                                                                                                                            |      |      |               |      |              |      |           |      |            |      |            |      |              |      |           |      |            |      |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | ------------- | ---- | ------------ | ---- | --------- | ---- | ---------- | ---- | ---------- | ---- | ------------ | ---- | --------- | ---- | ---------- | ---- |
| Scenario: User uploads not supported receipt application | <p>Given user click add receipt button<br>When user click "PDF" button <br>And user uploads not supported receipt application <br>Then error message will show "Receipt not supported or file is invalid."</p> |      |      |               |      |              |      |           |      |            |      |            |      |              |      |           |      |            |      |
| Scenario: User uploads mutltiple receipts                | <p>Given user click add receipt button<br>When user click "PDF" button <br>And user upload multiple receipts <br>Then it will show all the receipt on the uploaded column</p>                                  |      |      |               |      |              |      |           |      |            |      |            |      |              |      |           |      |            |      |
| ​Scenario Outline: User uploads supported application    | <p>Given user click add receipt button<br>When user click "PDF" button <br>And user uploads "\<file>" <br>Then the uploaded "\<file>" will be shown on the uploaded column <br>Examples: <br>                  | file | <br> | atlassian.pdf | <br> | basecamp.pdf | <br> | figma.pdf | <br> | github.pdf | <br> | notion.pdf | <br> | sendgrid.pdf | <br> | slack.pdf | <br> | vercel.pdf | </p> |

### Feature: Subsit- View receipt PDF

| SCENARIO                                              | ACCEPTANCE CRITERIA                                                                                                                                                                                                                                                              |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scenario: When user uploads receipt                   | <p>​Given user is on the receipt page<br>When user uploads a pdf receipt <br>And click "Done" button <br>Then "Receipt successfully added" message prompt will show <br>And "Not yet set" application will show on the table <br>And "Pending" status will show on the table</p> |
| Scenario: User uploads duplicate receipt              | <p>Given user is on the receipt page<br>When user uploaded a duplicate receipt<br>Then "Failed" status will show on the table</p>                                                                                                                                                |
| Scenario: User should see the application information | <p>Given user is on the receipt page<br>When user uploads one pdf receipt <br>Then user should see the applications information</p>                                                                                                                                              |

### Feature: Subsit- Filter receipt

| SCENARIO                                          | ACCEPTANCE CRITERIA                                                                                                                                                                        |             |   |           |   |            |      |        |   |           |      |        |   |          |   |       |   |        |      |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | - | --------- | - | ---------- | ---- | ------ | - | --------- | ---- | ------ | - | -------- | - | ----- | - | ------ | ---- |
| Scenario: User filter choosen receipt application | <p>Given user is on the receipt page<br>When user uploads one pdf receipt to view filter <br>And user select application to filter <br>Then the application must be shown on the table</p> |             |   |           |   |            |      |        |   |           |      |        |   |          |   |       |   |        |      |
| Scenario: Application filter should contains      | <p>Given user is on the receipt page<br>Then application filter should contains <br>                                                                                                       | application |   | Atlassian |   | Basecamp   |      | Figma  |   | Github    |      | Notion |   | Sendgrid |   | Slack |   | Vercel | </p> |
| ​Scenario: Status filter should contains          | <p>Given user is on the receipt page<br>Then status filter should contains <br>                                                                                                            | status      |   | Pending   |   | Processing |      | Failed |   | Completed | </p> |        |   |          |   |       |   |        |      |
| Scenario: Type filter should contains             | <p>​Given user is on the receipt page<br>Then type filter should contains<br>                                                                                                              | type        |   | Email     |   | PDF        | </p> |        |   |           |      |        |   |          |   |       |   |        |      |
