Skip to main content
This test plan covers every user flow in the OpenBat platform. Each section lists test cases with preconditions, steps, and expected results.

1. Authentication

1.1 Email login

Preconditions: User has an existing account.
  • Navigate to /auth/login
  • Enter valid email in the Email field
  • Enter valid password in the Password field
  • Click the Login button
  • Verify redirect to /platform dashboard
Failure: Invalid credentials
  • Enter incorrect password
  • Verify error message “Invalid login credentials” is displayed
  • Verify user remains on login page

1.2 Social auth login

Preconditions: User has linked social account.
  • Navigate to /auth/login
  • Click Apple, Google, or Meta social auth button
  • Verify OAuth redirect and successful authentication
Failure: Social auth denial
  • Cancel or deny the OAuth prompt
  • Verify graceful return to login page

1.3 Email sign up

Preconditions: None.
  • Navigate to /auth/sign-up
  • Enter email, password (8+ characters), and confirm password
  • Submit the form
  • Verify account creation and redirect
Failure: Password mismatch
  • Enter different values in Password and Confirm Password
  • Verify error “Passwords do not match”
Failure: Duplicate email
  • Enter an email already registered
  • Verify error “User already registered”
Failure: Weak password
  • Enter a password shorter than required
  • Verify validation feedback

1.4 Password reset

Preconditions: User has an existing account.
  • Navigate to /auth/login
  • Click “Forgot your password?” link
  • Verify navigation to /auth/forgot-password
  • Enter email and click Send reset email
  • Verify confirmation message “Check Your Email”

1.5 Navigate to sign up from landing

Preconditions: None.
  • Navigate to /
  • Click Sign Up in the top navigation
  • Verify navigation to /auth/sign-up

2. Dashboard and chatbot management

2.1 Create a new chatbot

Preconditions: User is logged in.
  • Navigate to /platform
  • Click + New chatbot button
  • Verify modal appears with name field and character count (0/100)
  • Enter chatbot name
  • Click Continue to setup
  • Verify redirect to onboarding wizard

2.2 Open a chatbot

Preconditions: At least one chatbot exists.
  • Navigate to /platform
  • Click menu on a chatbot card
  • Click Open chatbot
  • Verify navigation to /platform/{chatbotId}
  • Verify KPI cards load (Conversations, Messages, Average Sentiment, Analyzed Today)

2.3 Filter chatbots by status

Preconditions: Chatbots exist in different statuses.
  • Click Active tab — verify only active chatbots shown
  • Click Pending tab — verify only pending chatbots shown (or empty state)
  • Click Archive tab — verify only archived chatbots shown (or empty state)

2.4 Switch organization

Preconditions: User belongs to multiple organizations.
  • Click the organization switcher in the sidebar
  • Select a different organization
  • Verify dashboard updates to show that organization’s chatbots

3. Organization management

3.1 Invite a team member

Preconditions: User is org owner or admin.
  • Navigate to /platform/members
  • Click + Invite member
  • Verify modal with Email field and Role dropdown (Admin/Member)
  • Enter email and select role
  • Click Invite
  • Verify invitation is sent

3.2 Rename organization

Preconditions: User is org owner.
  • Navigate to /platform/settings
  • Change the organization name field
  • Click Save
  • Verify name updates in sidebar

3.3 Delete organization

Preconditions: User is org owner.
  • Navigate to /platform/settings
  • Scroll to Danger zone
  • Type organization name to confirm
  • Click Delete
  • Verify organization and all data are removed

4. Chatbot analytics

4.1 Change analysis time period

Preconditions: Chatbot has conversation data.
  • Navigate to /platform/{chatbotId}
  • Click date range selector
  • Select a different range (e.g., Last week)
  • Verify KPI cards and charts update with new data

4.2 View user insights tab

Preconditions: Chatbot has analyzed conversations.
  • Verify sections load: sentiment trends, top frustrations, dissatisfied users, support topics, revenue signals, top intents, sentiment by segment, activity heatmap, languages

4.3 View assistant performance tab

  • Click Assistant Performance tab
  • Verify sections: behavior alerts, resolution outcomes donut chart, quality flags, capability gaps

4.4 Investigate a dissatisfied user

Preconditions: Dissatisfied users exist in data.
  • Find Most dissatisfied users section on User Insights tab
  • Click Investigate link on a user
  • Verify navigation to filtered conversation list

5. Conversations

5.1 View conversation detail

Preconditions: Conversations exist.
  • Navigate to /platform/{chatbotId}/conversations
  • Click on a conversation row
  • Verify navigation to /platform/{chatbotId}/conversations/{conversationId}
  • Verify message thread with analysis annotations (sentiment, behavior flags, quality flags, resolution status)
  • Verify right sidebar: overall sentiment, conversation metadata, user info, organization info, session info

5.2 Filter conversations

  • Use search field to filter by keyword
  • Click Filter button and apply filters
  • Toggle column visibility using View button
  • Sort by clicking column headers
  • Change date range
  • Paginate through results (10, 20, 50, 100 rows)

5.3 Review message-level analysis

  • Open a conversation detail
  • Click on analysis annotation tags (sentiment, behavior, quality)
  • Verify detail panel shows score, reasoning, and message preview
Preconditions: Conversations exist.
  • Navigate to /platform/{chatbotId}/deep-search
  • Enter a natural language query (e.g., “users asking about pricing”)
  • Click Deep Search
  • Verify semantically relevant results are returned

6. Workflows

6.1 Create workflow from template

  • Navigate to /platform/{chatbotId}/workflows
  • Click Templates tab
  • Verify 6 templates visible with category filters
  • Click on a template to create a workflow from it

6.2 Create workflow from scratch

  • Click Workflows tab
  • Click + Create workflow
  • Enter workflow name
  • Configure trigger conditions and actions
  • Save and verify workflow appears in list

6.3 View workflow runs

  • Click Runs tab
  • Verify execution history table
  • Filter by status: All, Pending, Triggered, Skipped, Success, Failed

7. Client management

7.1 Browse client organizations

  • Navigate to /platform/{chatbotId}/organizations
  • Verify table columns: Organization, Plan, Industry, MRR, Conversations, Users, Sentiment, Last Activity
  • Search, sort, and toggle column visibility

7.2 Browse chatbot users

  • Navigate to /platform/{chatbotId}/users
  • Verify table columns: User, Email, Organization, Plan, MRR, Conversations, Sentiment, Last Activity
  • Search, sort, and paginate

8. Analysis configuration

8.1 Configure user analysis flags

  • Navigate to /platform/{chatbotId}/analysis-config
  • Click User Analysis tab
  • Toggle sentiment scoring on/off
  • Enable/disable flags (Churn Risk, Frustrated User, Buying Signal, Competitor Mention, Urgent Request, Confused User)
  • Create a custom flag with + Add custom
  • Verify changes persist

8.2 Enable auto-translation

  • Click Translation tab
  • Toggle Auto-translate messages on
  • Select a primary language
  • Verify setting saves

8.3 Edit analysis prompts

  • Click Prompts tab
  • Verify Default label on unmodified prompts
  • Edit the Sentiment prompt
  • Save changes

8.4 Track metadata fields

  • Click Metadata tab
  • Verify discovered fields (browser, device, IP, language, OS, referer, userAgent)
  • Click Track on a discovered field
  • Verify field moves to managed fields

8.5 Configure assistant analysis

  • Click Assistant Analysis tab
  • Toggle behavior flags (Helpful, Yes-Man, Dodging, Over-Apologizing, Hallucinating, Redirecting, Verbose, Robotic, Other)
  • Add a custom behavior with + Add custom
  • Verify changes persist

9. Chatbot settings

9.1 View and rotate API keys

  • Navigate to /platform/{chatbotId}/settings
  • Click API Keys tab
  • Verify masked API key is displayed
  • Click copy button and verify key is copied
  • Click Rotate key — verify new key is issued

9.2 Configure webhooks

  • Click Webhooks tab
  • Click Add webhook
  • Configure destination (Discord, Slack, or custom)
  • Save and verify webhook appears

9.3 Export conversation data

  • Click Import/Export Data tab
  • Select JSON format
  • Toggle Include analysis results
  • Click Export and verify download starts

9.4 Import conversation data

  • Click Download template CSV
  • Click Choose File and select a prepared file
  • Click Import and verify processing starts

9.5 Manage chatbot members

  • Click Members tab
  • Click + Add member
  • Verify member is added to chatbot-level access

10. Landing page

10.1 Explore feature demos

  • Navigate to /
  • Click Missed Upsell, Feature Gap Risk, and Bot Hallucination buttons
  • Verify demo content changes between scenarios

10.2 Code example tabs

  • Toggle between Vercel AI SDK, TypeScript, Python, and REST API tabs
  • Verify each tab shows the correct code snippet

10.3 Pricing and FAQs

  • Scroll to pricing section
  • Verify Free through Enterprise tiers are visible
  • Click FAQ accordions and verify they expand/collapse

Known issues

Issues discovered during automated testing:
IssueDetails
Placeholder navigation links”Start Free” and most “Get Started” buttons on the landing page link to #link instead of a destination. Only the nav Sign Up button and the Free tier Get Started button navigate correctly.
User filter not appliedClicking Investigate on a dissatisfied user navigates to /conversations?user=email but the table shows all conversations instead of filtering to that user.
Social auth on localhostSocial auth buttons (Apple, Google, Meta) do not navigate when running locally without OAuth provider configuration.
Password validation discrepancyThe sign-up form UI states “at least 8 characters” but the backend may accept passwords as short as 6 characters. Always use 8+ characters as shown in the UI.