"Test ID","Test Case Type","Module","Sub Module","Category","Test Case Description","Test Steps","Test Data","Expected Result","Actual Result","Test Execution Status","Defect ID","Comments" "Module: Authentication and Session Management","23 test case(s)","","","","","","","","","","","" "TC-AASM-001","Positive Case","Authentication and Session Management","Authenticated dashboard landing","Functional","Verify valid authenticated user lands on TH Project Dashboard","1. Open https://testers-hub-project-dashboard.vercel.app/. 2. Enter valid username/email and password. 3. Submit the login form. 4. Observe the landing page URL and main page content.","URL: https://testers-hub-project-dashboard.vercel.app/; Valid test user credentials provided by project owner","User is authenticated successfully and redirected to https://testers-hub-project-dashboard.vercel.app/dashboard. The page displays the text ""TH Project Dashboard"" and protected navigation is visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-002","Positive Case","Authentication and Session Management","Authenticated dashboard landing","UI/UX","Verify authenticated navigation controls are visible after successful login","1. Open the application URL. 2. Login with valid credentials. 3. After the dashboard opens, inspect the header/sidebar/navigation area.","Valid test user credentials provided by project owner","The authenticated page shows navigation buttons/links for Dashboard, Client Representation, Reports, Projects, Settings, and a visible Logout button. These controls are displayed only after successful authentication.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-003","Positive Case","Authentication and Session Management","Authenticated dashboard landing","Functional","Verify dashboard URL remains correct after successful authentication","1. Open the application URL. 2. Login with valid credentials. 3. Wait until the post-login page is fully displayed. 4. Check the browser address bar.","Valid test user credentials provided by project owner","Browser address bar displays the /dashboard route exactly as the authenticated landing route. User is not left on the login route after successful login.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-004","Positive Case","Authentication and Session Management","Authenticated dashboard landing","Functional","Verify Dashboard navigation keeps authenticated user inside protected session","1. From any authenticated page, click the Dashboard navigation button/link. 2. Observe the page URL and content. 3. Verify whether the Logout button remains visible.","Valid authenticated session","User is navigated to /dashboard. The ""TH Project Dashboard"" content is displayed and the Logout button remains visible, confirming the authenticated session is retained.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-005","Positive Case","Authentication and Session Management","Authenticated dashboard landing","Functional","Verify authenticated user can navigate to Reports without re-login","1. Click the Reports navigation button/link. 2. Observe the resulting URL and page state. 3. Check whether authenticated navigation and Logout are still visible.","Valid authenticated session","User is routed to the Reports area without being asked to log in again. The authenticated navigation and Logout button remain visible on the Reports page.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-006","Edge Case","Authentication and Session Management","Login access","Validation","Verify repeated login submit does not create duplicate dashboard navigation or duplicate session state","1. Open the application URL. 2. Enter valid credentials. 3. Rapidly click/tap the login submit button multiple times. 4. Observe the resulting page and URL after authentication completes.","Valid test user credentials provided by project owner","Only one authenticated session transition occurs. User lands once on /dashboard, no duplicate dashboard screen is opened, no duplicate navigation elements are rendered, and the app does not crash or show multiple conflicting messages.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-007","Negative Case","Authentication and Session Management","Protected route access","Security","Verify unauthenticated user cannot access Dashboard route directly","1. Paste https://testers-hub-project-dashboard.vercel.app/dashboard in the browser address bar. 2. Press Enter. 3. Observe the page URL and visible content.","Direct URL: https://testers-hub-project-dashboard.vercel.app/dashboard","Unauthenticated user is not allowed to view the dashboard. The app redirects to the login/sign-in screen or displays an access-blocked state. ""TH Project Dashboard"" and authenticated navigation are not visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-008","Negative Case","Authentication and Session Management","Protected route access","Security","Verify unauthenticated user cannot access Reports route directly","1. Open a new browser tab. 2. Navigate directly to https://testers-hub-project-dashboard.vercel.app/reports. 3. Observe whether reports content or authenticated navigation is displayed.","Direct URL: https://testers-hub-project-dashboard.vercel.app/reports","Reports page is protected. The unauthenticated user is redirected to login/sign-in or blocked from access. Reports content, report actions, and Logout button are not visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-009","Negative Case","Authentication and Session Management","Protected route access","Security","Verify unauthenticated user cannot access Client Representation route directly","1. Navigate directly to https://testers-hub-project-dashboard.vercel.app/client-representation. 2. Observe the page state, URL, and available controls.","Direct URL: https://testers-hub-project-dashboard.vercel.app/client-representation","Client Representation page is not accessible without a valid session. User is redirected to login/sign-in or shown an access-blocked state, and no client-facing portfolio content is displayed.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-010","Negative Case","Authentication and Session Management","Protected route access","Security","Verify unauthenticated user cannot access Settings route directly","1. Navigate directly to https://testers-hub-project-dashboard.vercel.app/settings. 2. Observe whether the Settings placeholder is displayed. 3. Check whether authenticated navigation or Logout is visible.","Direct URL: https://testers-hub-project-dashboard.vercel.app/settings","Settings route is protected. Unauthenticated user is redirected to login/sign-in or blocked. The text ""Settings view coming soon."" and Logout button are not visible to the unauthenticated user.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-011","Negative Case","Authentication and Session Management","Protected route access","Security","Verify protected content is not briefly exposed before redirect for unauthenticated direct access","1. Navigate directly to /dashboard and observe the screen during initial rendering. 2. Repeat for /reports. 3. Repeat for /client-representation. 4. Repeat for /settings.","Direct URLs: /dashboard, /reports, /client-representation, /settings","For every protected route, protected page content is never visibly exposed before redirect/blocking. No authenticated navigation, dashboard metrics, reports, client representation data, settings placeholder, or Logout button flashes on screen for the unauthenticated session.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-012","Negative Case","Authentication and Session Management","Protected route access","Security","Verify invalid or corrupted session token cannot access protected pages","1. Login successfully and confirm dashboard is visible. 2. Open browser developer tools and locate the application session/token value in cookies, local storage, or session storage. 3. Replace the token/session value with an invalid string or delete part of it. 4. Refresh /dashboard or navigate to /reports.","Corrupted/invalid auth token or manually edited browser storage value","The corrupted or invalid session is rejected. User is redirected to login/sign-in or shown a session-invalid/access-blocked state. Protected content and Logout button are not available under the invalid session.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-013","Positive Case","Authentication and Session Management","Logout","Functional","Verify Logout button terminates authenticated session from dashboard","1. Click the Logout button. 2. Observe the resulting page and URL. 3. Check whether authenticated navigation remains visible.","Valid authenticated session","User is logged out and moved away from the protected dashboard to the login/sign-in screen or public unauthenticated state. Dashboard content, authenticated navigation, and Logout button are no longer visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-014","Negative Case","Authentication and Session Management","Logout","Security","Verify browser Back button after logout does not restore protected dashboard","1. Click Logout. 2. Confirm the app shows login/sign-in or unauthenticated state. 3. Click the browser Back button. 4. Observe whether dashboard content becomes accessible.","Valid authenticated session","Browser Back does not restore usable protected content. User remains on login/sign-in or is immediately redirected/blocked again. ""TH Project Dashboard"" and authenticated navigation are not accessible after logout.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-015","Negative Case","Authentication and Session Management","Logout","Security","Verify direct protected URL access after logout requires re-authentication","1. After logout, manually enter https://testers-hub-project-dashboard.vercel.app/dashboard in the browser address bar. 2. Press Enter. 3. Observe page content and navigation controls.","Direct URL after logout: https://testers-hub-project-dashboard.vercel.app/dashboard","The logged-out user cannot access /dashboard directly. The app redirects to login/sign-in or displays an access-blocked state. Protected dashboard content and Logout button are not visible until the user logs in again.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-016","Edge Case","Authentication and Session Management","Logout","Validation","Verify repeated clicks on Logout do not cause duplicate redirects or errors","1. Rapidly click/tap the Logout button multiple times. 2. Observe the UI behavior until logout completes. 3. Check browser console/network only if available during manual testing.","Valid authenticated session","Only one logout action is processed. User ends in the unauthenticated login/sign-in state, no duplicate pages or popups are opened, no error page is shown, and the application does not crash.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-017","Positive Case","Authentication and Session Management","Logout","Functional","Verify logout from Reports clears access to all protected routes","1. Navigate to Reports using the Reports navigation button/link. 2. Click Logout from the Reports page. 3. After logout, attempt to open /reports directly. 4. Attempt to open /dashboard directly.","Valid authenticated session","Logout from Reports terminates the full authenticated session. Both /reports and /dashboard require re-authentication and do not display protected content after logout.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-018","Negative Case","Authentication and Session Management","Logout","Security","Verify logout clears authenticated navigation from all open tabs after refresh","1. In Tab A, click Logout. 2. Confirm Tab A is logged out. 3. Switch to Tab B. 4. Refresh Tab B. 5. Observe whether protected content remains accessible.","Same valid user session opened in two browser tabs","After logout in Tab A, refreshing Tab B invalidates the session there as well. Tab B redirects to login/sign-in or an access-blocked state, and protected content/authenticated navigation are removed.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-019","Positive Case","Authentication and Session Management","Session timeout/recovery","Functional","Verify authenticated session persists on dashboard browser refresh","1. Refresh the browser while on /dashboard. 2. Wait for the page to render. 3. Observe the URL, dashboard content, and authenticated navigation.","Valid authenticated session on /dashboard","The active authenticated session remains valid after refresh. User stays on /dashboard, ""TH Project Dashboard"" is displayed, and authenticated navigation including Logout remains visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-020","Positive Case","Authentication and Session Management","Session timeout/recovery","Functional","Verify authenticated session is available in a new tab within same browser session","1. Open a new tab in the same browser profile. 2. Navigate directly to https://testers-hub-project-dashboard.vercel.app/dashboard. 3. Observe whether the user is required to log in again.","Direct URL in new tab: https://testers-hub-project-dashboard.vercel.app/dashboard","The valid active session is recognized in the new tab. User is allowed to access /dashboard and the authenticated navigation including Logout is visible without duplicate login.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-021","Edge Case","Authentication and Session Management","Session timeout/recovery","Security","Verify session loss during active use redirects user safely","1. While on /dashboard, remove the application session/token from cookies, local storage, or session storage. 2. Click Reports or refresh the current page. 3. Observe the app behavior.","Valid authenticated session; session/token removed from browser storage during testing","The app detects the missing session and prevents further protected access. User is redirected to login/sign-in or shown a session-expired/access-blocked state. Protected content is not usable after token removal.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-022","Edge Case","Authentication and Session Management","Session timeout/recovery","Security","Verify expired session recovery requires login before returning to protected route","1. Keep the session idle until the configured timeout period is exceeded. 2. Attempt to navigate to /reports or refresh the current protected page. 3. If redirected to login/sign-in, log in again with valid credentials. 4. Observe the final route and protected content state.","Configured session timeout duration from requirements; protected route /reports","After timeout, the previous session is no longer accepted and protected content is blocked until re-login. After successful re-login, user can access the requested protected area again with authenticated navigation visible.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "TC-AASM-023","Edge Case","Authentication and Session Management","Session timeout/recovery","UI/UX","Verify network interruption during authenticated route change does not expose invalid session state","1. Set browser network mode to Offline. 2. Click Reports or Settings navigation. 3. Observe the page behavior and any error/recovery state. 4. Restore the network connection. 5. Retry the same navigation.","Valid authenticated session; browser network throttling/offline mode","During network interruption, the application does not crash, does not log the user into an inconsistent blank protected state, and does not expose unauthorized content. A stable error/retry behavior is shown or the current authenticated page remains usable. After network restoration, route navigation works using the existing valid session.","","Not Run","","Module-wise source: Authentication and Session Management | Generated by AI" "","","","","","","","","","","","","" "Module: Dashboard Overview","21 test case(s)","","","","","","","","","","","" "TC-DOX-001","Positive Case","Dashboard Overview","Today Overview summary cards","Functional","Verify Today Overview dashboard KPI cards display all primary metrics","1. Open the TH Project Dashboard. 2. Locate the TODAY OVERVIEW section. 3. Verify the dashboard title and KPI cards displayed in this section. 4. Check that Total Projects, Ongoing, Hold Projects, and Completed cards are visible with count values.","Authenticated user; Dashboard URL: https://testers-hub-project-dashboard.vercel.app/dashboard","TODAY OVERVIEW section is displayed with the title TH Project Dashboard and the KPI cards Total Projects 228, Ongoing 5, Hold Projects 0, and Completed 223.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-002","Positive Case","Dashboard Overview","Project count KPIs","Functional","Verify Total Projects card displays platform breakdown text correctly","1. Open the Dashboard Overview page. 2. Locate the Total Projects KPI card. 3. Read the total project count. 4. Verify the supporting platform breakdown text shown under or near the total count.","Expected platform breakdown: iOS: 85 | Android: 71 | Web: 101 | Game: 36","Total Projects card displays count 228 and the platform breakdown exactly as iOS: 85 | Android: 71 | Web: 101 | Game: 36 without truncation or missing separators.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-003","Positive Case","Dashboard Overview","Execution status overview","Functional","Verify execution status KPI cards display current project status counts","1. Open the Dashboard Overview page. 2. Locate the status KPI cards. 3. Verify the Ongoing card value. 4. Verify the Hold Projects card value. 5. Verify the Completed card value.","Expected status counts: Ongoing=5, Hold Projects=0, Completed=223","Execution status KPI cards display Ongoing 5, Hold Projects 0, and Completed 223 exactly as visible dashboard metrics.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-004","Positive Case","Dashboard Overview","Project count KPIs","Validation","Verify dashboard status totals reconcile with Total Projects count","1. Open the Dashboard Overview page. 2. Capture the Total Projects count. 3. Capture Ongoing, Hold Projects, and Completed counts. 4. Add the status counts manually: Ongoing + Hold Projects + Completed. 5. Compare the calculated sum with Total Projects.","Total Projects=228; Ongoing=5; Hold Projects=0; Completed=223","Status count sum is 228 and matches Total Projects 228; dashboard does not show inconsistent status totals.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-005","Edge Case","Dashboard Overview","Execution status overview","Validation","Verify zero-count Hold Projects status is displayed clearly","1. Open the Dashboard Overview page. 2. Locate the Hold Projects KPI card. 3. Verify how the zero value is displayed. 4. Check whether the card remains visible and aligned with other KPI cards.","Hold Projects expected value: 0","Hold Projects card remains visible and displays numeric value 0; it is not blank, hidden, shown as null/undefined/NaN, or removed from the KPI layout.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-006","Negative Case","Dashboard Overview","Project count KPIs","Validation","Verify dashboard KPI values do not show invalid numeric placeholders","1. Open the Dashboard Overview page. 2. Inspect all visible KPI count fields. 3. Check for invalid values such as NaN, undefined, null, blank, negative numbers, or broken placeholders. 4. Refresh the dashboard once and repeat the check.","Dashboard KPI cards: Total Projects, Ongoing, Hold Projects, Completed","All KPI counts display valid non-negative numeric values; no KPI displays NaN, undefined, null, blank, negative value, or broken placeholder text.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-007","Positive Case","Dashboard Overview","Platform filter buttons","Functional","Verify All platform filter is available and selected by default","1. Open the Dashboard Overview page. 2. Locate the Project Overview filter row. 3. Verify that All, iOS, Android, Web, and Game filter buttons are present. 4. Check the default selected filter state.","Platform filters: All, iOS, Android, Web, Game","All five filter buttons are visible, and All is selected by default for the unfiltered dashboard overview.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-008","Positive Case","Dashboard Overview","Platform filter buttons","Functional","Verify iOS platform filter selection updates active state and dashboard context","1. Open the Dashboard Overview page. 2. Click the iOS filter button. 3. Observe the selected button state. 4. Verify dashboard overview sections after the selection.","Filter: iOS; Expected iOS count reference: 85","iOS button becomes the only active platform filter, All is deselected, and platform overview context displays iOS-related data including the visible iOS count reference of 85 without page crash or stale mixed selection.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-009","Positive Case","Dashboard Overview","Platform filter buttons","Functional","Verify Android platform filter selection updates active state and dashboard context","1. Open the Dashboard Overview page. 2. Click the Android filter button. 3. Observe the selected button state. 4. Verify dashboard overview sections after the selection.","Filter: Android; Expected Android count reference: 71","Android button becomes the only active platform filter, other platform filter buttons are not active, and platform overview context displays Android-related data including the visible Android count reference of 71 without incorrect selected state.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-010","Positive Case","Dashboard Overview","Platform filter buttons","Functional","Verify Web platform filter selection updates active state and dashboard context","1. Open the Dashboard Overview page. 2. Click the Web filter button. 3. Observe the selected button state. 4. Verify dashboard overview sections after the selection.","Filter: Web; Expected Web count reference: 101","Web button becomes the only active platform filter, other filters are deselected, and platform overview context displays Web-related data including the visible Web count reference of 101 without showing duplicate active filters.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-011","Positive Case","Dashboard Overview","Platform filter buttons","Functional","Verify Game platform filter selection updates active state and dashboard context","1. Open the Dashboard Overview page. 2. Click the Game filter button. 3. Observe the selected button state. 4. Verify dashboard overview sections after the selection.","Filter: Game; Expected Game count reference: 36","Game button becomes the only active platform filter, other filters are deselected, and platform overview context displays Game-related data including the visible Game count reference of 36 without dashboard layout breakage.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-012","Edge Case","Dashboard Overview","Platform filter buttons","Functional","Verify rapid switching between platform filters does not create inconsistent dashboard state","1. Open the Dashboard Overview page. 2. Click filters rapidly in this sequence: All, iOS, Android, Web, Game, All. 3. Observe the active filter state after the final click. 4. Check KPI cards and overview sections for duplicate cards, stale loading states, or mixed active filters.","Filters sequence: All > iOS > Android > Web > Game > All","Only the final selected filter All remains active; dashboard shows a stable overview state with no duplicate KPI cards, no overlapping sections, no stale spinner, and no crash.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-013","Edge Case","Dashboard Overview","Platform filter buttons","Functional","Verify repeated taps on the same platform filter do not duplicate UI or requests visibly","1. Click the iOS filter button. 2. Click the iOS filter button 5 more times continuously. 3. Observe the filter active state and dashboard content. 4. Verify KPI cards and overview sections after the repeated clicks.","Filter: iOS; repeat count: 5 clicks/taps","iOS remains selected once; dashboard does not create duplicate sections, duplicate active states, repeated error messages, blank data, or UI flickering that leaves the page unusable.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-014","Positive Case","Dashboard Overview","Execution status overview","Functional","Verify By Execution Status section displays correct labels and values","1. Open the Dashboard Overview page. 2. Locate the By Execution Status section. 3. Verify the section heading. 4. Verify displayed status labels and count values.","Expected labels/values: By Execution Status, Ongoing: 5, Completed: 223","By Execution Status section is visible and displays Ongoing: 5 and Completed: 223 with readable labels and numeric values.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-015","Positive Case","Dashboard Overview","Platform distribution","Functional","Verify By Platform section displays all visible platform distribution values","1. Open the Dashboard Overview page. 2. Locate the By Platform section. 3. Verify all platform labels are shown. 4. Verify each platform count displayed in the distribution section or supporting text.","Expected platform values: iOS=85, Android=71, Web=101, Game=36","By Platform section displays iOS 85, Android 71, Web 101, and Game 36 with all labels visible and no missing platform from the inspected dashboard data.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-016","Positive Case","Dashboard Overview","Execution status overview","Validation","Verify Project Overview sections remain synchronized after platform filter change","1. Open the Dashboard Overview page. 2. Click the Web platform filter. 3. Observe KPI cards, By Execution Status, and By Platform sections. 4. Verify that visible data belongs to the selected platform context and there are no conflicting active platform indicators. 5. Click All and verify the overall dashboard context is restored.","Filter: Web; Sections: KPI cards, By Execution Status, By Platform","After selecting Web, dashboard sections refresh or present Web context consistently with Web selected; after clicking All, All becomes active and the overall platform distribution is restored without conflicting selected states.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-017","Positive Case","Dashboard Overview","Today Overview summary cards","UI/UX","Verify dashboard KPI and overview labels are readable and visually aligned","1. Open the Dashboard Overview page in a desktop viewport. 2. Inspect the Today Overview KPI cards. 3. Inspect Project Overview, By Execution Status, and By Platform sections. 4. Check label readability, card spacing, alignment, and whether values are clipped or overlapped.","Viewport: Desktop 1366x768 or higher","All dashboard labels and counts are readable; KPI cards and overview sections are aligned consistently with no clipped text, overlapping values, or hidden filter buttons.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-018","Edge Case","Dashboard Overview","Dashboard responsive behavior","UI/UX","Verify dashboard layout remains usable on smaller viewport","1. Open the Dashboard Overview page. 2. Resize the viewport to a common mobile width such as 390x844. 3. Inspect Today Overview cards, platform filter buttons, and overview sections. 4. Attempt to scroll and select a platform filter.","Viewport examples: 390x844 mobile width or browser responsive mode","Dashboard remains usable on the smaller viewport; KPI cards and sections stack or resize cleanly, filter buttons remain accessible, and no important count or label is cut off.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-019","Positive Case","Dashboard Overview","Dashboard navigation actions","Functional","Verify Add Project entry point opens project creation form from dashboard","1. Locate the Add Project button or action on the dashboard. 2. Click Add Project once. 3. Observe the navigation or modal/page that opens. 4. Verify the project creation form is displayed.","Button/action: Add Project","Clicking Add Project from Dashboard opens the project creation form/screen; user is not logged out, no blank page appears, and the dashboard action does not open multiple forms for a single click.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-020","Edge Case","Dashboard Overview","Dashboard navigation actions","Functional","Verify clicking Dashboard navigation while already on dashboard does not duplicate page content","1. Confirm the current page is Dashboard Overview. 2. Click the Dashboard navigation item once. 3. Click the Dashboard navigation item multiple times quickly. 4. Observe the URL, active navigation state, and dashboard content.","Navigation item: Dashboard","User remains on the dashboard route; only one dashboard view is displayed, active navigation state remains on Dashboard, and no duplicate KPI sections or repeated content blocks are created.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "TC-DOX-021","Negative Case","Dashboard Overview","Dashboard error-state handling","Security","Verify dashboard data fetch failure does not expose raw technical details","1. Open browser dev tools or a network proxy. 2. Block or fail the dashboard data request, or simulate a server error for dashboard metrics. 3. Refresh the Dashboard Overview page. 4. Observe the dashboard area where KPI and overview data normally appears. 5. Check for technical error details, stack traces, tokens, API URLs with sensitive query data, or raw JSON displayed to the user.","Simulated condition: dashboard API/network request blocked or returns 500/failed response","Dashboard handles the failure safely by showing a user-friendly empty/error state or preserving safe UI; it does not expose stack traces, raw API responses, tokens, sensitive session values, or unformatted technical errors.","","Not Run","","Module-wise source: Dashboard Overview | Generated by AI" "","","","","","","","","","","","","" "Module: Add New Project","43 test case(s)","","","","","","","","","","","" "TC-ANP-001","Positive Case","Add New Project","Add Project launch","Functional","Verify Add New Project form displays required heading, fields, and actions after opening Add Project","1. Click the Add Project button. 2. Observe the opened form area/modal/page. 3. Verify the form heading. 4. Verify the presence of Project Name * field. 5. Verify the presence of radio option group, checkbox options, additional text fields, Cancel button, and submit Add Project button.","Authenticated user; Dashboard/Add Project entry available","Add New Project form is displayed on the current dashboard route with heading ""Add New Project"", Project Name * field, visible radio options, checkbox options, additional text fields, Cancel button, and submit button labeled ""Add Project"".","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-002","Positive Case","Add New Project","Add Project launch","Functional","Verify Add New Project form keeps user on dashboard URL while form is visible","1. Note the current browser URL. 2. Click Add Project. 3. Wait until Add New Project form is visible. 4. Check the browser URL.","Authenticated user; URL before action: /dashboard","Add New Project form opens without navigating away from the dashboard context; browser URL remains on /dashboard or the expected dashboard route while the form is visible.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-003","Positive Case","Add New Project","Project creation form","UI/UX","Verify Add New Project form controls are visually distinguishable and clickable","1. Inspect the Project Name * input field. 2. Inspect all radio options. 3. Inspect all checkbox options. 4. Inspect Cancel and Add Project buttons. 5. Move focus/cursor over each interactive control and click once where applicable without submitting valid data.","Authenticated user; Add New Project form opened","All visible form controls have clear clickable areas, visible focus/active state where applicable, no overlapping labels or buttons, and controls can be interacted with without layout breakage.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-004","Negative Case","Add New Project","Additional required/optional text fields","UI/UX","Verify Add New Project required text field does not appear with a blank or missing label","1. Review each required text field on the form. 2. Verify whether each required field has a visible label or placeholder that identifies the expected input. 3. Verify required fields are marked consistently, such as using an asterisk. 4. Attempt to focus each required field and observe the label/placeholder behavior.","Authenticated user; Add New Project form opened","Every required text field has a meaningful visible label and required indicator. No required text field is displayed with a blank, missing, or unclear label.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-005","Negative Case","Add New Project","Project creation mandatory fields","Validation","Verify submitting Add New Project with all fields empty is blocked","1. Leave Project Name * empty. 2. Leave all other required fields empty. 3. Do not change any radio or checkbox selection unless default values are already selected. 4. Click Add Project submit button.","Project Name: blank; all required additional fields: blank; radio/checkbox: default state","Project is not created. Form remains open. Required validation is shown for Project Name * and every other mandatory field. The user is not navigated away and dashboard/project counts are not updated.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-006","Negative Case","Add New Project","Required Project Name field","Validation","Verify Project Name mandatory validation when only other fields are completed","1. Leave Project Name * empty. 2. Fill all other required fields with valid data. 3. Select valid radio/checkbox options if required. 4. Click Add Project.","Project Name: blank; additional required field: valid value; valid radio/checkbox selections where applicable","Submission is blocked. Project Name * field displays a required-field validation message. No project record is created and all previously entered non-invalid values remain available for correction.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-007","Negative Case","Add New Project","Additional required/optional text fields","Validation","Verify additional required text field validation when Project Name is provided","1. Enter a valid value in Project Name *. 2. Leave the additional required text field blank. 3. Complete any other mandatory selections with valid values. 4. Click Add Project.","Project Name: TH QA Portfolio 001; additional required text field: blank","Submission is blocked. The additional required text field displays a clear required validation message associated with that field. Project Name value remains populated and no project is created.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-008","Edge Case","Add New Project","Required Project Name field","Validation","Verify validation message clears after correcting mandatory Project Name","1. Leave Project Name * blank. 2. Click Add Project to trigger validation. 3. Verify required validation appears for Project Name. 4. Enter ""TH Corrected Project"" in Project Name *. 5. Move focus out of the field or submit again after completing other required fields.","Initial Project Name: blank; corrected Project Name: TH Corrected Project","Project Name required validation is removed after a valid value is entered. The form allows submission only when all mandatory fields are valid.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-009","Edge Case","Add New Project","Project Name input validation","Validation","Verify space-only Project Name is rejected","1. Enter only spaces in Project Name *. 2. Fill all other mandatory fields with valid values. 3. Click Add Project.","Project Name: five spaces "" ""; other mandatory fields: valid values","Submission is blocked. Project Name is treated as blank after trimming whitespace and a validation message is displayed. No project is created with an empty/space-only name.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-010","Positive Case","Add New Project","Project Name input validation","Functional","Verify valid alphanumeric Project Name can be accepted","1. Enter ""TH Web QA Project 2026"" in Project Name *. 2. Fill all additional required fields with valid values. 3. Select valid radio option and checkbox selections as applicable. 4. Click Add Project.","Project Name: TH Web QA Project 2026; required fields: valid values; valid option selections","Project is created successfully. A success confirmation is displayed or the form closes to the expected dashboard/project state. The new project name is saved exactly as ""TH Web QA Project 2026"" without unwanted truncation or character changes.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-011","Edge Case","Add New Project","Project Name input validation","Validation","Verify Project Name with leading and trailing spaces is trimmed before saving","1. Enter Project Name with leading and trailing spaces: "" TH Trim Project "". 2. Complete all mandatory fields with valid data. 3. Click Add Project. 4. Verify the saved/displayed project name in the success state or project listing/count context if available.","Project Name input: "" TH Trim Project ""; expected saved name: ""TH Trim Project""","Project is created using the trimmed name ""TH Trim Project"". Leading/trailing spaces are not stored or displayed as part of the project name.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-012","Edge Case","Add New Project","Project Name input validation","Validation","Verify Project Name supports valid special characters used in project titles","1. Enter ""TH-QA_Project v1.0 (Web)"" in Project Name *. 2. Fill all required fields. 3. Select valid options. 4. Click Add Project.","Project Name: TH-QA_Project v1.0 (Web); required fields: valid values","System accepts common safe project-title characters such as hyphen, underscore, dot, spaces, and parentheses. Project is saved/displayed with the exact valid title ""TH-QA_Project v1.0 (Web)"".","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-013","Edge Case","Add New Project","Project Name input validation","Validation","Verify Project Name supports Unicode characters without corruption","1. Enter ""Proyecto QA Café 测试"" in Project Name *. 2. Complete all mandatory fields with valid values. 3. Click Add Project. 4. Verify saved/displayed project name after successful creation if creation succeeds.","Project Name: Proyecto QA Café 测试; required fields: valid values","Unicode characters are handled safely. Either the project is saved and displayed exactly as entered, or a clear validation message explains unsupported characters. The application does not show garbled text or crash.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-014","Edge Case","Add New Project","Project Name input validation","Validation","Verify very long Project Name is handled with maximum length validation","1. Paste a 256-character project name into Project Name *. 2. Observe whether the field restricts input length. 3. Fill all other mandatory fields with valid values. 4. Click Add Project.","Project Name: 256-character string; required fields: valid values","Application enforces the configured maximum length. It either prevents extra characters from being entered or blocks submission with a clear maximum-length validation message. No malformed, truncated without notice, or broken project record is created.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-015","Negative Case","Add New Project","Project Name input validation","Validation","Verify duplicate Project Name handling prevents unintended duplicate records","1. Enter an existing project name in Project Name *. 2. Complete all other mandatory fields with valid values. 3. Click Add Project. 4. Observe validation/error feedback and project list/count behavior.","Existing Project Name: use a project name already saved in the system; required fields: valid values","System does not create an unintended duplicate project with the same name. A clear duplicate-name validation or business-rule message is shown, or the application confirms duplicates are intentionally allowed according to defined rules. Project counts do not increase when duplicate creation is blocked.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-016","Negative Case","Add New Project","Project Name input validation","Security","Verify script injection entered in Project Name is not executed","1. Enter """" in Project Name *. 2. Complete all mandatory fields with valid values. 3. Click Add Project. 4. If the input is accepted, navigate to any place where the project name is displayed. 5. Observe browser behavior and rendered project name.","Project Name: ; required fields: valid values","Script content is not executed. No alert popup appears. The system either rejects the input with a validation message or stores/displays it as safely escaped text. No raw HTML/script is rendered in the UI.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-017","Positive Case","Add New Project","Radio option group","Functional","Verify radio option group allows only one selected option at a time","1. Observe the default selected/unselected state of the radio group. 2. Click the first radio option. 3. Verify it becomes selected. 4. Click a different radio option in the same group. 5. Verify the first option is deselected and the newly clicked option is selected.","Add New Project form with visible radio options","Only one radio option in the group can be selected at any time. The selected radio state is visually clear and updates immediately after each click.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-018","Edge Case","Add New Project","Radio option group","Functional","Verify repeated clicks on same radio option do not clear required selection or create inconsistent state","1. Click one radio option. 2. Click the same radio option multiple times rapidly. 3. Observe selected state after repeated clicks. 4. Attempt to continue filling the form.","Any visible radio option","The selected radio option remains selected after repeated clicks. No duplicate option UI appears, no selection flicker persists, and the form remains usable.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-019","Positive Case","Add New Project","Checkbox selections","Functional","Verify checkbox options allow multiple selections and independent deselection","1. Click the first checkbox. 2. Click the second checkbox. 3. Verify both are selected. 4. Click the first checkbox again. 5. Verify the first checkbox is deselected while the second remains selected.","At least two visible checkbox options","Checkboxes support independent multi-select behavior. Selecting or deselecting one checkbox does not unintentionally change other checkbox selections.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-020","Negative Case","Add New Project","Radio and checkbox option selection","Validation","Verify required radio or checkbox validation blocks submit when no option is selected","1. Enter a valid Project Name. 2. Fill all required text fields. 3. Leave required radio/checkbox option group unselected. 4. Click Add Project.","Project Name: TH Option Validation Project; option groups: leave required selections unselected","Submission is blocked for any required option group left unselected. A clear validation message is displayed near the relevant radio/checkbox group. No project is created until required selections are made.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-021","Positive Case","Add New Project","Submit action","Functional","Verify successful Add Project updates dashboard total/project counts where applicable","1. Record current Total Projects count and relevant platform/status counts displayed on dashboard. 2. Open Add New Project form. 3. Enter the unique project name and complete all mandatory fields with valid values. 4. Select applicable radio/checkbox options. 5. Click Add Project. 6. Return to or observe the dashboard count area after successful creation.","Unique Project Name: TH Count Update Project; required fields: valid values; valid selections","Project is created successfully. Dashboard/project count values update consistently according to the new project's selected platform/status; Total Projects increases by 1 if the new project is included in dashboard totals. No unrelated count decreases or invalid values appear.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-022","Positive Case","Add New Project","Submit action","Functional","Verify successful Add Project resets or closes form after creation","1. Fill Project Name * with a unique valid value. 2. Complete all required fields and selections. 3. Click Add Project. 4. Observe the form state after successful creation. 5. Open Add Project again if the form closes automatically.","Unique Project Name: TH Form Reset Project; required fields: valid values","After successful creation, the user receives clear success feedback and the form either closes or resets according to expected design. When opened again, stale values from the previous project are not prefilled unless intentionally retained by design.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-023","Edge Case","Add New Project","Submit action","Functional","Verify repeated clicks on Add Project submit do not create duplicate projects","1. Fill Project Name * with ""TH Repeated Submit Project"". 2. Complete all required fields and selections with valid data. 3. Rapidly click the Add Project submit button multiple times. 4. Observe UI feedback and final project/count state.","Unique Project Name: TH Repeated Submit Project; required fields: valid values","Only one project record is created. Submit action is debounced, disabled during processing, or otherwise protected against duplicate submissions. No duplicate success messages, duplicate records, or count increments greater than 1 occur.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-024","Positive Case","Add New Project","Cancel action","Functional","Verify Cancel closes Add New Project form without saving empty form","1. Verify Add New Project form is visible. 2. Click Cancel. 3. Observe the resulting screen state. 4. Verify dashboard/project counts or project listing if visible.","No field values entered","Add New Project form is closed or user is returned to the previous dashboard state. No project is created, no validation messages remain visible, and dashboard/project counts are unchanged.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-025","Edge Case","Add New Project","Cancel and failed submit recovery","Functional","Verify failed Add Project submission can be retried without duplicate creation or data loss","1. Fill all mandatory fields with valid data. 2. Simulate temporary network/API failure before clicking Add Project. 3. Click Add Project. 4. Verify error handling. 5. Restore network/API availability. 6. Click Add Project again once. 7. Verify final creation result and project/count state.","Unique Project Name: TH Retry Project; required fields: valid values; simulate temporary network/API failure during first submit","During failure, the project is not created and a user-friendly error message is shown without raw technical details. Entered form data remains available for retry. After retry with network restored, exactly one project is created and counts update only once.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-026","Positive Case","Add New Project","Project creation form","UI/UX","Verify Project Name required indicator and input label are clearly visible","1. Observe the Add New Project form heading. 2. Locate the Project Name input field. 3. Verify that the Project Name label is visible. 4. Verify that the required indicator '*' is displayed next to Project Name. 5. Verify that the input field is visually aligned and not overlapped by other controls.","Authenticated user; Add New Project form opened","The Add New Project form displays the heading, the Project Name field has a readable 'Project Name *' label, the required indicator is visible, and the input is properly aligned with no overlap or truncation.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-027","Edge Case","Add New Project","Project creation form","UI/UX","Verify keyboard tab order works correctly across Add New Project form controls","1. Click inside the Project Name field. 2. Press the Tab key repeatedly. 3. Observe the focus movement across text fields, radio options, checkboxes, Cancel button, and Add Project submit button. 4. Press Shift + Tab to move focus backward. 5. Verify each focused element has a visible focus indicator.","Authenticated user; Add New Project form opened","Keyboard focus moves in a logical top-to-bottom/left-to-right order through all visible form controls, each focused control is visually identifiable, and focus does not get trapped or skip actionable fields/buttons.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-028","Edge Case","Add New Project","Add Project launch","Functional","Verify clicking Add Project again while Add New Project form is already open does not duplicate the form","1. Attempt to click the Add Project entry button again if it remains accessible. 2. If the entry button is not accessible, use any visible Add Project action within the form only once. 3. Observe the page content and form instances. 4. Check whether multiple headings, duplicate fields, or duplicate submit buttons appear.","Authenticated user; Add New Project form already visible","Only one Add New Project form remains visible. The application does not render duplicate forms, duplicate overlays, duplicate submit buttons, or overlapping UI elements.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-029","Positive Case","Add New Project","Additional required/optional text fields","Validation","Verify optional text fields can be left blank when all required fields are valid","1. Enter a valid value in Project Name. 2. Enter valid data in all fields marked as required. 3. Select any required radio option or checkbox if applicable. 4. Leave optional text fields blank. 5. Click the Add Project submit button.","Project Name: QA Portfolio Web 2026; Required fields: valid values; Optional text fields: blank","The form does not show validation errors for optional blank fields. Submission proceeds successfully or reaches the normal project creation response without blocking due to optional fields.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-030","Edge Case","Add New Project","Radio option group and checkbox selections","Functional","Verify selected radio and checkbox values are retained after required text field validation failure","1. Leave Project Name blank. 2. Select one radio option. 3. Select two checkbox options. 4. Click the Add Project submit button. 5. Observe validation messages. 6. Verify the radio and checkbox selections after validation is displayed.","Project Name: blank; Radio option: any visible option; Checkboxes: two selected values","Submission is blocked due to missing Project Name, but the selected radio option and selected checkboxes remain selected. The user does not need to reselect options after correcting the validation error.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-031","Negative Case","Add New Project","Additional required/optional text fields","Validation","Verify space-only value in additional required text field is rejected","1. Enter a valid Project Name. 2. Enter only spaces in the additional required text field. 3. Complete other required selections with valid values. 4. Click the Add Project submit button.","Project Name: Automation Dashboard; Additional required text field: three spaces","Submission is blocked. A required-field validation message is shown for the additional required text field, and the space-only value is not accepted as valid input.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-032","Edge Case","Add New Project","Validation and feedback messages","Validation","Verify repeated submit attempts with invalid mandatory fields do not create duplicate validation messages","1. Leave all mandatory fields blank. 2. Click the Add Project submit button. 3. Observe the validation messages. 4. Click the Add Project submit button 3 more times quickly. 5. Observe whether validation messages are duplicated or stacked repeatedly.","All required fields left blank","Submission remains blocked. Each invalid field displays only one clear validation message, messages do not duplicate on repeated clicks, and the form remains stable without flickering or crashing.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-033","Positive Case","Add New Project","Checkbox selections","Functional","Verify non-required checkbox options do not block project submission when left unselected","1. Enter a valid Project Name. 2. Complete all required text fields and required radio selections. 3. Leave optional checkbox options unselected. 4. Click the Add Project submit button.","Project Name: Minimal Valid Project; Required fields: valid values; Optional checkboxes: unselected","The application does not block submission due to optional unchecked checkboxes. Project creation proceeds with unchecked optional checkbox values saved as unselected/not applicable.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-034","Positive Case","Add New Project","Radio option group","UI/UX","Verify radio selected state is visually clear and previous option is deselected","1. Select the first radio option. 2. Verify the first option appears selected. 3. Select a different radio option in the same group. 4. Observe both radio options.","Any two visible radio options","The newly selected radio option shows a clear selected state, and the previously selected radio option is visibly deselected. Only one radio option is selected within the group.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-035","Positive Case","Add New Project","Checkbox selections","UI/UX","Verify checkbox checked and unchecked states are visually clear","1. Click a visible checkbox option. 2. Verify that the checkbox displays a clear checked state. 3. Click the same checkbox again. 4. Verify that the checkbox displays a clear unchecked state. 5. Repeat with another checkbox if available.","Any visible checkbox option","Checkbox checked and unchecked states are visually distinct, respond immediately to user clicks, and do not affect unrelated checkbox selections.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-036","Edge Case","Add New Project","Cancel action","Functional","Verify Cancel with entered form data exits without saving unintended project","1. Enter a Project Name. 2. Populate other visible fields and select radio/checkbox options. 3. Click the Cancel button. 4. If an unsaved changes confirmation appears, choose the option to discard/leave. 5. Verify the form closes or returns to the previous dashboard state. 6. Check that the entered project is not added to any visible project count/list if applicable.","Project Name: Unsaved Cancel Project; other visible fields populated","Cancel exits the Add New Project workflow without saving the entered data. No new project is created, no project count increases, and the user is returned to the previous dashboard/form-closed state.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-037","Edge Case","Add New Project","Cancel action","Functional","Verify reopening Add New Project after Cancel does not show stale unsaved data or validation messages","1. Open the Add New Project form. 2. Enter data in Project Name and other visible fields. 3. Trigger at least one validation message by leaving a required field blank and clicking Add Project. 4. Click Cancel. 5. Open Add New Project again. 6. Observe all fields and validation message areas.","Project Name before cancel: Stale Data Check","The reopened Add New Project form starts in a clean state. Previously entered unsaved data, selected options, and validation messages are not displayed unless the application intentionally supports draft recovery.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-038","Negative Case","Add New Project","Submit action","Validation","Verify dashboard project count remains unchanged when Add Project submission is blocked by validation","1. Note the current Total Projects count from the dashboard if visible. 2. Open the Add New Project form. 3. Leave mandatory fields blank. 4. Click the Add Project submit button. 5. Verify validation errors are shown. 6. Return to or observe the dashboard count.","Invalid form submission with mandatory fields blank","Project creation is blocked by validation. The Total Projects count and any relevant platform/status count remain unchanged after the failed validation attempt.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-039","Negative Case","Add New Project","Submit action","Functional","Verify user-friendly error is shown when Add Project submission fails due to network or server issue","1. Enter valid data in Project Name and all required fields. 2. Select required radio/checkbox options if applicable. 3. Simulate network offline or server failure before submitting. 4. Click the Add Project submit button. 5. Observe the form behavior and error feedback.","Valid project details; browser network offline or simulated failed API response","The project is not created. The application displays a user-friendly failure message such as unable to save/retry later, keeps the user on the Add New Project form, preserves entered data, and does not show raw technical stack traces or crash.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-040","Edge Case","Add New Project","Cancel and failed submit recovery","Functional","Verify Cancel after failed Add Project submission does not create a project in the background","1. Enter valid data in all required fields. 2. Simulate submission failure. 3. Click the Add Project submit button. 4. Verify a failure message is displayed. 5. Click Cancel. 6. Return to the dashboard or project count view. 7. Verify the project was not added after cancellation.","Valid project details with simulated failed submission","After failed submission and Cancel, no project is created in the background, project counts remain unchanged, and the user is returned to the previous dashboard/form-closed state without duplicate or pending save behavior.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-041","Negative Case","Add New Project","Project Name input validation and edge cases","Security","Verify HTML markup entered in Project Name is not rendered as active HTML","1. Enter 'QA HTML Project' in the Project Name field. 2. Complete all other required fields with valid data. 3. Click the Add Project submit button. 4. Observe validation or success behavior. 5. If the project is saved/displayed, view the project name wherever it appears.","Project Name: QA HTML Project","The application either rejects the HTML markup with a clear validation message or stores/displays it as escaped plain text. The text is not rendered as bold HTML, no layout is altered, and no executable markup is processed.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-042","Negative Case","Add New Project","Security input sanitization","Security","Verify SQL-like input in Project Name and additional text fields is handled safely","1. Enter SQL-like text in the Project Name field. 2. Enter SQL-like text in an additional visible text field. 3. Complete all other required fields with valid selections. 4. Click the Add Project submit button. 5. Observe the response and any displayed messages.","Project Name: QA Project ' OR '1'='1; Additional field: DROP TABLE projects;","The application safely validates or sanitizes the SQL-like input. It does not expose database errors, stack traces, raw query details, or unexpected success caused by injection. The form remains stable and protected data is not altered.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "TC-ANP-043","Negative Case","Add New Project","Security input sanitization","Security","Verify malicious script input in additional text fields is not executed","1. Enter a valid Project Name. 2. Enter '' into an additional text field. 3. Complete all other required fields with valid values. 4. Click the Add Project submit button. 5. Observe the form, success/error messages, and any location where the entered additional field value is displayed.","Additional text field value: ; Project Name: Safe Project Name","The script is not executed at any point. The application rejects the value with a clear validation message or stores/displays it as escaped plain text. No alert popup appears, no page content is modified, and no raw technical error is shown.","","Not Run","","Module-wise source: Add New Project | Generated by AI" "","","","","","","","","","","","","" "Module: Client Representation","25 test case(s)","","","","","","","","","","","" "TC-CRX-001","Positive Case","Client Representation","Client Representation landing","Functional","Verify Client Representation initial screen displays client view heading and empty instructional state","1. Navigate to the Client Representation page from the authenticated application navigation. 2. Observe the page header and main content area before selecting any Business Domain. 3. Observe the Portfolio Preview area.","Authenticated user; URL: /client-representation","The page displays 'CLIENT VIEW' and 'Client Representation'. The Portfolio Preview section is visible and shows the empty instructional state with text such as 'Select a business domain to begin' and 'Choose from the dropdown above'. No project cards are displayed before domain selection.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-002","Positive Case","Client Representation","Business Domain selector","UI/UX","Verify Business Domain selector is visible with proper label or placeholder","1. Locate the Business Domain control near the top of the Client Representation page. 2. Verify the visible label, placeholder, and input/dropdown boundary. 3. Check whether the control is clearly identifiable as the domain selection field.","Authenticated user; Client Representation page","A clearly visible Business Domain selector/input is displayed with label or placeholder 'Business Domain'. The control is visually distinct, aligned with the page layout, and usable without ambiguity.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-003","Positive Case","Client Representation","Portfolio Preview","UI/UX","Verify Portfolio Preview section displays supported platform labels in empty state","1. View the Portfolio Preview section. 2. Verify the platform labels shown in the preview area. 3. Check the alignment and readability of each platform label.","No Business Domain selected","The Portfolio Preview section displays the supported platform labels 'iOS', 'Android', 'Web', and 'Game'. Labels are readable, consistently styled, and not overlapping with empty-state instructions.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-004","Positive Case","Client Representation","Business Domain selector","Functional","Verify Business Domain selector opens available domain choices","1. Open the Client Representation page. 2. Click the Business Domain selector. 3. Observe whether the domain choices are displayed. 4. Click outside the dropdown without selecting an option.","Business Domain selector with available configured domain options","Clicking the Business Domain selector opens the available domain options/list. Clicking outside closes the options list without changing the selected value and the page remains stable.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-005","Positive Case","Client Representation","Business Domain selector","Functional","Verify selecting a valid Business Domain updates selector value and loads portfolio preview","1. Open the Client Representation page. 2. Click the Business Domain selector. 3. Select a valid Business Domain that has mapped portfolio data. 4. Observe the selected value in the selector. 5. Observe the Portfolio Preview section.","Known valid Business Domain with mapped portfolio data","The selected Business Domain value is displayed in the selector. The empty instruction 'Select a business domain to begin' is removed or replaced, and the Portfolio Preview renders portfolio/project information for the selected domain.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-006","Negative Case","Client Representation","Empty instructional state","Validation","Verify no portfolio data is rendered when Business Domain is not selected","1. Do not select any Business Domain. 2. Observe the Portfolio Preview section. 3. Attempt to interact with visible preview area, if any platform sections are present.","No Business Domain selected","No project cards or domain-specific portfolio data are displayed. The page continues to show clear guidance to select a business domain from the dropdown above.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-007","Edge Case","Client Representation","Business Domain selector","Functional","Verify clearing selected Business Domain returns Portfolio Preview to empty instructional state","1. Click the Business Domain selector. 2. Clear the selected Business Domain using the available clear icon, blank option, or by removing the selected value if supported. 3. Move focus away from the field. 4. Observe the Portfolio Preview section.","Valid selected Business Domain; clear/reset action if available","The Business Domain selection is cleared. Portfolio Preview returns to the initial empty instructional state and displays guidance to select a business domain. Previously loaded cards are no longer shown.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-008","Edge Case","Client Representation","Business Domain selector","Functional","Verify repeated taps on Business Domain selector do not create duplicate dropdowns","1. Rapidly click the Business Domain selector multiple times. 2. Observe the dropdown/list behavior. 3. Close the dropdown by clicking outside the control.","Business Domain selector","Only one dropdown/list instance is displayed at any time. The control toggles or remains open consistently, no duplicate option panels appear, and the page does not freeze or crash.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-009","Edge Case","Client Representation","Portfolio Preview","Functional","Verify selecting the same Business Domain repeatedly does not duplicate portfolio cards","1. Select a valid Business Domain. 2. Note the displayed project card count and platform grouping. 3. Open the Business Domain selector again. 4. Select the same Business Domain again. 5. Observe the Portfolio Preview section.","Known valid Business Domain with mapped project cards","Portfolio Preview remains consistent for the selected domain. Project cards are not duplicated, platform sections are not repeated, and the displayed card count/content remains unchanged.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-010","Negative Case","Client Representation","Business Domain selector","Validation","Verify invalid free-text Business Domain value is not accepted when selector is dropdown-based","1. Click inside the Business Domain field. 2. Type 'InvalidDomain_12345'. 3. Press Enter or move focus away from the field. 4. Observe the selected value and Portfolio Preview section.","Invalid domain text: InvalidDomain_12345","The invalid value is not accepted as a selected Business Domain unless it exists in the available options. Portfolio Preview does not render unrelated project cards and the page shows either no matching option, validation feedback, or remains in empty instructional state.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-011","Positive Case","Client Representation","Business Domain selector","Functional","Verify searchable Business Domain selector filters matching domain options when typing","1. Click the Business Domain selector. 2. Type a partial keyword from an existing Business Domain. 3. Observe the displayed options. 4. Select one matching option.","Partial text from an existing Business Domain option","The options list is filtered to matching Business Domain values. Selecting a matching option updates the selector and loads the corresponding Portfolio Preview.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-012","Edge Case","Client Representation","Business Domain selector","Validation","Verify special characters entered in Business Domain search do not break selector behavior","1. Click the Business Domain selector. 2. Enter special characters into the field/search box. 3. Observe option list and Portfolio Preview area. 4. Clear the entered value.","Special characters: @#$%^&*()_+-=[]{}|;:',.<>?/","The selector handles special characters safely. The application does not crash, no broken layout appears, no unrelated domain is selected, and the selector can be cleared successfully.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-013","Edge Case","Client Representation","Business Domain selector","UI/UX","Verify long Business Domain name displays without breaking page layout","1. Open the Business Domain selector. 2. Select the longest available Business Domain name. 3. Observe the selector field, Portfolio Preview heading, and platform sections. 4. Resize the browser to a smaller supported viewport and observe again.","Configured Business Domain with a long name, or longest available domain option","The long Business Domain value is displayed using wrapping, truncation, or tooltip behavior without overlapping other controls. Portfolio Preview remains readable and no horizontal layout break occurs.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-014","Positive Case","Client Representation","Platform project cards/sections","Functional","Verify selected Business Domain displays project cards grouped under supported platforms","1. Open Client Representation page. 2. Select a Business Domain with mapped project data. 3. Review the Portfolio Preview section. 4. Check the platform grouping labels and cards beneath them.","Known Business Domain with projects across one or more platforms","Portfolio data is grouped under the supported platform labels iOS, Android, Web, and/or Game as applicable. Project cards appear under their correct platform section and no card is shown outside the platform grouping.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-015","Positive Case","Client Representation","Platform project cards/sections","Functional","Verify iOS platform section shows only iOS portfolio items for selected domain","1. Select the Business Domain with known iOS projects. 2. Locate the iOS section in Portfolio Preview. 3. Review all cards/items displayed under iOS. 4. Compare displayed items with the source-of-truth project mapping.","Selected Business Domain with known iOS project mapping","The iOS section displays only projects mapped to iOS for the selected Business Domain. No Android, Web, or Game-only project appears in the iOS section.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-016","Positive Case","Client Representation","Platform project cards/sections","Functional","Verify Android platform section shows only Android portfolio items for selected domain","1. Select the Business Domain with known Android projects. 2. Locate the Android section in Portfolio Preview. 3. Review all cards/items displayed under Android. 4. Compare displayed items with the source-of-truth project mapping.","Selected Business Domain with known Android project mapping","The Android section displays only projects mapped to Android for the selected Business Domain. No iOS, Web, or Game-only project appears in the Android section.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-017","Positive Case","Client Representation","Platform project cards/sections","Functional","Verify Web platform section shows only Web portfolio items for selected domain","1. Select the Business Domain with known Web projects. 2. Locate the Web section in Portfolio Preview. 3. Review all cards/items displayed under Web. 4. Compare displayed items with the source-of-truth project mapping.","Selected Business Domain with known Web project mapping","The Web section displays only projects mapped to Web for the selected Business Domain. No iOS, Android, or Game-only project appears in the Web section.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-018","Positive Case","Client Representation","Platform project cards/sections","Functional","Verify Game platform section shows only Game portfolio items for selected domain","1. Select the Business Domain with known Game projects. 2. Locate the Game section in Portfolio Preview. 3. Review all cards/items displayed under Game. 4. Compare displayed items with the source-of-truth project mapping.","Selected Business Domain with known Game project mapping","The Game section displays only projects mapped to Game for the selected Business Domain. No iOS, Android, or Web-only project appears in the Game section.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-019","Positive Case","Client Representation","Portfolio Preview","Functional","Verify project card details match selected Business Domain source data","1. Select the target Business Domain. 2. Note each displayed project card in Portfolio Preview. 3. Compare visible project card details such as project name, platform, status, or summary fields with source-of-truth data. 4. Verify no project from another Business Domain is displayed.","Selected Business Domain with known project names/status/platform details from source-of-truth data","All displayed project cards belong to the selected Business Domain and visible card details match source-of-truth data. No unrelated or stale project data appears.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-020","Edge Case","Client Representation","Portfolio Preview","Functional","Verify switching between Business Domains refreshes portfolio data without stale cards","1. Select the first Business Domain. 2. Note at least one visible project card or platform section. 3. Open the Business Domain selector and select a different Business Domain. 4. Observe the Portfolio Preview section after the second selection.","Two valid Business Domains with different mapped project data","Portfolio Preview refreshes to show only data for the second Business Domain. Cards from the first Business Domain are removed and no stale or mixed-domain data remains visible.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-021","Edge Case","Client Representation","Empty instructional state","Functional","Verify Business Domain with no mapped projects displays clear no-data state","1. Open Client Representation page. 2. Select the Business Domain that has no mapped projects. 3. Observe the Portfolio Preview section and platform sections.","Business Domain configured with zero mapped projects","The page does not show incorrect or unrelated project cards. A clear no-data message or empty state is displayed for the selected Business Domain, and supported platform labels remain presented consistently if part of the design.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-022","Edge Case","Client Representation","Platform project cards/sections","Validation","Verify platform sections with zero projects do not show misleading card counts or placeholders","1. Select the target Business Domain. 2. Locate each platform section: iOS, Android, Web, and Game. 3. Identify any platform section with zero mapped projects. 4. Review the displayed count, placeholder, or empty message for that platform.","Business Domain with projects on some platforms and zero projects on at least one platform","Platform sections with zero projects do not display unrelated cards or misleading non-zero counts. They show either no cards or a clear empty indication according to the UI design.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-023","Edge Case","Client Representation","Portfolio Preview","Functional","Verify delayed portfolio loading keeps previous and new domain data consistent","1. Enable slow network throttling. 2. Select the first Business Domain and wait for portfolio data to appear. 3. Quickly select a second Business Domain before or during refresh. 4. Wait until loading completes. 5. Observe the final Portfolio Preview data.","Two valid Business Domains; throttled network or delayed API response via browser dev tools","After loading completes, Portfolio Preview shows only the final selected Business Domain data. The UI does not mix old and new cards, duplicate platform sections, or remain stuck in loading state.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-024","Negative Case","Client Representation","Business Domain selector","Security","Verify script input in Business Domain field is not executed","1. Click the Business Domain field. 2. Paste """" into the field/search input. 3. Press Enter or move focus away. 4. Observe the page, selector, and Portfolio Preview area.","","The script is not executed and no alert appears. The value is rejected, treated as plain text for search, or safely escaped. The page remains usable and no active script/HTML is rendered in the UI.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "TC-CRX-025","Negative Case","Client Representation","Client Representation landing","Security","Verify unauthenticated direct access to Client Representation is restricted","1. Clear the browser session or open a private/incognito window without logging in. 2. Enter the direct Client Representation URL in the address bar. 3. Press Enter. 4. Observe the destination page and any displayed message.","Direct URL: https://testers-hub-project-dashboard.vercel.app/client-representation","Unauthenticated user is not allowed to view Client Representation portfolio data. The application redirects to the login/session entry page or shows an access-restricted message without exposing client portfolio content.","","Not Run","","Module-wise source: Client Representation | Generated by AI" "","","","","","","","","","","","","" "Module: Reports Portal","22 test case(s)","","","","","","","","","","","" "TC-RPX-001","Positive Case","Reports Portal","Reports landing","Functional","Verify Reports Portal displays the QA deliverables table with all expected report rows","1. Navigate to the Reports Portal page. 2. Observe the page heading and reports table. 3. Count the visible report rows in the table. 4. Compare the visible report names with the expected report list.","Authenticated user; URL: /reports; Expected rows: Mobile Defect Report, Website Defect Report, Mobile Test Cases, Website Test Cases, QA Checklist","Reports Portal opens successfully and displays heading/text for QA deliverables. The reports table contains exactly 5 rows: Mobile Defect Report, Website Defect Report, Mobile Test Cases, Website Test Cases, and QA Checklist.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-002","Positive Case","Reports Portal","Reports table","UI/UX","Verify Reports Portal table columns are displayed in the correct order","1. Navigate to /reports. 2. Locate the reports table header row. 3. Verify each header label from left to right.","Expected column headers: REPORT TYPE, PLATFORM, DESCRIPTION, ACTIONS","The reports table displays the headers in this exact order: REPORT TYPE, PLATFORM, DESCRIPTION, ACTIONS. Header text is readable and aligned with the corresponding row data.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-003","Positive Case","Reports Portal","Report metadata rows","Validation","Verify each report row displays report type, platform, description, and View Report action","1. Navigate to /reports. 2. Review each report row one by one. 3. Verify REPORT TYPE value is present. 4. Verify PLATFORM value is present. 5. Verify DESCRIPTION value is present. 6. Verify ACTIONS column contains a View Report action for each row.","Visible report rows from Reports Portal","Every visible row has non-empty REPORT TYPE, PLATFORM, and DESCRIPTION values, and each row contains exactly one usable View Report action in the ACTIONS column.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-004","Positive Case","Reports Portal","Report type filter buttons","Functional","Verify Mobile App filter displays only mobile-related report rows","1. Navigate to /reports. 2. Click the Mobile App filter button. 3. Review the rows displayed after filtering. 4. Verify report type and platform values for each visible row.","Filter: Mobile App; Expected mobile rows include Mobile Defect Report and Mobile Test Cases","Only mobile-related reports are displayed after applying the Mobile App filter. Mobile Defect Report and Mobile Test Cases are visible, and website-only reports are not shown in the filtered result.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-005","Positive Case","Reports Portal","Report type filter buttons","Functional","Verify Website filter displays only website-related report rows","1. Navigate to /reports. 2. Click the Website filter button. 3. Review the filtered table rows. 4. Verify platform and report type values for each visible row.","Filter: Website; Expected website rows include Website Defect Report and Website Test Cases","Only website-related reports are displayed after applying the Website filter. Website Defect Report and Website Test Cases are visible, and mobile-only reports are not shown in the filtered result.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-006","Positive Case","Reports Portal","Report type filter buttons","Functional","Verify Checklists filter displays the QA Checklist row","1. Navigate to /reports. 2. Click the Checklists filter button. 3. Observe the filtered table rows. 4. Verify the report name and description shown.","Filter: Checklists; Expected row: QA Checklist","The filtered table displays the QA Checklist row. Non-checklist report rows such as defect reports and test case reports are hidden.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-007","Edge Case","Reports Portal","Report type filter buttons","Functional","Verify Completed Project Sample filter handles no mapped rows with a clear empty state","1. Navigate to /reports. 2. Click the Completed Project Sample filter button. 3. Observe the table area after the filter is applied.","Filter: Completed Project Sample; Dataset may have zero mapped rows","If no completed project sample report is mapped, the table shows a clear no-data message such as “No reports found” and does not display stale rows from the previous filter. The page remains stable with no blank broken table or crash.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-008","Edge Case","Reports Portal","Report type filter buttons","Functional","Verify switching report filters refreshes rows without retaining stale results","1. Navigate to /reports. 2. Click Mobile App filter and note the displayed rows. 3. Click Website filter and note the displayed rows. 4. Click Checklists filter and note the displayed rows. 5. Verify rows after each switch.","Filter sequence: Mobile App > Website > Checklists","Each filter selection immediately replaces the previous result set. Mobile rows are not retained after selecting Website, website rows are not retained after selecting Checklists, and no duplicate rows are created.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-009","Edge Case","Reports Portal","Report type filter buttons","Functional","Verify repeated clicks on the same report filter do not duplicate rows or toggle into an inconsistent state","1. Click the Mobile App filter button. 2. Count the visible filtered rows. 3. Click the Mobile App filter button two more times quickly. 4. Re-count the visible rows and review the selected filter state.","Filter: Mobile App; repeated click count: 3","Repeated clicks keep the Mobile App filter in a consistent selected state. The filtered row count remains stable, rows are not duplicated, and the page does not flicker, crash, or show mixed filter results.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-010","Positive Case","Reports Portal","Report type filter buttons","UI/UX","Verify selected report filter has a clear visual active state","1. Navigate to /reports. 2. Click the Mobile App filter. 3. Verify its visual state. 4. Click Website filter. 5. Verify Website becomes active and Mobile App is no longer active. 6. Repeat for Checklists and Completed Project Sample.","Filters: Mobile App, Website, Checklists, Completed Project Sample","The currently selected filter is visually distinguishable from inactive filters through styling such as highlight, border, or filled state. Only the currently selected filter appears active at one time unless multi-select filtering is intentionally supported.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-011","Positive Case","Reports Portal","View Report action","Functional","Verify View Report opens the Mobile Defect Report with matching content","1. Locate the Mobile Defect Report row. 2. Click its View Report action. 3. Observe whether the report opens in a viewer, new tab, modal, or download. 4. Verify the opened/downloaded report identity and content title.","Report row: Mobile Defect Report","The Mobile Defect Report opens or downloads successfully according to the configured application behavior. The report content corresponds to the Mobile Defect Report and does not open a different report type.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-012","Positive Case","Reports Portal","View Report action","Functional","Verify View Report opens the Website Defect Report with matching content","1. Locate the Website Defect Report row. 2. Click its View Report action. 3. Wait for the report viewer, new tab, modal, or download to complete. 4. Verify the displayed/downloaded report title and content type.","Report row: Website Defect Report","The Website Defect Report opens or downloads successfully. The displayed/downloaded content matches Website Defect Report and is not the mobile defect report, test case report, or checklist.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-013","Positive Case","Reports Portal","View Report action","Functional","Verify View Report opens Mobile Test Cases with matching content","1. Locate the Mobile Test Cases row. 2. Click its View Report action. 3. Observe the report opening/download behavior. 4. Verify the report name/content belongs to mobile test cases.","Report row: Mobile Test Cases","Mobile Test Cases report opens or downloads successfully and displays content for mobile test cases only. No unrelated website test case or checklist document is opened.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-014","Positive Case","Reports Portal","View Report action","Functional","Verify View Report opens Website Test Cases with matching content","1. Locate the Website Test Cases row. 2. Click its View Report action. 3. Wait for viewer/new tab/modal/download response. 4. Verify the opened document identity.","Report row: Website Test Cases","Website Test Cases report opens or downloads successfully. The content corresponds to website test cases and the action does not load the mobile test cases, defect report, or checklist document.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-015","Positive Case","Reports Portal","View Report action","Functional","Verify View Report opens QA Checklist with matching checklist content","1. Locate the QA Checklist row. 2. Click its View Report action. 3. Observe the report viewer, new tab, modal, or file download. 4. Verify the document title/content.","Report row: QA Checklist","QA Checklist opens or downloads successfully and displays checklist-related content for mobile and website release readiness. The opened document is not a defect report or test case report.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-016","Edge Case","Reports Portal","View Report action","Functional","Verify rapid repeated clicks on View Report do not open duplicate report instances unnecessarily","1. Locate a visible report row. 2. Click View Report three times rapidly. 3. Observe the number of opened modals, tabs, downloads, or viewer instances. 4. Return to Reports Portal and check page stability.","Any visible row, e.g., Website Defect Report; repeated click count: 3","The application prevents uncontrolled duplicate report openings. At most one intended viewer/modal/download action is triggered per user request, or duplicate clicks are safely ignored/disabled while loading. Reports Portal remains usable with no crash.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-017","Negative Case","Reports Portal","Report viewer/download behavior","Functional","Verify unavailable report document shows a user-friendly error without breaking the table","1. Simulate the selected report file as unavailable. 2. Click View Report for that report row. 3. Observe the application response. 4. Return to or remain on the Reports Portal table.","Simulate missing/unavailable report file for any listed report row","A clear error message is displayed, such as “Report unavailable” or “Unable to open report.” The user is not navigated to a broken blank page, the reports table remains intact, and other View Report actions remain usable.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-018","Negative Case","Reports Portal","Report viewer/download behavior","Functional","Verify network failure during report opening is handled gracefully","1. Open /reports with network available. 2. Enable offline mode or block the report file request. 3. Click View Report for any visible report row. 4. Observe the message and page behavior. 5. Restore network and retry the View Report action.","Browser DevTools network offline or blocked report request","During network failure, the application shows a user-friendly failure message and does not crash or display corrupted content. After network is restored, retrying View Report opens/downloads the selected report successfully.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-019","Negative Case","Reports Portal","Document access permissions","Security","Verify unauthenticated direct access to Reports Portal is restricted","1. Open a logged-out/private browser session. 2. Enter the Reports Portal URL directly. 3. Observe the page response. 4. Verify whether reports table data or View Report actions are exposed.","Direct URL: /reports in logged-out session or private browser window","Unauthenticated users cannot view Reports Portal data. The application redirects to login or displays an access denied message, and no report metadata, document links, or report content is exposed.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-020","Negative Case","Reports Portal","Document access permissions","Security","Verify direct report document access is blocked when user is not authorized","1. In an authenticated session, copy the target URL used by a View Report action if visible/available. 2. Open a logged-out/private browser session. 3. Paste the report document URL directly. 4. Observe whether the document opens.","Previously captured report document URL or View Report target URL; logged-out/private session","The report document is not accessible without proper authorization. The application returns login, access denied, or a safe authorization failure response and does not expose report contents through direct URL access.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-021","Positive Case","Reports Portal","Reports data and description accuracy","Validation","Verify report descriptions match the expected business purpose for visible reports","1. Review the Description column for Mobile Defect Report. 2. Review the Description column for Website Defect Report. 3. Review the Description column for QA Checklist. 4. Verify descriptions align with the report type and platform shown in the same row.","Expected descriptions include: mobile defect report for tracking bugs/issues; website defect report for web application QA; QA checklist for mobile and website release readiness","Each report description correctly explains the corresponding report purpose. Mobile Defect Report refers to mobile bugs/issues, Website Defect Report refers to web application QA, and QA Checklist refers to mobile and website release readiness. No row has mismatched or misleading description text.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "TC-RPX-022","Edge Case","Reports Portal","Reports empty/error/loading states","UI/UX","Verify Reports Portal handles slow report table loading without showing incorrect stale data","1. Enable slow network throttling or delayed response for reports data. 2. Navigate to /reports. 3. Observe the table area while data is loading. 4. Wait until the response completes. 5. Verify the final displayed rows.","Simulate slow reports API/data response using browser throttling","While loading, the page shows an appropriate loading indication or keeps the table area in a safe state without displaying incorrect stale rows. After loading completes, the table displays the correct 5 report rows with valid metadata and View Report actions.","","Not Run","","Module-wise source: Reports Portal | Generated by AI" "","","","","","","","","","","","","" "Module: Projects and Platform Navigation","14 test case(s)","","","","","","","","","","","" "TC-PAPN-001","Positive Case","Projects and Platform Navigation","Projects navigation entry","UI/UX","Verify Projects navigation displays all platform category options","1. Locate the Projects navigation option. 2. Click or expand the Projects navigation option. 3. Observe the platform category options displayed under Projects.","Authenticated user; visible platform categories: iOS Apps, Android Apps, Web Apps / Website, Game Apps","Projects navigation expands and displays exactly these platform category options: iOS Apps, Android Apps, Web Apps / Website, and Game Apps. All options are readable, aligned consistently, and no unrelated/duplicate platform option is shown.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-002","Edge Case","Projects and Platform Navigation","Projects navigation entry","Functional","Verify repeated taps on Projects menu do not create duplicate platform category entries","1. Click the Projects navigation option to expand it. 2. Click the Projects navigation option repeatedly 5 to 10 times at normal speed. 3. Observe the Projects submenu after the repeated clicks. 4. If the menu collapses, expand it again and verify the visible options.","Authenticated user; Projects menu available","The Projects menu remains in a stable expanded or collapsed state based on the last click. When expanded, each category appears only once: iOS Apps, Android Apps, Web Apps / Website, and Game Apps. No duplicate submenu, overlapping menu, flickering broken state, or page crash occurs.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-003","Positive Case","Projects and Platform Navigation","Platform label consistency","Validation","Verify Projects platform labels are consistent with dashboard platform filters","1. On the dashboard, note the platform filter labels: iOS, Android, Web, and Game. 2. Open the Projects navigation menu. 3. Compare the Projects submenu labels with the dashboard platform filters. 4. Verify naming consistency for Web category between dashboard and Projects submenu.","Dashboard filters/counts visible: iOS: 85, Android: 71, Web: 101, Game: 36; Projects submenu labels visible","Projects submenu labels map clearly to dashboard filters: iOS maps to iOS Apps, Android maps to Android Apps, Web maps to Web Apps / Website, and Game maps to Game Apps. No platform label is missing, misspelled, or ambiguously named.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-004","Positive Case","Projects and Platform Navigation","iOS Apps category","Functional","Verify navigation to iOS Apps category from Projects menu","1. Expand the Projects navigation menu. 2. Click iOS Apps. 3. Observe the page URL, heading, selected navigation state, and displayed project content or message.","Platform category: iOS Apps; dashboard iOS count reference: 85","User is routed to the iOS Apps category view or equivalent iOS project page. The page clearly indicates iOS Apps/iOS as the selected category, Projects/iOS Apps navigation state is highlighted, and the content area shows only iOS-related projects or a clear no-data/unavailable message. The page must not remain silently unchanged or show another platform as selected.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-005","Positive Case","Projects and Platform Navigation","Android Apps category","Functional","Verify navigation to Android Apps category from Projects menu","1. Expand the Projects navigation menu. 2. Click Android Apps. 3. Observe the page URL, heading, selected navigation state, and displayed project content or message.","Platform category: Android Apps; dashboard Android count reference: 71","User is routed to the Android Apps category view or equivalent Android project page. The page clearly indicates Android Apps/Android as the selected category, Projects/Android Apps navigation state is highlighted, and the content area shows only Android-related projects or a clear no-data/unavailable message. iOS, Web, or Game must not be incorrectly shown as the active category.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-006","Positive Case","Projects and Platform Navigation","Web Apps / Website category","Functional","Verify navigation to Web Apps / Website category from Projects menu","1. Expand the Projects navigation menu. 2. Click Web Apps / Website. 3. Observe the page URL, heading, selected navigation state, and displayed project content or message.","Platform category: Web Apps / Website; dashboard Web count reference: 101","User is routed to the Web Apps / Website category view or equivalent Web project page. The page clearly indicates Web Apps, Website, or Web as the selected category, Projects/Web navigation state is highlighted, and the content area shows only Web/Website-related projects or a clear no-data/unavailable message. The Web label must remain understandable and consistent with the dashboard Web filter.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-007","Positive Case","Projects and Platform Navigation","Game Apps category","Functional","Verify navigation to Game Apps category from Projects menu","1. Expand the Projects navigation menu. 2. Click Game Apps. 3. Observe the page URL, heading, selected navigation state, and displayed project content or message.","Platform category: Game Apps; dashboard Game count reference: 36","User is routed to the Game Apps category view or equivalent Game project page. The page clearly indicates Game Apps/Game as the selected category, Projects/Game Apps navigation state is highlighted, and the content area shows only Game-related projects or a clear no-data/unavailable message. The page must not display another platform as selected.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-008","Edge Case","Projects and Platform Navigation","Platform category routing","Functional","Verify switching between platform categories refreshes content and active state correctly","1. Expand Projects menu and click iOS Apps. 2. Without refreshing the browser, click Android Apps. 3. Click Web Apps / Website. 4. Click Game Apps. 5. After each click, observe heading, active navigation state, and visible content/message.","Sequence: iOS Apps → Android Apps → Web Apps / Website → Game Apps","Each category click updates the page to the selected platform only. The active state moves to the latest selected option, the heading/content/message refreshes for the latest platform, and stale content from the previously selected platform is not retained or mixed with the current category.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-009","Edge Case","Projects and Platform Navigation","Platform category routing","Functional","Verify browser Back and Forward maintain correct platform category routing","1. Open Projects menu and navigate to iOS Apps. 2. Navigate to Android Apps. 3. Click the browser Back button. 4. Observe the displayed platform page and selected navigation state. 5. Click the browser Forward button. 6. Observe the displayed platform page and selected navigation state again.","Navigate between any two implemented categories, for example iOS Apps and Android Apps","Browser Back returns to the previous platform category with matching heading/content and active navigation state. Browser Forward returns to the next platform category with matching heading/content and active navigation state. No blank page, incorrect platform selection, or stale mixed project data is displayed.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-010","Negative Case","Projects and Platform Navigation","Platform route availability","Functional","Verify unavailable platform category page shows user-friendly feedback","1. Expand the Projects menu. 2. Click the unavailable platform category option. 3. Observe the resulting page, message, and navigation behavior. 4. Try returning to Dashboard or another available platform category.","Any Projects platform category whose destination is not implemented, unavailable, or returns a route error during testing","If the platform page is unavailable or under development, the application displays a clear user-friendly message such as no data, coming soon, or unavailable instead of a blank screen or technical error. Navigation remains usable, and the user can move to another section without refreshing the browser.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-011","Edge Case","Projects and Platform Navigation","Platform project data consistency","Validation","Verify empty platform category displays meaningful no-data state without misleading counts","1. Open Projects menu. 2. Select the platform category that has zero mapped projects. 3. Observe the project list/content area, count label if displayed, and empty-state message.","Platform category with zero mapped projects in test environment, if available","The platform page displays a clear empty-state message such as no projects available for the selected platform. If a count is shown, it displays 0. No dummy project cards, stale projects from another platform, broken placeholders, or misleading non-zero counts are displayed.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-012","Positive Case","Projects and Platform Navigation","Platform project data consistency","Validation","Verify platform project counts align with dashboard platform counts where category lists are implemented","1. Record the dashboard platform counts for iOS, Android, Web, and Game. 2. Open Projects menu and navigate to iOS Apps; count listed iOS projects or note the displayed count. 3. Repeat for Android Apps, Web Apps / Website, and Game Apps. 4. Compare each category count with the dashboard count for the same platform.","Dashboard reference counts: iOS=85, Android=71, Web=101, Game=36; implemented Projects category lists","Each implemented platform category count matches its corresponding dashboard platform count: iOS 85, Android 71, Web 101, and Game 36, unless the product explicitly defines a different counting rule. Any difference must be explained by visible business logic and not caused by stale, duplicated, or cross-platform data.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-013","Edge Case","Projects and Platform Navigation","Regression after Add Project","Functional","Verify newly added project appears only in the correct platform category after creation","1. Create a new project through Add New Project with a unique project name and selected platform, for example Web. 2. After successful creation, open Projects menu. 3. Navigate to the matching platform category, for example Web Apps / Website. 4. Search visually or use available list controls to find the new project. 5. Navigate to non-matching platform categories such as iOS Apps, Android Apps, and Game Apps and check for the same project.","Create a test project using Add New Project with a known platform selection, for example Platform=Web; unique Project Name generated by tester","The newly created project appears in the matching platform category with the correct project name/details. The same project does not appear in unrelated platform categories unless multi-platform assignment was selected and supported. Category data refreshes without requiring manual cache clearing.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "TC-PAPN-014","Negative Case","Projects and Platform Navigation","Platform route availability","Security","Verify unauthenticated direct access to Projects platform routes is restricted","1. Open a logged-out or incognito browser session. 2. Paste the direct Projects platform category URL into the address bar. 3. Press Enter and observe the response. 4. If redirected to login, complete no login action and verify protected content visibility.","Logged-out/incognito browser session; direct URL of any Projects platform category captured during authenticated navigation","Unauthenticated user cannot view Projects platform category content or project data. The application redirects to the login/authentication page or displays an access-restricted message. No platform project list, counts, or protected project details are exposed before authentication.","","Not Run","","Module-wise source: Projects and Platform Navigation | Generated by AI" "","","","","","","","","","","","","" "Module: Settings","12 test case(s)","","","","","","","","","","","" "TC-SETTI-001","Positive Case","Settings","Settings navigation access","Functional","Verify authenticated user can open Settings from application navigation","1. Locate the main navigation menu. 2. Click the Settings navigation item. 3. Observe the browser URL and the page content after navigation.","Authenticated user session; Settings navigation item; URL: /settings","User is navigated to the Settings page with URL ending in /settings. The page displays the heading ""Settings"" and the placeholder message ""Settings view coming soon."" without logging the user out.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-002","Positive Case","Settings","Settings placeholder page","UI/UX","Verify Settings placeholder message is displayed clearly","1. View the main content area of the Settings page. 2. Verify the page heading text. 3. Verify the placeholder/informational message text. 4. Check whether the message is readable and not overlapped by other UI elements.","Authenticated user session; URL: /settings","The Settings page displays the heading ""Settings"" and the clear message ""Settings view coming soon."" The message is visible, readable, and not overlapped, truncated, or hidden by navigation elements.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-003","Positive Case","Settings","Settings placeholder page","UI/UX","Verify Go to Dashboard button is visible and actionable on Settings page","1. Locate the ""Go to Dashboard"" button on the Settings page. 2. Verify the button label text. 3. Verify the button is visible and enabled. 4. Hover over or focus on the button if supported by the browser.","Authenticated user session; URL: /settings; Button: Go to Dashboard","A visible and enabled button labeled ""Go to Dashboard"" is displayed on the Settings page. The label is spelled correctly and the button appears clickable/focusable without any broken styling.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-004","Positive Case","Settings","Settings placeholder page","UI/UX","Verify authenticated navigation menu remains available on Settings page","1. Observe the application navigation area on the Settings page. 2. Verify the visible navigation items. 3. Confirm the Settings item is present in the navigation. 4. Confirm the Logout option is also visible for the authenticated user.","Authenticated user session; URL: /settings; Navigation items: Add Project, Dashboard, Client Representation, Reports, Projects, Settings, Logout","The Settings page keeps the authenticated navigation visible with Add Project, Dashboard, Client Representation, Reports, Projects, Settings, and Logout options. No navigation item is missing, duplicated, or visually broken.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-005","Negative Case","Settings","Future settings safeguards","Validation","Verify Settings placeholder does not expose incomplete editable controls","1. Review the Settings page content area. 2. Check whether any text boxes, dropdowns, toggles, checkboxes, upload controls, Save buttons, Delete buttons, or Cancel buttons are displayed. 3. Use the Tab key to move through focusable controls in the page content area. 4. Verify whether any hidden/incomplete settings form control receives focus.","Authenticated user session; URL: /settings","No incomplete settings forms or editable controls are displayed or focusable in the Settings content area. Only supported navigation controls and the ""Go to Dashboard"" action are available, and no validation message is shown for unavailable settings features.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-006","Positive Case","Settings","Go to Dashboard action","Functional","Verify Go to Dashboard button routes user back to Dashboard","1. Click the ""Go to Dashboard"" button. 2. Wait for navigation to complete. 3. Observe the browser URL. 4. Verify the displayed page after navigation.","Authenticated user session; Start URL: /settings; Expected destination: /dashboard","User is redirected from /settings to the Dashboard page with URL ending in /dashboard. The Dashboard content is displayed and the authenticated navigation remains available.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-007","Edge Case","Settings","Go to Dashboard action","Functional","Verify repeated clicks on Go to Dashboard do not create duplicate navigation or errors","1. Rapidly click the ""Go to Dashboard"" button 3 to 5 times. 2. Wait until navigation completes. 3. Observe the final URL and displayed page. 4. Check whether duplicate screens, multiple redirects, blank pages, or browser errors occur.","Authenticated user session; URL: /settings; Button: Go to Dashboard","Only one successful navigation occurs. User lands on the Dashboard page with URL ending in /dashboard. No duplicate page instance, repeated loading loop, console-visible crash state, blank screen, or error message is displayed.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-008","Edge Case","Settings","Go to Dashboard action","Functional","Verify browser Back returns from Dashboard to Settings after using Go to Dashboard","1. Click the ""Go to Dashboard"" button. 2. Confirm the user is on the Dashboard page. 3. Click the browser Back button once. 4. Observe the URL and page content after browser Back navigation.","Authenticated user session; Navigation path: /settings → /dashboard → browser Back","Browser Back returns the user to the Settings page at /settings. The Settings heading and ""Settings view coming soon."" message are displayed again, and the user remains authenticated.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-009","Edge Case","Settings","Settings navigation access","Functional","Verify repeated Settings navigation selection keeps a single stable placeholder page","1. Click the Settings navigation item. 2. Click the Settings navigation item again multiple times. 3. Observe the URL and Settings page content. 4. Check whether duplicate placeholder sections or repeated navigation entries are created.","Authenticated user session; Settings navigation item","The application remains on a single Settings page at /settings. The heading ""Settings"" and message ""Settings view coming soon."" appear only once, with no duplicate placeholder sections, duplicate navigation items, blank page, or crash.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-010","Negative Case","Settings","Settings access control","Security","Verify unauthenticated direct access to Settings is restricted","1. Open a new unauthenticated browser session or clear existing session data. 2. Enter the direct Settings URL ending in /settings. 3. Submit the URL. 4. Observe the page displayed and the final URL.","Unauthenticated browser session; Direct URL: https://testers-hub-project-dashboard.vercel.app/settings","Unauthenticated user is not allowed to view the Settings placeholder page. The application redirects to the login/authentication page or displays an authentication-required state, and the ""Settings view coming soon."" content is not visible.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-011","Negative Case","Settings","Settings access control","Security","Verify expired or cleared session blocks Settings access","1. Navigate to the Settings page while authenticated. 2. Clear authentication/session data from the browser, or wait until the session expires if expiry can be simulated. 3. Refresh the /settings page. 4. Observe whether Settings content remains accessible.","Previously authenticated user session; URL: /settings; Session/token cleared or expired","After session expiry or session data removal, the Settings page is protected. User is redirected to the login/authentication page or shown an authentication-required state, and Settings content is not displayed to the unauthenticated session.","","Not Run","","Module-wise source: Settings | Generated by AI" "TC-SETTI-012","Negative Case","Settings","Future settings safeguards","Validation","Verify unavailable Settings page does not trigger validation errors or save actions","1. Click inside the Settings content area near the placeholder message. 2. Press Enter. 3. Press Space. 4. Use Tab to focus available controls and confirm only supported controls are focusable. 5. Observe whether any validation message, save confirmation, API error, or unsupported settings action appears.","Authenticated user session; URL: /settings; Keyboard keys: Enter, Space, Tab","No settings validation, save confirmation, API error, or unsupported action is triggered because Settings features are not yet available. The page continues to show only the Settings heading, ""Settings view coming soon."" message, supported navigation, and the ""Go to Dashboard"" button.","","Not Run","","Module-wise source: Settings | Generated by AI" "","","","","","","","","","","","",""