# Test info

- Name: Feature case for request-listing >> REQ_009 - Verify when user fill text in Repond message in detail request
- Location: /root/code/portal-automation-test/tests/request/function.spec.ts:175:9

# Error details

```
Error: Timed out 20000ms waiting for expect(locator).toBeVisible()

Locator: locator('//p[text()=\'Added New Successfully!\']')
Expected: visible
Received: <element(s) not found>
Call log:
  - expect.toBeVisible with timeout 20000ms
  - waiting for locator('//p[text()=\'Added New Successfully!\']')

    at /root/code/portal-automation-test/tests/request/function.spec.ts:244:70
    at /root/code/portal-automation-test/tests/request/function.spec.ts:241:9
```

# Page snapshot

```yaml
- complementary:
  - img
  - link "(Portal-Auto-Lawyer) Portal QA":
    - /url: /
    - paragraph: (Portal-Auto-Lawyer)
    - paragraph: Portal QA
  - list:
    - listitem:
      - link "Home":
        - /url: https://qa.loprx.com
        - img
        - text: Home
    - listitem:
      - link "Case":
        - /url: https://qa.loprx.com/cases
        - img
        - text: Case
    - listitem:
      - link "Request":
        - /url: https://qa.loprx.com/requests
        - img
        - text: Request
    - listitem:
      - link "Client":
        - /url: https://qa.loprx.com/clients
        - img
        - text: Client
    - listitem:
      - button "Business/Contact":
        - img
        - text: Business/Contact
    - listitem:
      - button "Inbox/Sent":
        - img
        - text: Inbox/Sent
    - listitem:
      - button "Settings":
        - img
        - text: Settings
  - list:
    - listitem:
      - link "Shared with me":
        - /url: https://qa.loprx.com/shared/requests
        - img
        - text: Shared with me
- banner:
  - button:
    - img
  - button:
    - img
  - img
  - text: Link Case First shared some information about New Case 123 Letter of Protection. Find out what it says. 1 week ago
  - img
  - text: What did Tri01 Duc say? Their response to Test Request Letter of Protection is waiting. 6 days ago
  - img
  - text: Tri01 Duc shared some information about Test Request Letter of Protection. Find out what it says. 6 days ago
  - img
  - text: What did Tri01 Duc say? Their response to Test Request Letter of Protection is waiting. 6 days ago
  - img
  - img
  - textbox "Search..."
  - img
  - img
  - paragraph: No notifications yet
  - paragraph: When you get notifications, they'll show up here
  - button "Refresh"
  - list:
    - listitem:
      - img
      - paragraph: Pause notifications...
      - list:
        - listitem: For 30 minutes
        - listitem: For 1 hour
        - listitem: For 2 hours
        - listitem: Until tomorrow
    - listitem:
      - img
    - listitem:
      - img
    - listitem:
      - img
    - listitem:
      - img
    - listitem:
      - img
    - listitem:
      - img
  - img
  - button "4 Cart":
    - img
    - text: 4 Cart
  - text: Feedback
  - img
  - link "Open user menu":
    - /url: "#"
    - text: Minh
- img
- text: "#919163 Letter of Protection"
- img
- img
- img
- link "Case004-14 Autotest":
  - /url: /clients/e88058f8-f62c-4db7-bbd8-d3526768b557
- text: "-"
- 'link "DOB: __/__/____"':
  - /url: /clients/e88058f8-f62c-4db7-bbd8-d3526768b557
- 'link "Case: #455538"':
  - /url: /cases/455538
- text: "-"
- 'link "DOI: __/__/____"':
  - /url: /cases/455538
- 'link "Category: Unspecified Accident"':
  - /url: /cases/455538
- text: Tag
- img
- 'button "Status: Open"'
- button "Status Details:":
  - text: "Status Details:"
  - listbox:
    - listitem:
      - text: Awaiting
      - img
  - img
- 'button "Assignee: --"':
  - text: "Assignee: --"
  - img
- button:
  - img
- button:
  - img
- button "Activity":
  - img
  - text: Activity
- button "Share":
  - img
  - text: Share
- paragraph: Minh Phong
- text: Posted
- paragraph: 01/31/2026
- img
- list:
  - listitem
- textbox "Message"
- button [disabled]:
  - img
- paragraph: Minh Phong
- text: Posted
- paragraph: 01/31/2026
- img
- img
- list:
  - listitem
- textbox "Comment..."
- button [disabled]:
  - img
- paragraph: Minh Phong
- text: Posted
- paragraph: 01/30/2026
- img
- img
- list:
  - listitem
- textbox "Comment..."
- button [disabled]:
  - img
- paragraph: Minh Phong
- text: Posted
- paragraph: 01/30/2026
- img
- img
- list:
  - listitem
- textbox "Comment..."
- button [disabled]:
  - img
- paragraph: Minh Phong
- text: Posted
- paragraph: 01/29/2026
- img
- img
- list:
  - listitem
- textbox "Comment..."
- button [disabled]:
  - img
- heading "Snapshot" [level=2]
- list:
  - listitem: Minh Phong 1 day ago Responded Respond
  - listitem: Minh Phong 1 day ago Responded
  - listitem: Minh Phong 1 day ago Responded
  - listitem: Minh Phong 01/30/2026 Responded
  - listitem: Minh Phong 01/29/2026 Responded
  - listitem: Minh Phong 01/29/2026 Responded
  - listitem: Minh Phong 01/29/2026 Responded
  - listitem: Minh Phong 01/28/2026 Responded
  - listitem: Minh Phong 01/28/2026 Responded
  - listitem: Minh Phong 01/28/2026 Responded
  - listitem: Minh Phong 01/28/2026 Responded
  - listitem: Minh Phong 01/27/2026 Responded
  - listitem: Minh Phong 01/27/2026 Responded
  - listitem: Minh Phong 01/26/2026 Responded
  - listitem: Minh Phong 01/26/2026 Responded
  - listitem: Minh Phong 01/25/2026 Responded
  - listitem: Minh Phong 01/25/2026 Responded
  - listitem: Minh Phong 01/24/2026 Responded
  - listitem: Minh Phong 01/24/2026 Responded
  - listitem: Minh Phong 01/23/2026 Responded
  - listitem: Minh Phong 01/23/2026 Responded
  - listitem: Minh Phong 01/22/2026 Responded
  - listitem: Minh Phong 01/22/2026 Responded
  - listitem: Minh Phong 01/21/2026 Responded
  - listitem: Minh Phong 01/21/2026 Responded
  - listitem: Minh Phong 01/21/2026 Responded
  - listitem: Minh Phong 01/21/2026 Responded
  - listitem: Minh Phong 01/20/2026 Responded
  - listitem: Minh Phong 01/20/2026 Responded
  - listitem: Minh Phong 01/20/2026 Responded
  - listitem: Minh Phong 01/19/2026 Responded
  - listitem: Minh Phong 01/19/2026 Responded
  - listitem: Minh Phong 01/18/2026 Responded
  - listitem: Minh Phong 01/18/2026 Responded
  - listitem: Minh Phong 01/17/2026 Responded
  - listitem: Minh Phong 01/17/2026 Responded
  - listitem: Minh Phong 01/16/2026 Responded
  - listitem: Minh Phong 01/16/2026 Responded
  - listitem: Minh Phong 01/15/2026 Responded
  - listitem: Minh Phong 01/15/2026 Responded
  - listitem: Minh Phong 01/14/2026 Responded
  - listitem: Minh Phong 01/14/2026 Responded
  - listitem: Minh Phong 01/13/2026 Responded
  - listitem: Minh Phong 01/13/2026 Responded
  - listitem: Minh Phong 01/12/2026 Responded
  - listitem: Minh Phong 01/12/2026 Responded
  - listitem: Minh Phong 01/11/2026 Responded
  - listitem: Minh Phong 01/11/2026 Responded
  - listitem: Minh Phong 01/10/2026 Responded
  - listitem: Minh Phong 01/10/2026 Responded
  - listitem: Minh Phong 01/09/2026 Responded
  - listitem: Minh Phong 01/09/2026 Responded
  - listitem: Minh Phong 01/08/2026 Responded
  - listitem: Minh Phong 01/08/2026 Responded
  - listitem: Minh Phong 01/08/2026 Responded
  - listitem: Minh Phong 01/07/2026 Responded
  - listitem: Minh Phong 01/07/2026 Responded
  - listitem: Minh Phong 01/07/2026 Responded
  - listitem: Minh Phong 01/07/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/06/2026 Responded
  - listitem: Minh Phong 01/05/2026 Responded
  - listitem: Minh Phong 01/05/2026 Responded
  - listitem: Minh Phong 01/04/2026 Responded
  - listitem: Minh Phong 01/04/2026 Responded
  - listitem: Minh Phong 01/03/2026 Responded
  - listitem: Minh Phong 01/03/2026 Responded
  - listitem: Minh Phong 01/02/2026 Responded
  - listitem: Minh Phong 01/02/2026 Responded
  - listitem: Minh Phong 01/01/2026 Responded
  - listitem: Minh Phong 01/01/2026 Responded
  - listitem: Minh Phong 12/31/2025 Responded
  - listitem: Minh Phong 12/31/2025 Responded
  - listitem: Minh Phong 12/30/2025 Responded
  - listitem: Minh Phong 12/30/2025 Responded
  - listitem: Minh Phong 12/29/2025 Responded
  - listitem: Minh Phong 12/29/2025 Responded
  - listitem: Minh Phong 12/28/2025 Responded
  - listitem: Minh Phong 12/28/2025 Responded
  - listitem: Minh Phong 12/27/2025 Responded
  - listitem: Minh Phong 12/27/2025 Responded
  - listitem: Minh Phong 12/26/2025 Responded
  - listitem: Minh Phong 12/26/2025 Responded
  - listitem: Minh Phong 12/25/2025 Responded
  - listitem: Minh Phong 12/25/2025 Responded
  - listitem: Minh Phong 12/24/2025 Responded
  - listitem: Minh Phong 12/24/2025 Responded
  - listitem: Minh Phong 12/23/2025 Responded
  - listitem: Minh Phong 12/23/2025 Responded
  - listitem: Minh Phong 12/22/2025 Responded
  - listitem: Minh Phong 12/22/2025 Responded
  - listitem: Minh Phong 12/21/2025 Responded
  - listitem: Minh Phong 12/20/2025 Responded
  - listitem: Minh Phong 12/19/2025 Responded
  - listitem: Minh Phong 12/19/2025 Responded
  - listitem: Minh Phong 12/18/2025 Responded
  - listitem: Minh Phong 12/18/2025 Responded
  - listitem: Minh Phong 12/17/2025 Responded
  - listitem: Minh Phong 12/17/2025 Responded
  - listitem: Minh Phong 12/16/2025 Responded
  - listitem: Minh Phong 12/16/2025 Responded
  - listitem: Minh Phong 12/15/2025 Responded
  - listitem: Minh Phong 12/15/2025 Responded
  - listitem: Minh Phong 12/14/2025 Responded
  - listitem: Minh Phong 12/14/2025 Responded
  - listitem: Minh Phong 12/14/2025 Responded
  - listitem: Minh Phong 12/13/2025 Responded
  - listitem: Minh Phong 12/13/2025 Responded
  - listitem: Minh Phong 12/12/2025 Responded
  - listitem: Minh Phong 12/12/2025 Responded
  - listitem: Minh Phong 12/11/2025 Responded
  - listitem: Minh Phong 12/11/2025 Responded
  - listitem: Minh Phong 12/10/2025 Responded
  - listitem: Minh Phong 12/10/2025 Responded
  - listitem: Minh Phong 12/10/2025 Responded
  - listitem: Minh Phong 12/09/2025 Responded
  - listitem: Minh Phong 12/09/2025 Responded
  - listitem: Minh Phong 12/08/2025 Responded
  - listitem: Minh Phong 12/08/2025 Responded
  - listitem: Minh Phong 12/07/2025 Responded
  - listitem: Minh Phong 12/07/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/06/2025 Responded
  - listitem: Minh Phong 12/05/2025 Responded
  - listitem: Minh Phong 12/05/2025 Responded
  - listitem: Minh Phong 12/04/2025 Responded
  - listitem: Minh Phong 12/04/2025 Responded
  - listitem: Minh Phong 12/03/2025 Responded
  - listitem: Minh Phong 12/03/2025 Responded
  - listitem: Minh Phong 12/02/2025 Responded
  - listitem: Minh Phong 12/02/2025 Responded
  - listitem: Minh Phong 12/01/2025 Responded
  - listitem: Minh Phong 12/01/2025 Responded
  - listitem: Minh Phong 12/01/2025 Responded
  - listitem: Minh Phong 11/30/2025 Responded
  - listitem: Minh Phong 11/30/2025 Responded
  - listitem: Minh Phong 11/29/2025 Responded
  - listitem: Minh Phong 11/29/2025 Responded
  - listitem: Minh Phong 11/28/2025 Responded
  - listitem: Minh Phong 11/28/2025 Responded
  - listitem: Minh Phong 11/27/2025 Responded
  - listitem: Minh Phong 11/27/2025 Responded
  - listitem: Minh Phong 11/26/2025 Responded
  - listitem: Minh Phong 11/26/2025 Responded
  - listitem: Minh Phong 11/25/2025 Responded
  - listitem: Minh Phong 11/25/2025 Responded
  - listitem: Minh Phong 11/24/2025 Responded
  - listitem: Minh Phong 11/24/2025 Responded
  - listitem: Minh Phong 11/24/2025 Responded
  - listitem: Minh Phong 11/23/2025 Responded
  - listitem: Minh Phong 11/23/2025 Responded
  - listitem: Minh Phong 11/22/2025 Responded
  - listitem: Minh Phong 11/22/2025 Responded
  - listitem: Minh Phong 11/21/2025 Responded
  - listitem: Minh Phong 11/21/2025 Responded
  - listitem: Minh Phong 11/20/2025 Responded
  - listitem: Minh Phong 11/20/2025 Responded
  - listitem: Minh Phong 11/19/2025 Responded
  - listitem: Minh Phong 11/19/2025 Responded
  - listitem: Minh Phong 11/18/2025 Responded
  - listitem: Minh Phong 11/18/2025 Responded
  - listitem: Minh Phong 11/18/2025 Responded
  - listitem: Minh Phong 11/17/2025 Responded
  - listitem: Minh Phong 11/17/2025 Responded
  - listitem: Minh Phong 11/16/2025 Responded
  - listitem: Minh Phong 11/16/2025 Responded
  - listitem: Minh Phong 11/15/2025 Responded
  - listitem: Minh Phong 11/15/2025 Responded
  - listitem: Minh Phong 11/14/2025 Responded
  - listitem: Minh Phong 11/14/2025 Responded
  - listitem: Minh Phong 11/13/2025 Responded
  - listitem: Minh Phong 11/13/2025 Responded
  - listitem: Minh Phong 11/13/2025 Responded
  - listitem: Minh Phong 11/12/2025 Responded
  - listitem: Minh Phong 11/12/2025 Responded
  - listitem: Minh Phong 11/12/2025 Responded
  - listitem: Minh Phong 11/11/2025 Responded
  - listitem: Minh Phong 11/11/2025 Responded
  - listitem: Minh Phong 11/10/2025 Responded
  - listitem: Minh Phong 11/10/2025 Responded
  - listitem: Minh Phong 11/09/2025 Responded
  - listitem: Minh Phong 11/09/2025 Responded
  - listitem: Minh Phong 11/08/2025 Responded
  - listitem: Minh Phong 11/08/2025 Responded
  - listitem: Minh Phong 11/07/2025 Responded
  - listitem: Minh Phong 11/07/2025 Responded
  - listitem: Minh Phong 11/06/2025 Responded
  - listitem: Minh Phong 11/06/2025 Responded
  - listitem: Minh Phong 11/05/2025 Responded
  - listitem: Minh Phong 11/05/2025 Responded
  - listitem: Minh Phong 11/04/2025 Responded
  - listitem: Minh Phong 11/04/2025 Responded
  - listitem: Minh Phong 11/04/2025 Responded
  - listitem: Minh Phong 11/04/2025 Responded
  - listitem: Minh Phong 11/03/2025 Responded
  - listitem: Minh Phong 11/03/2025 Responded
  - listitem: Minh Phong 11/02/2025 Responded
  - listitem: Minh Phong 11/02/2025 Responded
  - listitem: Minh Phong 11/01/2025 Responded
  - listitem: Minh Phong 11/01/2025 Responded
  - listitem: Minh Phong 10/31/2025 Responded
  - listitem: Minh Phong 10/31/2025 Responded
  - listitem: Minh Phong 10/30/2025 Responded
  - listitem: Minh Phong 10/30/2025 Responded
  - listitem: Minh Phong 10/29/2025 Responded
  - listitem: Minh Phong 10/29/2025 Responded
  - listitem: Minh Phong 10/28/2025 Responded
  - listitem: Minh Phong 10/28/2025 Responded
  - listitem: Minh Phong 10/27/2025 Responded
  - listitem: Minh Phong 10/27/2025 Responded
  - listitem: Minh Phong 10/27/2025 Responded
  - listitem: Minh Phong 10/27/2025 Responded
  - listitem: Minh Phong 10/23/2025 Responded
  - listitem: Minh Phong 10/23/2025 Responded
  - listitem: Minh Phong 10/22/2025 Responded
  - listitem: Minh Phong 10/22/2025 Responded
  - listitem: Minh Phong 10/21/2025 Responded
  - listitem: Minh Phong 10/21/2025 Responded
  - listitem: Minh Phong 10/20/2025 Responded
  - listitem: Minh Phong 10/20/2025 Responded
  - listitem: Minh Phong 10/19/2025 Responded
  - listitem: Minh Phong 10/19/2025 Responded
  - listitem: Minh Phong 10/18/2025 Responded
  - listitem: Minh Phong 10/18/2025 Responded
  - listitem: Minh Phong 10/17/2025 Responded
  - listitem: Minh Phong 10/17/2025 Responded
  - listitem: Minh Phong 10/16/2025 Responded
  - listitem: Minh Phong 10/16/2025 Responded
  - listitem: Minh Phong 10/15/2025 Responded
  - listitem: Minh Phong 10/15/2025 Responded
  - listitem: Minh Phong 10/14/2025 Responded
  - listitem: Minh Phong 10/14/2025 Responded
  - listitem: Minh Phong 10/13/2025 Responded
  - listitem: Minh Phong 10/13/2025 Responded
  - listitem: Minh Phong 10/12/2025 Responded
  - listitem: Minh Phong 10/12/2025 Responded
  - listitem: Minh Phong 10/11/2025 Responded
  - listitem: Minh Phong 10/11/2025 Responded
  - listitem: Minh Phong 10/10/2025 Responded
  - listitem: Minh Phong 10/10/2025 Responded
  - listitem: Minh Phong 10/09/2025 Responded
  - listitem: Minh Phong 10/09/2025 Responded
  - listitem: Minh Phong 10/08/2025 Responded
  - listitem: Minh Phong 10/08/2025 Responded
  - listitem: Minh Phong 10/07/2025 Responded
  - listitem: Minh Phong 10/07/2025 Responded
  - listitem: Minh Phong 10/06/2025 Responded
  - listitem: Minh Phong 10/06/2025 Responded
  - listitem: Minh Phong 10/05/2025 Responded
  - listitem: Minh Phong 10/05/2025 Responded
  - listitem: Minh Phong 10/04/2025 Responded
  - listitem: Minh Phong 10/04/2025 Responded
  - listitem: Minh Phong 10/03/2025 Responded
  - listitem: Minh Phong 10/03/2025 Responded
  - listitem: Minh Phong 10/02/2025 Responded
  - listitem: Minh Phong 10/02/2025 Responded
  - listitem: Minh Phong 10/02/2025 Responded
  - listitem: Minh Phong 10/01/2025 Responded
  - listitem: Minh Phong 10/01/2025 Responded
  - listitem: Minh Phong 09/30/2025 Responded
  - listitem: Minh Phong 09/30/2025 Responded
  - listitem: Minh Phong 09/29/2025 Responded
  - listitem: Minh Phong 09/29/2025 Responded
  - listitem: Minh Phong 09/29/2025 Responded
  - listitem: Minh Phong 09/28/2025 Responded
  - listitem: Minh Phong 09/28/2025 Responded
  - listitem: Minh Phong 09/25/2025 Responded
  - listitem: Minh Phong 09/24/2025 Responded
  - listitem: Minh Phong 09/24/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/23/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/22/2025 Responded
  - listitem: Minh Phong 09/21/2025 Responded
  - listitem: Minh Phong 09/21/2025 Responded
  - listitem: Minh Phong 09/20/2025 Responded
  - listitem: Minh Phong 09/20/2025 Responded
  - listitem: Minh Phong 09/19/2025 Responded
  - listitem: Minh Phong 09/19/2025 Responded
  - listitem: Minh Phong 09/18/2025 Responded
  - listitem: Minh Phong 09/18/2025 Responded
  - listitem: Minh Phong 09/18/2025 Responded
  - listitem: Minh Phong 09/17/2025 Responded
  - listitem: Minh Phong 09/17/2025 Responded
  - listitem: Minh Phong 09/16/2025 Responded
  - listitem: Minh Phong 09/16/2025 Responded
  - listitem: Minh Phong 09/15/2025 Responded
  - listitem: Minh Phong 09/15/2025 Responded
  - listitem: Minh Phong 09/15/2025 Responded
  - listitem: Minh Phong 09/15/2025 Responded
  - listitem: Minh Phong 09/14/2025 Responded
  - listitem: Minh Phong 09/13/2025 Responded
  - listitem: Minh Phong 09/13/2025 Responded
  - listitem: Minh Phong 09/12/2025 Responded
  - listitem: Minh Phong 09/12/2025 Responded
  - listitem: Minh Phong 09/11/2025 Responded
  - listitem: Minh Phong 09/11/2025 Responded
  - listitem: Minh Phong 09/10/2025 Responded
  - listitem: Minh Phong 09/10/2025 Responded
  - listitem: Minh Phong 09/10/2025 Responded
  - listitem: Minh Phong 09/09/2025 Responded
  - listitem: Minh Phong 09/09/2025 Responded
  - listitem: Minh Phong 09/08/2025 Responded
  - listitem: Minh Phong 09/08/2025 Responded
  - listitem: Minh Phong 09/08/2025 Responded
  - listitem: Minh Phong 09/07/2025 Responded
  - listitem: Minh Phong 09/07/2025 Responded
  - listitem: Minh Phong 09/06/2025 Responded
  - listitem: Minh Phong 09/06/2025 Responded
  - listitem: Minh Phong 09/05/2025 Responded
  - listitem: Minh Phong 09/05/2025 Responded
  - listitem: Minh Phong 09/04/2025 Responded
  - listitem: Minh Phong 09/04/2025 Responded
  - listitem: Minh Phong 09/03/2025 Responded
  - listitem: Minh Phong 09/03/2025 Responded
  - listitem: Minh Phong 09/03/2025 Responded
  - listitem: Minh Phong 09/03/2025 Responded
  - listitem: Minh Phong 09/02/2025 Responded
  - listitem: Minh Phong 09/02/2025 Responded
  - listitem: Minh Phong 09/01/2025 Responded
  - listitem: Minh Phong 09/01/2025 Responded
  - listitem: Minh Phong 08/31/2025 Responded
  - listitem: Minh Phong 08/31/2025 Responded
  - listitem: Minh Phong 08/30/2025 Responded
  - listitem: Minh Phong 08/30/2025 Responded
  - listitem: Minh Phong 08/29/2025 Responded
  - listitem: Minh Phong 08/29/2025 Responded
  - listitem: Minh Phong 08/28/2025 Responded
  - listitem: Minh Phong 08/28/2025 Responded
  - listitem: Minh Phong 08/27/2025 Responded
  - listitem: Minh Phong 08/27/2025 Responded
  - listitem: Minh Phong 08/26/2025 Responded
  - listitem: Minh Phong 08/26/2025 Responded
  - listitem: Minh Phong 08/25/2025 Responded
  - listitem: Minh Phong 08/25/2025 Responded
  - listitem: Minh Phong 08/25/2025 Responded
  - listitem: Minh Phong 08/25/2025 Responded
  - listitem: Minh Phong 08/24/2025 Responded
  - listitem: Minh Phong 08/24/2025 Responded
  - listitem: Minh Phong 08/23/2025 Responded
  - listitem: Minh Phong 08/23/2025 Responded
  - listitem: Minh Phong 08/22/2025 Responded
  - listitem: Minh Phong 08/22/2025 Responded
  - listitem: Minh Phong 08/22/2025 Responded
  - listitem: Minh Phong 08/21/2025 Responded
  - listitem: Minh Phong 08/21/2025 Responded
  - listitem: Minh Phong 08/20/2025 Responded
  - listitem: Minh Phong 08/20/2025 Responded
  - listitem: Minh Phong 08/19/2025 Responded
  - listitem: Minh Phong 08/19/2025 Responded
  - listitem: Minh Phong 08/19/2025 Responded
  - listitem: Minh Phong 08/18/2025 Responded
  - listitem: Minh Phong 08/18/2025 Responded
  - listitem: Minh Phong 08/17/2025 Responded
  - listitem: Minh Phong 08/17/2025 Responded
  - listitem: Minh Phong 08/16/2025 Responded
  - listitem: Minh Phong 08/16/2025 Responded
  - listitem: Minh Phong 08/15/2025 Responded
  - listitem: Minh Phong 08/15/2025 Responded
  - listitem: Minh Phong 08/14/2025 Responded
  - listitem: Minh Phong 08/14/2025 Responded
  - listitem: Minh Phong 08/13/2025 Responded
  - listitem: Minh Phong 08/13/2025 Responded
  - listitem: Minh Phong 08/13/2025 Responded
  - listitem: Minh Phong 08/13/2025 Responded
  - listitem: Minh Phong 08/13/2025 Responded
  - listitem: Minh Phong 08/12/2025 Responded
  - listitem: Minh Phong 08/12/2025 Responded
  - listitem: Minh Phong 08/12/2025 Responded
  - listitem: Minh Phong 08/11/2025 Responded
  - listitem: Minh Phong 08/11/2025 Responded
  - listitem: Minh Phong 08/11/2025 Responded
  - listitem: Minh Phong 08/10/2025 Responded
  - listitem: Minh Phong 08/09/2025 Responded
  - listitem: Minh Phong 08/09/2025 Responded
  - listitem: Minh Phong 08/08/2025 Responded
  - listitem: Minh Phong 08/08/2025 Responded
  - listitem: Minh Phong 08/08/2025 Responded
  - listitem: Minh Phong 08/07/2025 Responded
  - listitem: Minh Phong 08/07/2025 Responded
  - listitem: Minh Phong 08/07/2025 Responded
  - listitem: Minh Phong 08/07/2025 Responded
  - listitem: Minh Phong 08/07/2025 Responded
  - listitem: Minh Phong 08/06/2025 Responded
  - listitem: Minh Phong 08/06/2025 Responded
  - listitem: Minh Phong 08/05/2025 Responded
  - listitem: Minh Phong 08/05/2025 Responded
  - listitem: Minh Phong 08/04/2025 Responded
  - listitem: Minh Phong 08/04/2025 Responded
  - listitem: Minh Phong 08/03/2025 Responded
  - listitem: Minh Phong 08/03/2025 Responded
  - listitem: Minh Phong 08/03/2025 Responded
  - listitem: Minh Phong 08/02/2025 Responded
  - listitem: Minh Phong 08/02/2025 Responded
  - listitem: Minh Phong 08/01/2025 Responded
  - listitem: Minh Phong 08/01/2025 Responded
  - listitem: Minh Phong 07/31/2025 Responded
  - listitem: Minh Phong 07/31/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/30/2025 Responded
  - listitem: Minh Phong 07/29/2025 Responded
  - listitem: Minh Phong 07/29/2025 Responded
  - listitem: Minh Phong 07/28/2025 Responded
  - listitem: Minh Phong 07/28/2025 Responded
  - listitem: Minh Phong 07/28/2025 Responded
  - listitem: Minh Phong 07/27/2025 Responded
  - listitem: Minh Phong 07/27/2025 Responded
  - listitem: Minh Phong 07/26/2025 Responded
  - listitem: Minh Phong 07/26/2025 Responded
  - listitem: Minh Phong 07/25/2025 Responded
  - listitem: Minh Phong 07/25/2025 Responded
  - listitem: Minh Phong 07/24/2025 Responded
  - listitem: Minh Phong 07/24/2025 Responded
  - listitem: Minh Phong 07/23/2025 Responded
  - listitem: Minh Phong 07/23/2025 Responded
  - listitem: Minh Phong 07/22/2025 Responded
  - listitem: Minh Phong 07/22/2025 Responded
  - listitem: Minh Phong 07/21/2025 Responded
  - listitem: Minh Phong 07/21/2025 Responded
  - listitem: Minh Phong 07/20/2025 Responded
  - listitem: Minh Phong 07/20/2025 Responded
  - listitem: Minh Phong 07/19/2025 Responded
  - listitem: Minh Phong 07/19/2025 Responded
  - listitem: Minh Phong 07/18/2025 Responded
  - listitem: Minh Phong 07/18/2025 Responded
  - listitem: Minh Phong 07/17/2025 Responded
  - listitem: Minh Phong 07/17/2025 Responded
  - listitem: Minh Phong 07/16/2025 Responded
  - listitem: Minh Phong 07/16/2025 Responded
  - listitem: Minh Phong 07/15/2025 Responded
  - listitem: Minh Phong 07/15/2025 Responded
  - listitem: Minh Phong 07/14/2025 Responded
  - listitem: Minh Phong 07/14/2025 Responded
  - listitem: Minh Phong 07/14/2025 Responded
  - listitem: Minh Phong 07/13/2025 Responded
  - listitem: Minh Phong 07/13/2025 Responded
  - listitem: Minh Phong 07/12/2025 Responded
  - listitem: Minh Phong 07/12/2025 Responded
  - listitem: Minh Phong 07/11/2025 Responded
  - listitem: Minh Phong 07/11/2025 Responded
  - listitem: Minh Phong 07/11/2025 Responded
  - listitem: Minh Phong 07/10/2025 Responded
  - listitem: Minh Phong 07/10/2025 Responded
  - listitem: Minh Phong 07/09/2025 Responded
  - listitem: Minh Phong 07/09/2025 Responded
  - listitem: Minh Phong 07/08/2025 Responded
  - listitem: Minh Phong 07/08/2025 Responded
  - listitem: Minh Phong 07/08/2025 Responded
  - listitem: Minh Phong 07/07/2025 Responded
  - listitem: Minh Phong 07/07/2025 Responded
  - listitem: Minh Phong 07/07/2025 Responded
  - listitem: Minh Phong 07/04/2025 Responded
  - listitem: Minh Phong 07/03/2025 Responded
  - listitem: Minh Phong 07/03/2025 Responded
  - listitem: Minh Phong 07/03/2025 Responded
  - listitem: Minh Phong 07/02/2025 Responded
  - listitem: Minh Phong 07/02/2025 Responded
  - listitem: Minh Phong 07/02/2025 Responded
  - listitem: Minh Phong 07/02/2025 Responded
  - listitem: Minh Phong 07/01/2025 Responded
  - listitem: Minh Phong 07/01/2025 Responded
  - listitem: Minh Phong 07/01/2025 Responded
  - listitem: Minh Phong 07/01/2025 Responded
  - listitem: Minh Phong 06/30/2025 Responded
  - listitem: Minh Phong 06/29/2025 Responded
  - listitem: Minh Phong 06/28/2025 Responded
  - listitem: Minh Phong 06/28/2025 Responded
  - listitem: Minh Phong 06/27/2025 Responded
  - listitem: Minh Phong 06/27/2025 Responded
  - listitem: Minh Phong 06/26/2025 Responded
  - listitem: Minh Phong 06/26/2025 Responded
  - listitem: Minh Phong 06/25/2025 Responded
  - listitem: Minh Phong 06/24/2025 Responded
  - listitem: Minh Phong 06/23/2025 Responded
  - listitem: Minh Phong 06/23/2025 Responded
  - listitem: Minh Phong 06/22/2025 Responded
  - listitem: Minh Phong 06/21/2025 Responded
  - listitem: Minh Phong 06/21/2025 Responded
  - listitem: Minh Phong 06/20/2025 Responded
  - listitem: Minh Phong 06/19/2025 Responded
  - listitem: Minh Phong 06/19/2025 Responded
  - listitem: Minh Phong 06/19/2025 Responded
  - listitem: Minh Phong 06/19/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/18/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Responded
  - listitem: Minh Phong 06/17/2025 Submitted a request
- heading "Discussion" [level=2]
- text: Start a discussion
- img
- heading "Minh Phong (You)" [level=4]
- img
- heading "Team Discussion" [level=4]
- img
- heading "Discussion" [level=2]
- text: Start a discussion
- img
- heading "Minh Phong (You)" [level=4]
- img
- heading "Team Discussion" [level=4]
- img
- img "image-share-this-request"
- paragraph: Share this request using the Share button.
- text: Share
- heading "Message" [level=3]
- button "Close"
- paragraph: Use the suggested content to jump right in, or type or upload your own content.
- listitem: Type New
- listitem: Upload
- text: Click on
- img
- text: to expand the editor to full screen
- listitem "Font family":
  - button:
    - img
  - img
- listitem "Font size":
  - button [pressed]:
    - img
  - img
- listitem "Fill color or set the text color":
  - button:
    - img
  - img
- listitem "Bold":
  - button:
    - img
- listitem "Italic":
  - button:
    - img
- listitem "Underline":
  - button:
    - img
- listitem "Strike through":
  - button:
    - img
- listitem "Insert Unordered List":
  - button:
    - img
  - img
- listitem "Insert Ordered List":
  - button:
    - img
  - img
- listitem "Align":
  - button:
    - img
  - img
- listitem "Insert Image":
  - button:
    - img
- listitem "Insert table":
  - button:
    - img
- listitem "Open in fullsize":
  - button:
    - img
- paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
- paragraph:
  - emphasis: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat
- paragraph:
  - strong: Lorem ipsum dolor sit amet
- list:
  - listitem: Lorem
  - listitem: Lorem
  - listitem: Lorem
- list:
  - listitem: Lorem
  - listitem: Lorem
  - listitem: Lorem
- paragraph
- text: "Chars: 246 Words: 47"
- listitem "Select all":
  - button:
    - img
- button "p"
- button "br"
- text: You can upload up to 50 files, with a total combined size of up to 50MB. Only PDF and image (jpg,jpeg,png) files are accepted.
- paragraph: Browse or Drop
- paragraph: files here
- button "Cancel"
- button "Submit"
```

# Test source

```ts
  144 |                 if (!customizedColumns[i].default) {
  145 |                     await requestPage.dashboardLoc.listing.popup.customizedColumn.columnCheckbox(customizedColumns[i].name).setChecked(false);
  146 |                 }
  147 |             }
  148 |         });
  149 |
  150 |         // Check each columns and verify it shown
  151 |         await test.step("Check each columns and verify it shown", async () => {
  152 |             await requestPage.open();
  153 |             const customizedColumns = requestPage.requestProps.customizedColumns.filter(column => !column.default);
  154 |             for (let i = 0; i < customizedColumns.length; i++) {
  155 |                 await requestPage.openThreedotMenu(requestPage.requestProps.threeDotDropdownMenus.customizedColumn, customThreeDotLocator);
  156 |                 await requestPage.dashboardLoc.listing.popup.customizedColumn.columnCheckbox(customizedColumns[i].name).setChecked(true);
  157 |                 await requestPage.dashboardLoc.listing.popup.customizedColumn.btnApply.click();
  158 |                 await expect(requestPage.dashboardLoc.listing.heading.headingColumn(customizedColumns[i].tableDisplayName)).toBeVisible();
  159 |             }
  160 |         });
  161 |
  162 |         // Uncheck each columns and verify it hidden
  163 |         await test.step("Uncheck each columns and verify it hidden", async () => {
  164 |             await requestPage.open();
  165 |             const customizedColumns = requestPage.requestProps.customizedColumns.filter(column => !column.default);
  166 |             for (let i = 0; i < customizedColumns.length; i++) {
  167 |                 await requestPage.openThreedotMenu(requestPage.requestProps.threeDotDropdownMenus.customizedColumn, customThreeDotLocator);
  168 |                 await requestPage.dashboardLoc.listing.popup.customizedColumn.columnCheckbox(customizedColumns[i].name).setChecked(false);
  169 |                 await requestPage.dashboardLoc.listing.popup.customizedColumn.btnApply.click();
  170 |                 await expect(requestPage.dashboardLoc.listing.heading.headingColumn(customizedColumns[i].tableDisplayName)).not.toBeVisible();
  171 |             }
  172 |         });
  173 |     });
  174 |
  175 |     test("REQ_009 - Verify when user fill text in Repond message in detail request", {
  176 |         tag: ['@REQ_009', '@request', '@function']
  177 |     }, async ({ conf }) => {
  178 |         test.slow();
  179 |         const textEditorBody = requestPage.requestLoc.textEditorCreateCaseArea;
  180 |         await test.step("Search exist case and detail case appeared, modal appeared", async () => {
  181 |             await requestPage.requestLoc.inputSearch.fill(conf.data.case_exist);
  182 |             await expect(requestPage.requestLoc.caseAlreadyExist(conf.data.case_exist)).toBeVisible();
  183 |
  184 |             //Verify detail case appeared
  185 |             await requestPage.requestLoc.caseAlreadyExist(conf.data.case_exist).click();
  186 |             await requestPage.waitForSecond(1);
  187 |             await expect(requestPage.requestLoc.caseIDDetail).toContainText(conf.data.case_exist);
  188 |
  189 |             //Verify modal appeared
  190 |             await requestPage.requestLoc.buttonRepond.click();
  191 |             await requestPage.waitForSecond(1);
  192 |             await expect(textEditorBody).toBeVisible();
  193 |         })
  194 |
  195 |         await test.step("Verify when typing first message in editor text", async () => {
  196 |             await textEditorBody.type(conf.data.first_message, { delay: 20 });
  197 |             await expect(textEditorBody).toHaveText(conf.data.first_message, { timeout: 3000 });
  198 |         })
  199 |
  200 |         await test.step("Verify when typing second message italic in editor text", async () => {
  201 |             await textEditorBody.press('Enter');
  202 |             await requestPage.requestLoc.btnItalicEditorCreate.click();
  203 |             await textEditorBody.type(conf.data.second_message, { delay: 20 });
  204 |             await requestPage.requestLoc.btnItalicEditorCreate.click();
  205 |
  206 |             await expect(textEditorBody).toContainText(conf.data.second_message);
  207 |             await expect(textEditorBody.locator("//p[2]/em")).toHaveText(conf.data.second_message);
  208 |         })
  209 |
  210 |         await test.step("Verify when typing third message bold in editor text", async () => {
  211 |             await textEditorBody.press('Enter');
  212 |             await requestPage.requestLoc.btnBoldEditorCreate.click();
  213 |             await textEditorBody.type(conf.data.third_message, { delay: 20 });
  214 |             await requestPage.requestLoc.btnBoldEditorCreate.click();
  215 |
  216 |             await expect(textEditorBody).toContainText(conf.data.third_message);
  217 |             await expect(textEditorBody.locator("//p[3]/strong")).toHaveText(conf.data.third_message);
  218 |         })
  219 |
  220 |         await test.step("Verify when typing list type number in editor text", async () => {
  221 |             await textEditorBody.press('Enter');
  222 |             await requestPage.requestLoc.btnListNumberTypeCreate.click();
  223 |             await requestPage.rendListTextEditor(conf.data.child_message);
  224 |
  225 |             await expect(textEditorBody.locator("ol li")).toHaveCount(3);
  226 |             for (let i = 1; i <= 3; i++) {
  227 |                 await expect(textEditorBody.locator(`ol li:nth-child(${i})`)).toHaveText(conf.data.child_message);
  228 |             }
  229 |         })
  230 |
  231 |         await test.step("Verify when typing list type dot in editor text", async () => {
  232 |             await requestPage.requestLoc.btnListDotTypeCreate.click();
  233 |             await requestPage.rendListTextEditor(conf.data.child_message);
  234 |
  235 |             await expect(textEditorBody.locator("ul li")).toHaveCount(3);
  236 |             for (let i = 1; i <= 3; i++) {
  237 |                 await expect(textEditorBody.locator(`ul li:nth-child(${i})`)).toHaveText(conf.data.child_message);
  238 |             }
  239 |         })
  240 |
  241 |         await test.step("Verify when click submit respond", async () => {
  242 |             await requestPage.requestLoc.detail.btnSubmitMessage.click();
  243 |
> 244 |             await expect(requestPage.requestLoc.messageRepondSucces).toBeVisible({ timeout: 20_000 });
      |                                                                      ^ Error: Timed out 20000ms waiting for expect(locator).toBeVisible()
  245 |             await expect(textEditorBody).not.toBeVisible();
  246 |             await requestPage.waitForSecond(5);
  247 |             await expect(requestPage.requestLoc.headerModalNewPost).toBeVisible();
  248 |
  249 |             await requestPage.requestLoc.buttonLeaveIt.click();
  250 |         })
  251 |
  252 |         await test.step("Verify the similarities between Text in Editor and Posted", async () => {
  253 |             await requestPage.requestLoc.thumbImagePosted.first().click();
  254 |             await requestPage.waitForSecond(5)
  255 |             await verifyScreenshot("post-details-snapshot.png", requestPage.requestLoc.detailPostedAttachment, [], 0.02)
  256 |         })
  257 |     })
  258 |
  259 |     test("REQ_010 - Verify when user fill Text Editor in Create new request", {
  260 |         tag: ['@REQ_010', '@request', '@function']
  261 |     }, async ({ conf }) => {
  262 |
  263 |         await test.step("Verify site create new request appear", async () => {
  264 |             await requestPage.gotoCreateRequest("step");
  265 |             await expect(requestPage.dashboardLoc.buttonByText("Switch to Fast Submission")).toBeVisible();
  266 |         })
  267 |
  268 |         await test.step("Verify when choose option in step action, patient, business", async () => {
  269 |             //Choose action type
  270 |             await expect(requestPage.requestLoc.actionLetterOfProtection).toBeVisible();
  271 |             await requestPage.waitForSecond(1);
  272 |             await requestPage.requestLoc.actionLetterOfProtection.click({ force: true });
  273 |             await requestPage.requestLoc.btnNextStep.click();
  274 |
  275 |             //Choose patient
  276 |             await expect(requestPage.requestLoc.listPatientSuggested).toBeVisible();
  277 |             await requestPage.requestLoc.listPatientSuggested.click();
  278 |             await requestPage.requestLoc.btnNextStep.click();
  279 |
  280 |             //Choose business
  281 |             await expect(requestPage.requestLoc.listBusinessSuggested).toBeVisible();
  282 |             await requestPage.requestLoc.listBusinessSuggested.click();
  283 |             await requestPage.requestLoc.btnNextStep.click();
  284 |             await expect(requestPage.requestLoc.textEditorCreateCaseArea).toBeVisible()
  285 |         })
  286 |
  287 |         const textEditor = requestPage.requestLoc.textEditorCreateCaseArea;
  288 |
  289 |         await test.step("Verify when typing first message in editor text", async () => {
  290 |             //Clear text
  291 |             await textEditor.evaluate((el) => (el.innerHTML = ''));
  292 |
  293 |             await textEditor.type(conf.data.first_message, { delay: 20 });
  294 |             await expect(textEditor).toHaveText(conf.data.first_message);
  295 |         })
  296 |
  297 |         await test.step("Verify when typing second message italic in editor text", async () => {
  298 |             await textEditor.press('Enter');
  299 |             await requestPage.requestLoc.btnItalicEditorCreate.click();
  300 |             await textEditor.type(conf.data.second_message, { delay: 20 });
  301 |             await requestPage.requestLoc.btnItalicEditorCreate.click();
  302 |
  303 |             await expect(textEditor).toContainText(conf.data.second_message);
  304 |             await expect(textEditor.locator("//p[2]/em")).toHaveText(conf.data.second_message);
  305 |         })
  306 |
  307 |         await test.step("Verify when typing third message bold in editor text", async () => {
  308 |             await textEditor.press('Enter');
  309 |             await requestPage.requestLoc.btnBoldEditorCreate.click();
  310 |             await textEditor.type(conf.data.third_message, { delay: 20 });
  311 |             await requestPage.requestLoc.btnBoldEditorCreate.click();
  312 |
  313 |             await expect(textEditor).toContainText(conf.data.third_message);
  314 |             await expect(textEditor.locator("//p[3]/strong")).toHaveText(conf.data.third_message);
  315 |         })
  316 |
  317 |         await test.step("Verify when typing list type number in editor text", async () => {
  318 |             await textEditor.press('Enter');
  319 |             await requestPage.requestLoc.btnListNumberTypeCreate.click();
  320 |             await requestPage.rendListTextEditor(conf.data.child_message);
  321 |
  322 |             await expect(textEditor.locator("ol li")).toHaveCount(3);
  323 |             for (let i = 1; i <= 3; i++) {
  324 |                 await expect(textEditor.locator(`ol li:nth-child(${i})`)).toHaveText(conf.data.child_message);
  325 |             }
  326 |         })
  327 |
  328 |         await test.step("Verify when typing list type dot in editor text", async () => {
  329 |             await requestPage.requestLoc.btnListDotTypeCreate.click();
  330 |             await requestPage.rendListTextEditor(conf.data.child_message);
  331 |
  332 |             await expect(textEditor.locator("ul li")).toHaveCount(3);
  333 |             for (let i = 1; i <= 3; i++) {
  334 |                 await expect(textEditor.locator(`ul li:nth-child(${i})`)).toHaveText(conf.data.child_message);
  335 |             }
  336 |         })
  337 |
  338 |         await test.step("Verify when submit create request", async () => {
  339 |             await requestPage.requestLoc.btnNextStep.click();
  340 |             await expect(requestPage.requestLoc.btnCreateOnly).toBeVisible();
  341 |             await requestPage.requestLoc.btnCreateOnly.click({ force: true });
  342 |             await requestPage.waitForSecond(3);
  343 |
  344 |             await expect(requestPage.requestLoc.thumbImagePosted.first()).toBeVisible({ timeout: 25_000 });
```