End-to-End Testing
This section documents Deepdesk's End-to-End (E2E) test suite, which validates the complete functionality of our platform across all integrated contact center systems.
Overview
The Deepdesk E2E test suite automatically validates the entire application stack across multiple platforms. Tests simulate real user interactions to ensure all features work correctly before releases.
Purpose
- Quality assurance: Catch bugs and regressions before they reach production
- Multi-platform validation: Ensure all contact center integrations work correctly
- Continuous verification: Automated testing on every build
- Confidence in releases: Validate critical user workflows end-to-end
Technology Stack
| Component | Technology |
|---|---|
| Test Framework | Playwright |
| Language | TypeScript |
| Browser | Chrome |
| CI/CD | Google Cloud Build |
| Load Testing | k6 |
Test Coverage
The test suite covers all major Deepdesk features across every supported platform integration.
Deepdesk Studio
| Area | What's Tested |
|---|---|
| Assistants | Creating, testing, triggers, fallback behavior |
| Assistant Activity | Traces, filtering, sorting, nested visualization |
| Assistant Connectors | Microsoft Copilot, MCP APIs, REST APIs |
| Assistant Groups | Create, read, update, delete operations |
| Assistant Routes | Routing configuration and management |
| Assistant Feedback | Feedback collection, sorting, filtering |
| Decision Trees | Assignment and configuration |
| Profiles | Publishing, deployment, recommendation engine |
| Permissions | Agent, assistant editor, manager, studio editor roles |
| Knowledge Bases | Processing and search functionality |
Platform Integrations
RingCentral
| Area | What's Tested |
|---|---|
| Chat Handling | Single conversation, multiple concurrent conversations |
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper, conversation assistants |
| Routing | Routing assistant behavior |
| Authentication | SSO login, magic link (approve/reject), access token refresh, session management |
| Image Search | Image-based search functionality |
| Client Profile | Client profile fields display |
| Anonymization | PII anonymization when inactive |
LivePerson
Chat Mode:
| Area | What's Tested |
|---|---|
| Chat Handling | Single conversation, multiple concurrent conversations, search |
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper, conversation assistants |
Messaging Mode:
| Area | What's Tested |
|---|---|
| Messaging Handling | Single conversation, multiple concurrent conversations, search |
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper, conversation assistants |
| Image Search | Image-based search functionality |
Genesys Cloud
Platform (Agent Desktop):
| Area | What's Tested |
|---|---|
| Chat Handling | Single conversation, multiple concurrent conversations, search |
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper, conversation assistants |
| Authentication | SSO login, magic link behavior |
| Image Search | Image-based search functionality |
| Anonymization | PII anonymization when active |
| Live Translation | Standard, adaptive, and event-based translation |
Copilot Chat:
| Area | What's Tested |
|---|---|
| Knowledge Base | Search and retrieval |
| Conversation Assistants | Assistant invocation and responses |
| Attach Conversations | Attaching conversation context |
| SDK Integration | Assistants SDK, general SDK functionality |
| Summarizer | Event handling, request processing |
| Widget | Widget behavior without conversation |
| Work Items | Work item handling |
Copilot Voice:
| Area | What's Tested |
|---|---|
| Knowledge Base | Search and retrieval |
| Conversation Assistants | Assistant invocation and responses |
| Attach Conversations | Attaching conversation context |
| Summarizer | Event handling, request processing |
Genesys WDE
| Area | What's Tested |
|---|---|
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper |
| Authentication | SSO login, API key login |
| Preferences | Preferences menu functionality |
Salesforce
| Area | What's Tested |
|---|---|
| Chat Handling | Single conversation, multiple concurrent conversations, search |
| Knowledge Base | Search functionality |
| Suggestions | Text, URL, style, and personal suggestions |
| Pinned Messages | Creating and using pinned messages |
| Conversation Features | Summary generation, clipper, conversation assistants |
| Authentication | SSO login |
Anywhere365
| Area | What's Tested |
|---|---|
| Voice Copilot | Knowledge base search and retrieval |
API Testing
| Area | What's Tested |
|---|---|
| Assistant Traces | Pagination, filtering, ordering |
| Assistant Spans | Pagination, filtering, ordering |
| Assistant Feedback | Search, ordering |
| Recommendations | URL recommendations |
| Conversations | Conversation updates |
| Messages | Single and multiple message handling |
| API Keys | API key management |
Load Testing
Deepdesk runs automated load tests daily using k6 to measure API performance under concurrent load.
Configuration: 20 virtual users, 20 iterations
What's tested:
| Area | What's Tested |
|---|---|
| Conversations | Conversation creation |
| Messages | Message creation |
| Autocomplete | Autocomplete response times |
| Recommendations | Text and URL recommendation endpoints |
Monitoring:
Load test metrics are exported to Prometheus and visualized in Grafana dashboards, enabling historical performance trends and alerting on performance degradation.
CI/CD Integration
When Tests Run
Tests are executed automatically as part of the CI/CD pipeline on Google Cloud Build.
Pipeline Structure
The test suite is divided into 6 parallel jobs to optimize execution time:
| Job | What's Tested |
|---|---|
| Part 1 | Deepdesk Studio |
| Part 2 | RingCentral integration |
| Part 3 | LivePerson integration |
| Part 4 | Genesys Cloud integration |
| Part 5 | Anywhere365 + Salesforce integrations |
| Part 6 | API endpoints |
Pipeline Workflow
Install Dependencies
↓
Set Secrets
↓
┌───────┴───────┐
│ Run 6 Jobs │ ← Parallel execution
│ in Parallel │
└───────┬───────┘
↓
Merge Reports
↓
Upload to Cloud Storage
↓
Report Status
Available CI/CD Jobs
| Job | Purpose |
|---|---|
e2e-tests.yaml | Full test suite execution |
e2e-tests-single.yaml | Run a single specific test |
Test Reports
After each run, HTML reports are uploaded to Google Cloud Storage and accessible via the Cloud Console. Reports include:
- Pass/fail status for each test
- Screenshots of failures
- Execution traces for debugging
Test Organization
Tests are organized by platform using tags, enabling selective execution:
@deepdeskStudio— Deepdesk Studio admin interface@ringCentral— RingCentral integration@livePerson— LivePerson chat and messaging@genesysCloud— Genesys Cloud platform and copilot@genesysWde— Genesys WDE integration@anywhereNow— Anywhere365 integration@salesforce— Salesforce integration@api— API-level tests
External Services Used
The test suite integrates with several external services for comprehensive testing:
| Service | Purpose |
|---|---|
| TestMail | Email verification testing |
| Twilio | Voice call testing |
| BigQuery | Data validation |