Skip to main content

Authentication - Frontend Manual Test Cases

Test Environment: http://localhost:4200 [or test server URL] Tester: _______________ Date: _______________

Prerequisites

  • Backend server running on http://localhost:5000
  • Frontend running on http://localhost:4200
  • Test accounts available (see Test Data section)
  • Modern browser (Chrome recommended)

Test Data

RoleEmailPassword
Admin (Tenant Administrator)tn@thaiscada.com [or your admin email]Test1234* [or your password]
Contractorsafety-contractor1-0@outlook.com [or your contractor email]Test1234* [or your password]
Multi-role User(user with multiple roles assigned)

Test Summary

CategoryTotalDevQA
1. Login66
2. Logout22
3. Forgot Password33
4. Session Expiry22
Total1313

1. Login Tests

TC-AUTH-001: Login with valid admin credentials

Precondition: User is logged out, browser cache cleared

StepActionExpected ResultDevQA
1Open browser and navigate to http://localhost:4200Redirected to login page (/auth/login)[ ]
2Verify login form is displayedForm shows "อีเมล" (Email) and "รหัสผ่าน" (Password) fields[ ]
3Enter email: tn@thaiscada.com [or your admin email]Email field accepts input[ ]
4Enter password: Test1234* [or your password]Password field shows masked characters[ ]
5Click "เข้าสู่ระบบ" (Login) buttonLoading spinner appears on button[ ]
6Wait for authenticationRedirected to /tools/settings/employer (admin default page)[ ]
7Verify user is logged inUser menu in header shows user name[ ]

[Screenshot: Login form with filled credentials] [Screenshot: Dashboard after successful login]

Notes: _______________


TC-AUTH-002: Login with valid contractor credentials

Precondition: User is logged out

StepActionExpected ResultDevQA
1Navigate to login pageLogin form displayed[ ]
2Enter email: safety-contractor1-0@outlook.com [or your contractor email]Email field accepts input[ ]
3Enter password: Test1234* [or your password]Password field shows masked characters[ ]
4Click "เข้าสู่ระบบ" (Login) buttonLoading spinner appears[ ]
5Wait for authenticationRedirected to /tasks/my-tasks (contractor default page)[ ]

[Screenshot: Contractor dashboard]

Notes: _______________


TC-AUTH-003: Login with invalid email format

Precondition: User is on login page

StepActionExpected ResultDevQA
1Enter email: invalid-email (no @ symbol)Email field accepts input[ ]
2Enter password: Test1234*Password field accepts input[ ]
3Click "เข้าสู่ระบบ" (Login) buttonForm validation error displayed[ ]
4Verify error messageEmail field shows validation error (red border/message)[ ]

[Screenshot: Email validation error]

Notes: _______________


TC-AUTH-004: Login with wrong password

Precondition: User is on login page

StepActionExpected ResultDevQA
1Enter email: tn@thaiscada.com [or valid email]Email field accepts input[ ]
2Enter password: WrongPassword123Password field accepts input[ ]
3Click "เข้าสู่ระบบ" (Login) buttonLoading spinner appears, then stops[ ]
4Verify error feedbackError snackbar or dialog appears with authentication error[ ]
5Verify still on login pageLogin form still displayed, not redirected[ ]

[Screenshot: Login error message]

Notes: _______________


TC-AUTH-005: Login with non-existent account

Precondition: User is on login page

StepActionExpected ResultDevQA
1Enter email: nonexistent@example.comEmail field accepts input[ ]
2Enter password: AnyPassword123Password field accepts input[ ]
3Click "เข้าสู่ระบบ" (Login) buttonLoading spinner appears, then stops[ ]
4Verify error feedbackError message indicates authentication failed[ ]

[Screenshot: Non-existent account error]

Notes: _______________


TC-AUTH-006: Login form validation (empty fields)

Precondition: User is on login page

StepActionExpected ResultDevQA
1Leave email field emptyField is empty[ ]
2Leave password field emptyField is empty[ ]
3Click "เข้าสู่ระบบ" (Login) buttonForm validation triggers[ ]
4Verify email field errorEmail field shows required error[ ]
5Verify password field errorPassword field shows required error[ ]
6Enter only email, leave password empty[ ]
7Click login buttonPassword field shows required error[ ]

[Screenshot: Empty field validation errors]

Notes: _______________


2. Logout Tests

TC-AUTH-007: Logout from dashboard

Precondition: User is logged in as admin

StepActionExpected ResultDevQA
1Verify user is logged inUser menu visible in header/sidebar[ ]
2Click user menu or profile iconDropdown menu appears[ ]
3Click "ออกจากระบบ" (Logout) optionLogout action triggered[ ]
4Wait for logout to completeRedirected to login page[ ]
5Verify login page displayedLogin form visible at /auth/login[ ]

[Screenshot: User menu with logout option] [Screenshot: Login page after logout]

Notes: _______________


TC-AUTH-008: Verify session cleared after logout

Precondition: User just logged out (after TC-AUTH-007)

StepActionExpected ResultDevQA
1After logout, click browser back buttonShould NOT return to authenticated page[ ]
2Try to navigate directly to /tools/settings/employerRedirected to login page[ ]
3Open browser developer tools (F12)DevTools opens[ ]
4Check Application > Local Storagerole and organization keys should be cleared[ ]
5Refresh the pageShould remain on login page[ ]

[Screenshot: DevTools showing cleared storage]

Notes: _______________


3. Forgot Password Tests

TC-AUTH-009: Open forgot password dialog

Precondition: User is on login page

StepActionExpected ResultDevQA
1Locate "ลืมรหัสผ่าน?" (Forgot Password?) linkLink visible below login form[ ]
2Click "ลืมรหัสผ่าน?" linkDialog/modal opens[ ]
3Verify dialog contentDialog shows email input field and submit button[ ]
4Click outside dialog or close buttonDialog closes, returns to login form[ ]

[Screenshot: Forgot password dialog]

Notes: _______________


TC-AUTH-010: Submit valid email for password reset

Precondition: Forgot password dialog is open

StepActionExpected ResultDevQA
1Open forgot password dialogDialog displayed[ ]
2Enter email: tn@thaiscada.com [or valid email]Email field accepts input[ ]
3Click "ตกลง" (OK) or submit buttonLoading indicator appears[ ]
4Wait for responseSuccess dialog/message appears[ ]
5Verify success messageMessage indicates email was sent with reset instructions[ ]
6Close success dialogReturns to login page[ ]

[Screenshot: Password reset success message]

Notes: Check email inbox for actual reset link (optional verification)


TC-AUTH-011: Submit invalid email format in forgot password

Precondition: Forgot password dialog is open

StepActionExpected ResultDevQA
1Open forgot password dialogDialog displayed[ ]
2Enter email: invalid-email (no @ symbol)Email field accepts input[ ]
3Click submit buttonForm validation triggers[ ]
4Verify validation errorEmail field shows validation error[ ]
5Leave email empty and click submitRequired field error appears[ ]

[Screenshot: Forgot password validation error]

Notes: _______________


4. Session Expiry Tests

TC-AUTH-014: Re-authentication dialog appears on token expiry

Precondition: User is logged in, session has expired or token refresh failed

StepActionExpected ResultDevQA
1Login and wait for session to expire (or manually invalidate token)Session expires[ ]
2Perform an action that requires API callAPI call triggers[ ]
3Verify re-authentication dialog appearsNon-dismissible dialog with email/password fields[ ]
4Enter valid credentialsCredentials accepted[ ]
5Click re-authenticate buttonDialog closes, original action completes[ ]

[Screenshot: Re-authentication dialog]

Notes: To test this, you may need to: (1) wait for token expiry, (2) manually clear cookies in DevTools, or (3) restart backend server


TC-AUTH-015: Cancel re-auth redirects to login

Precondition: Re-authentication dialog is displayed

StepActionExpected ResultDevQA
1When re-auth dialog appears, click "ยกเลิก" (Cancel) buttonCancel action triggered[ ]
2Verify redirectRedirected to login page (/auth)[ ]
3Verify session clearedMust re-login to access application[ ]

[Screenshot: Login page after cancel]

Notes: _______________


Test Execution Notes

Tester Comments:




Issues Found:

Issue IDTest CaseDescriptionSeverity

Sign-off:

RoleNameDateSignature
Tester
Reviewer