🔬 Markopolo QA Test Report
MAIN (Production)https://beta.markopolo.ai
3 Modules15 Features120 Tests120 Passed0 Real Bugs100.0% Pass Rate44m 4s
Click any test row to see full details · Click any module/feature header to expand/collapse
✅ PASS Test verified — feature works correctly❌ FAIL Real Markopolo platform bug found
Integrations39 ✅ 39 100.0%▼
📌 Integrations Page Load1 ✅ 1 100.0%▼
✅ PASS
1.Sidebar Still Visible
1m 39s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Sidebar Still Visible
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Sidebar Still Visible verified successfully
tests/test_voice_integrations_comprehensive.py::TestIntegrationsPageLoad::test_sidebar_still_visible[chromium]
Duration: 1m 39s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 1 | 1 | 0 | 100.0% | 1m 39s |
📌 Voice Connect Form10 ✅ 10 100.0%▼
✅ PASS
1.Form Fields Visible After Connect
1m 38s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Integration Type | Email / SMS / CRM |
| Providers | Resend · SendGrid · Mailchimp · Twilio |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Form Fields Visible After Connect
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Form Fields Visible After Connect verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_form_fields_visible_after_connect[chromium]
Duration: 1m 38s
✅ PASS
2.Connect Button Present
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Integration Type | Email / SMS / CRM |
| Providers | Resend · SendGrid · Mailchimp · Twilio |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Connect Button Present
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Connect Button Present verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_connect_button_present[chromium]
Duration: 1m 34s
✅ PASS
3.Invalid Credentials Show Error
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Invalid API Key | INVALID_API_KEY_12345_DEFINITELY_WRONG |
| Integration | Email (Resend / SendGrid / Mailchimp) |
| Test URL | https://beta.markopolo.ai/integrations |
| Expected | Error shown · Integration not saved |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Invalid Credentials Show Error
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Invalid Credentials Show Error verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_invalid_credentials_show_error[chromium]
Duration: 1m 35s
✅ PASS
4.Empty Form Submission Blocked
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Empty Form Submission Blocked
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Empty Form Submission Blocked verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_empty_form_submission_blocked[chromium]
Duration: 1m 34s
✅ PASS
5.Cancel Button Closes Form
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Cancel Button Closes Form
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Cancel Button Closes Form verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_cancel_button_closes_form[chromium]
Duration: 1m 37s
✅ PASS
6.Connect Button Opens Form Or Modal
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Integration Type | Email / SMS / CRM |
| Providers | Resend · SendGrid · Mailchimp · Twilio |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Connect Button Opens Form Or Modal
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Connect Button Opens Form Or Modal verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_connect_button_opens_form_or_modal[chromium]
Duration: 1m 37s
✅ PASS
7.Sql Injection In Fields Handled
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Sql Injection In Fields Handled verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_sql_injection_in_fields_handled[chromium]
Duration: 1m 35s
✅ PASS
8.Auth Token Is Password Type
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Auth Token Is Password Type
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Token Is Password Type verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_auth_token_is_password_type[chromium]
Duration: 1m 35s
✅ PASS
9.Xss In Api Key Not Executed
1m 36s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Xss In Api Key Not Executed verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_xss_in_api_key_not_executed[chromium]
Duration: 1m 36s
✅ PASS
10.Api Key Input Accepts Text
1m 41s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Api Key Input Accepts Text
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Api Key Input Accepts Text verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectForm::test_api_key_input_accepts_text[chromium]
Duration: 1m 41s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 10 | 10 | 0 | 100.0% | 16m 3s |
📌 Voice Connection State4 ✅ 4 100.0%▼
✅ PASS
1.Integration Status Not Error By Default
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Integration Status Not Error By Default
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Integration Status Not Error By Default verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectionState::test_integration_status_not_error_by_default[chromium]
Duration: 1m 34s
✅ PASS
2.Voice Section Persists After Tab Switch
1m 39s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Section Persists After Tab Switch
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Voice Section Persists After Tab Switch verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectionState::test_voice_section_persists_after_tab_switch[chromium]
Duration: 1m 39s
✅ PASS
3.Disconnect Button If Connected
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Integration Type | Email / SMS / CRM |
| Providers | Resend · SendGrid · Mailchimp · Twilio |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Disconnect Button If Connected
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Disconnect Button If Connected verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectionState::test_disconnect_button_if_connected[chromium]
Duration: 1m 34s
✅ PASS
4.Connected Badge Or Status Check
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Invalid API Key | INVALID_API_KEY_12345_DEFINITELY_WRONG |
| Integration | Email (Resend / SendGrid / Mailchimp) |
| Test URL | https://beta.markopolo.ai/integrations |
| Expected | Error shown · Integration not saved |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Connected Badge Or Status Check
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Connected Badge Or Status Check verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceConnectionState::test_connected_badge_or_status_check[chromium]
Duration: 1m 34s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 4 | 4 | 0 | 100.0% | 6m 21s |
📌 Voice Integration Responsive Security8 ✅ 8 100.0%▼
✅ PASS
1.Escape Closes Open Modal
1m 39s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Escape Closes Open Modal
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Escape Closes Open Modal verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_escape_closes_open_modal[chromium]
Duration: 1m 39s
✅ PASS
2.Keyboard Navigation Works
1m 36s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Keyboard Navigation Works
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Keyboard Navigation Works verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_keyboard_navigation_works[chromium]
Duration: 1m 36s
✅ PASS
3.No Sensitive Data In Source
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: No Sensitive Data In Source
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — No Sensitive Data In Source verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_no_sensitive_data_in_source[chromium]
Duration: 1m 37s
✅ PASS
4.No Auth Token In Url
1m 38s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: No Auth Token In Url
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — No Auth Token In Url verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_no_auth_token_in_url[chromium]
Duration: 1m 38s
✅ PASS
5.Page Served Over Https
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Page Served Over Https
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Page Served Over Https verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_page_served_over_https[chromium]
Duration: 1m 37s
✅ PASS
6.Responsive At Viewport
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Responsive At Viewport
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Responsive At Viewport verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_responsive_at_viewport[chromium-1280-800-desktop]
Duration: 1m 35s
✅ PASS
7.Responsive At Viewport
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Responsive At Viewport
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Responsive At Viewport verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_responsive_at_viewport[chromium-375-812-mobile]
Duration: 1m 35s
✅ PASS
8.Responsive At Viewport
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Responsive At Viewport
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Responsive At Viewport verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceIntegrationResponsiveSecurity::test_responsive_at_viewport[chromium-768-1024-tablet]
Duration: 1m 37s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 8 | 8 | 0 | 100.0% | 12m 55s |
📌 Voice Section Visibility10 ✅ 10 100.0%▼
✅ PASS
1.Twilio Provider Visible
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Twilio Provider Visible
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Twilio Provider Visible verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_twilio_provider_visible[chromium]
Duration: 1m 34s
✅ PASS
2.Voice Provider Cards Visible
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Provider Cards Visible
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Voice Provider Cards Visible verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_voice_provider_cards_visible[chromium]
Duration: 1m 34s
✅ PASS
3.Voice Section After Reload
1m 34s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Section After Reload
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Voice Section After Reload verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_voice_section_after_reload[chromium]
Duration: 1m 34s
✅ PASS
4.Voice Section Or Tab Present
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Section Or Tab Present
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Voice Section Or Tab Present verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_voice_section_or_tab_present[chromium]
Duration: 1m 35s
✅ PASS
5.Voice Tab Clickable
1m 35s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Tab Clickable
- Assert result matches expected behaviour
Expected
Navigation succeeds · Correct page or modal opens
Result
✅ PASSED — Voice Tab Clickable verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_voice_tab_clickable[chromium]
Duration: 1m 35s
✅ PASS
6.Provider Presence
1m 36s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Provider Presence
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Provider Presence verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_provider_presence[chromium-Nexmo]
Duration: 1m 36s
✅ PASS
7.Provider Presence
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Provider Presence
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Provider Presence verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_provider_presence[chromium-Plivo]
Duration: 1m 37s
✅ PASS
8.Provider Presence
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Provider Presence
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Provider Presence verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_provider_presence[chromium-Twilio]
Duration: 1m 37s
✅ PASS
9.Provider Presence
1m 36s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Provider Presence
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Provider Presence verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_provider_presence[chromium-Vonage]
Duration: 1m 36s
✅ PASS
10.Voice Section Text Content
1m 37s
Page / Feature
Integrations · https://beta.markopolo.ai/integrations
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/integrations |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Integrations (https://beta.markopolo.ai/integrations)
- Perform: Voice Section Text Content
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Voice Section Text Content verified successfully
tests/test_voice_integrations_comprehensive.py::TestVoiceSectionVisibility::test_voice_section_text_content[chromium]
Duration: 1m 37s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 10 | 10 | 0 | 100.0% | 15m 54s |
Module Summary — Integrations
| Feature | Tests | Passed | Failed | Pass Rate | Duration |
|---|---|---|---|---|---|
| Integrations Page Load | 1 | 1 | 0 | 100.0% | 1m 39s |
| Voice Connect Form | 10 | 10 | 0 | 100.0% | 16m 3s |
| Voice Connection State | 4 | 4 | 0 | 100.0% | 6m 21s |
| Voice Integration Navigation | 6 | 6 | 0 | 100.0% | 9m 43s |
| Voice Integration Responsive Security | 8 | 8 | 0 | 100.0% | 12m 55s |
| Voice Section Visibility | 10 | 10 | 0 | 100.0% | 15m 54s |
Features: 6Tests: 39Passed: 39Failed: 0Pass Rate: 100.0%62m 34s
Security29 ✅ 29 100.0%▼
📌 Integration Connect Disconnect7 ✅ 7 100.0%▼
✅ PASS
1.Delete Account Confirmation Gate Exists
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Delete Account Confirmation Gate Exists
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Delete Account Confirmation Gate Exists verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_delete_account_confirmation_gate_exists[chromium]
Duration: 1m 35s
✅ PASS
2.Disconnect Cancel Preserves Connection
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Disconnect Cancel Preserves Connection
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Disconnect Cancel Preserves Connection verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_disconnect_cancel_preserves_connection[chromium]
Duration: 1m 34s
✅ PASS
3.Disconnect Integration Shows Confirmation
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Disconnect Integration Shows Confirmation
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Disconnect Integration Shows Confirmation verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_disconnect_integration_shows_confirmation[chromium]
Duration: 1m 34s
✅ PASS
4.Reconnect After Disconnect
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Reconnect After Disconnect
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Reconnect After Disconnect verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_reconnect_after_disconnect[chromium]
Duration: 1m 34s
✅ PASS
5.Connect Flow Email Provider Opens Form
1m 37s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Connect Flow Email Provider Opens Form
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Connect Flow Email Provider Opens Form verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_connect_flow_email_provider_opens_form[chromium]
Duration: 1m 37s
✅ PASS
6.Connect Flow Sms Provider Opens Form
1m 38s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Connect Flow Sms Provider Opens Form
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Connect Flow Sms Provider Opens Form verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_connect_flow_sms_provider_opens_form[chromium]
Duration: 1m 38s
✅ PASS
7.Disconnect Confirmed Changes Status
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Disconnect Confirmed Changes Status
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Disconnect Confirmed Changes Status verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationConnectDisconnect::test_disconnect_confirmed_changes_status[chromium]
Duration: 1m 35s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 7 | 7 | 0 | 100.0% | 11m 7s |
📌 Integration Form Validation7 ✅ 7 100.0%▼
✅ PASS
1.Whitespace Only Api Key Rejected
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Whitespace Only Api Key Rejected
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Whitespace Only Api Key Rejected verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_whitespace_only_api_key_rejected[chromium]
Duration: 1m 35s
✅ PASS
2.Empty Api Key Shows Error
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Empty Api Key Shows Error
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Empty Api Key Shows Error verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_empty_api_key_shows_error[chromium]
Duration: 1m 34s
✅ PASS
3.Very Long Webhook Url Handled
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Very Long Webhook Url Handled
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Very Long Webhook Url Handled verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_very_long_webhook_url_handled[chromium]
Duration: 1m 35s
✅ PASS
4.Duplicate Integration Attempt Shows Message
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Duplicate Integration Attempt Shows Message
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Duplicate Integration Attempt Shows Message verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_duplicate_integration_attempt_shows_message[chromium]
Duration: 1m 34s
✅ PASS
5.Integration Form Fields Reachable Via Keyboard
1m 37s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Integration Form Fields Reachable Via Keyboard
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Integration Form Fields Reachable Via Keyboard verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_integration_form_fields_reachable_via_keyboard[chromium]
Duration: 1m 37s
✅ PASS
6.Special Chars In Api Key Sanitized Not Crashed
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Special Chars In Api Key Sanitized Not Crashed
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Special Chars In Api Key Sanitized Not Crashed verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_special_chars_in_api_key_sanitized_not_crashed[chromium]
Duration: 1m 35s
✅ PASS
7.Webhook Url Without Https Shows Warning
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Webhook Url Without Https Shows Warning
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Webhook Url Without Https Shows Warning verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationFormValidation::test_webhook_url_without_https_shows_warning[chromium]
Duration: 1m 34s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 7 | 7 | 0 | 100.0% | 11m 5s |
📌 Integration Security10 ✅ 10 100.0%▼
✅ PASS
1.Session Token Present After Login
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Password | ••••••••••••••• |
| Security Check | Access /campaigns after logout |
| Cookie Check | Inspect session token validity post-logout |
| Test URL | https://beta.markopolo.ai/campaigns (post-logout access attempt) |
| Expected | Redirect to /login · Session invalidated |
| Browser | Chromium 126 (Playwright) |
Steps
- Open https://beta.markopolo.ai/login in Chromium browser
- Enter test credentials (email + password)
- Click Sign In button
- Verify authentication result (redirect / error message)
Expected
UI element visible and accessible on page
Result
✅ PASSED — Session Token Present After Login verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_session_token_present_after_login[chromium]
Duration: 1m 34s
✅ PASS
2.Unauthorized Integration Api Access Blocked
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Unauthorized Integration Api Access Blocked
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Unauthorized Integration Api Access Blocked verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_unauthorized_integration_api_access_blocked[chromium]
Duration: 1m 35s
✅ PASS
3.Idor Integration Id Manipulation
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Idor Integration Id Manipulation
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Idor Integration Id Manipulation verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_idor_integration_id_manipulation[chromium]
Duration: 1m 34s
✅ PASS
4.Rate Limit On Rapid Connect Attempts
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Rate Limit On Rapid Connect Attempts
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Rate Limit On Rapid Connect Attempts verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_rate_limit_on_rapid_connect_attempts[chromium]
Duration: 1m 34s
✅ PASS
5.Csrf Protection On Connect Api
1m 37s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Csrf Protection On Connect Api
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Csrf Protection On Connect Api verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_csrf_protection_on_connect_api[chromium]
Duration: 1m 37s
✅ PASS
6.Sql Injection In Api Key Field
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| SQL Payloads | ' OR '1'='1 · 1; DROP TABLE users-- · ' UNION SELECT *-- |
| Input Fields | Email · Search · API parameters |
| Expected | Queries rejected · No SQL error leaked |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Sql Injection In Api Key Field verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_sql_injection_in_api_key_field[chromium]
Duration: 1m 34s
✅ PASS
7.Xss In Integration Api Key Field
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| XSS Payloads | <script>alert('xss')</script> |
| Alt Payloads | <img src=x onerror=alert(1)> · javascript:alert(1) |
| Input Fields | Search · Name · Campaign name · Form inputs |
| Expected | Payloads sanitised · No script execution |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Xss In Integration Api Key Field verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_xss_in_integration_api_key_field[chromium]
Duration: 1m 34s
✅ PASS
8.Integration Status Not Leaked Cross Account
1m 34s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Integration Status Not Leaked Cross Account
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Integration Status Not Leaked Cross Account verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_integration_status_not_leaked_cross_account[chromium]
Duration: 1m 34s
✅ PASS
9.Oversized Api Key Does Not Crash
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Oversized Api Key Does Not Crash
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Oversized Api Key Does Not Crash verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_oversized_api_key_does_not_crash[chromium]
Duration: 1m 35s
✅ PASS
10.Unicode In Api Key Does Not Crash
1m 35s
Page / Feature
Platform Security · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Check | Security boundary / attack-pattern inputs |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to Platform Security (https://beta.markopolo.ai/)
- Perform: Unicode In Api Key Does Not Crash
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Unicode In Api Key Does Not Crash verified successfully
tests/test_worldclass_integrations_security.py::TestIntegrationSecurity::test_unicode_in_api_key_does_not_crash[chromium]
Duration: 1m 35s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 10 | 10 | 0 | 100.0% | 15m 46s |
Module Summary — Security
| Feature | Tests | Passed | Failed | Pass Rate | Duration |
|---|---|---|---|---|---|
| Integration Authorization | 5 | 5 | 0 | 100.0% | 3m 32s |
| Integration Connect Disconnect | 7 | 7 | 0 | 100.0% | 11m 7s |
| Integration Form Validation | 7 | 7 | 0 | 100.0% | 11m 5s |
| Integration Security | 10 | 10 | 0 | 100.0% | 15m 46s |
Features: 4Tests: 29Passed: 29Failed: 0Pass Rate: 100.0%41m 29s
Coverage Audit52 ✅ 52 100.0%▼
📌 Analytics9 ✅ 9 100.0%▼
✅ PASS
1.Analytics No 500 On Load
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics No 500 On Load
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Analytics No 500 On Load verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_no_500_on_load[chromium]
Duration: 1m 36s
✅ PASS
2.Analytics Conversions Tab Loads
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Conversions Tab Loads
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Analytics Conversions Tab Loads verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_conversions_tab_loads[chromium]
Duration: 1m 34s
✅ PASS
3.Analytics Page Loads Without Crash
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Page Loads Without Crash
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Analytics Page Loads Without Crash verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_page_loads_without_crash[chromium]
Duration: 1m 35s
✅ PASS
4.Analytics Export Button Or Download Exists
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Export Button Or Download Exists
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Analytics Export Button Or Download Exists verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_export_button_or_download_exists[chromium]
Duration: 1m 34s
✅ PASS
5.Analytics Revenue Metric Not Negative
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Revenue Metric Not Negative
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Analytics Revenue Metric Not Negative verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_revenue_metric_not_negative[chromium]
Duration: 1m 37s
✅ PASS
6.Analytics Campaign Names Html Escaped
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Campaign Names Html Escaped
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Analytics Campaign Names Html Escaped verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_campaign_names_html_escaped[chromium]
Duration: 1m 34s
✅ PASS
7.Analytics Kpi Cards Render
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Analytics Kpi Cards Render
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Analytics Kpi Cards Render verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_kpi_cards_render[chromium]
Duration: 1m 34s
✅ PASS
8.Analytics Channel Filter Responds
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to https://beta.markopolo.ai/
- Click filter dropdown
- Verify options are listed
- Select an option
- Verify table/list updates correctly
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Analytics Channel Filter Responds verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_channel_filter_responds[chromium]
Duration: 1m 35s
✅ PASS
9.Analytics Date Range Filter Responds
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to https://beta.markopolo.ai/
- Click filter dropdown
- Verify options are listed
- Select an option
- Verify table/list updates correctly
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Analytics Date Range Filter Responds verified successfully
tests/test_worldclass_platform_e2e.py::TestAnalytics::test_analytics_date_range_filter_responds[chromium]
Duration: 1m 35s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 9 | 9 | 0 | 100.0% | 14m 14s |
📌 Billing8 ✅ 8 100.0%▼
✅ PASS
1.Billing Upgrade Plans Displayed
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Upgrade Plans Displayed
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Billing Upgrade Plans Displayed verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_upgrade_plans_displayed[chromium]
Duration: 1m 35s
✅ PASS
2.Billing Page Loads Plan Info
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Page Loads Plan Info
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Billing Page Loads Plan Info verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_page_loads_plan_info[chromium]
Duration: 1m 36s
✅ PASS
3.Billing Cancel Subscription Has Confirmation Gate
32.3s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Cancel Subscription Has Confirmation Gate
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing Cancel Subscription Has Confirmation Gate verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_cancel_subscription_has_confirmation_gate[chromium]
Duration: 32.3s
✅ PASS
4.Billing No Card Data In Dom
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing No Card Data In Dom
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing No Card Data In Dom verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_no_card_data_in_dom[chromium]
Duration: 1m 36s
✅ PASS
5.Billing Prices Use Consistent Currency
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Prices Use Consistent Currency
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing Prices Use Consistent Currency verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_prices_use_consistent_currency[chromium]
Duration: 1m 34s
✅ PASS
6.Billing Payment Page Uses Https
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Payment Page Uses Https
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing Payment Page Uses Https verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_payment_page_uses_https[chromium]
Duration: 1m 35s
✅ PASS
7.Billing Invoice History Accessible
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Invoice History Accessible
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing Invoice History Accessible verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_invoice_history_accessible[chromium]
Duration: 1m 34s
✅ PASS
8.Billing Plan Change Requires Confirmation
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Billing Plan Change Requires Confirmation
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Billing Plan Change Requires Confirmation verified successfully
tests/test_worldclass_platform_e2e.py::TestBilling::test_billing_plan_change_requires_confirmation[chromium]
Duration: 1m 34s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 8 | 8 | 0 | 100.0% | 11m 36s |
📌 Campaign Creation10 ✅ 10 100.0%▼
✅ PASS
1.Campaign Name Required Validation
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Name Required Validation
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Name Required Validation verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_name_required_validation[chromium]
Duration: 1m 35s
✅ PASS
2.Campaign Creation No Console Errors
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Creation No Console Errors
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Creation No Console Errors verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_creation_no_console_errors[chromium]
Duration: 1m 34s
✅ PASS
3.Campaign Back Navigation Preserves Step1 Data
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Back Navigation Preserves Step1 Data
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Back Navigation Preserves Step1 Data verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_back_navigation_preserves_step1_data[chromium]
Duration: 1m 34s
✅ PASS
4.Campaign Ai Workflow Generates Nodes
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Ai Workflow Generates Nodes
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Ai Workflow Generates Nodes verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_ai_workflow_generates_nodes[chromium]
Duration: 1m 37s
✅ PASS
5.Campaign Name Max Length Handled
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Name Max Length Handled
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Name Max Length Handled verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_name_max_length_handled[chromium]
Duration: 1m 36s
✅ PASS
6.Campaign Audience Filter Interactions
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to https://beta.markopolo.ai/
- Click filter dropdown
- Verify options are listed
- Select an option
- Verify table/list updates correctly
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Audience Filter Interactions verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_audience_filter_interactions[chromium]
Duration: 1m 34s
✅ PASS
7.Campaign Name Emoji Supported
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Name Emoji Supported
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Name Emoji Supported verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_name_emoji_supported[chromium]
Duration: 1m 36s
✅ PASS
8.Campaign Wizard Step1 Reachable
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Campaign Wizard Step1 Reachable
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Campaign Wizard Step1 Reachable verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_wizard_step1_reachable[chromium]
Duration: 1m 36s
✅ PASS
9.Campaign Name Sql Injection Safe
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Campaign Name Sql Injection Safe verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_name_sql_injection_safe[chromium]
Duration: 1m 34s
✅ PASS
10.Campaign Name Xss Not Executed
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Campaign Name Xss Not Executed verified successfully
tests/test_worldclass_platform_e2e.py::TestCampaignCreation::test_campaign_name_xss_not_executed[chromium]
Duration: 1m 37s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 10 | 10 | 0 | 100.0% | 15m 52s |
📌 Data Room9 ✅ 9 100.0%▼
✅ PASS
1.Data Room Knowledge Base Tab Loads
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Edge Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Knowledge Base Tab Loads
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Data Room Knowledge Base Tab Loads verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_knowledge_base_tab_loads[chromium]
Duration: 1m 37s
✅ PASS
2.Data Room Api Returns Non Empty On Load
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Api Returns Non Empty On Load
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Data Room Api Returns Non Empty On Load verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_api_returns_non_empty_on_load[chromium]
Duration: 1m 35s
✅ PASS
3.Data Room Page Loads All Tabs
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Page Loads All Tabs
- Assert result matches expected behaviour
Expected
UI element visible and accessible on page
Result
✅ PASSED — Data Room Page Loads All Tabs verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_page_loads_all_tabs[chromium]
Duration: 1m 36s
✅ PASS
4.Data Room Product List Renders Or Empty State
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Product List Renders Or Empty State
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Data Room Product List Renders Or Empty State verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_product_list_renders_or_empty_state[chromium]
Duration: 1m 34s
✅ PASS
5.Data Room Idor Product Access Blocked
1m 35s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Idor Product Access Blocked
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Data Room Idor Product Access Blocked verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_idor_product_access_blocked[chromium]
Duration: 1m 35s
✅ PASS
6.Data Room Wrong File Type Rejected
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Wrong File Type Rejected
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Data Room Wrong File Type Rejected verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_wrong_file_type_rejected[chromium]
Duration: 1m 37s
✅ PASS
7.Data Room Product Search Works
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Happy Path
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to https://beta.markopolo.ai/
- Locate search input field
- Type search query ("test")
- Wait for results to filter
- Verify results match or empty state shown
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Data Room Product Search Works verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_product_search_works[chromium]
Duration: 1m 36s
✅ PASS
8.Data Room Csv Injection Content Sanitized
1m 37s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Data Room Csv Injection Content Sanitized verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_csv_injection_content_sanitized[chromium]
Duration: 1m 37s
✅ PASS
9.Data Room Product Delete Requires Confirmation
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Data Room Product Delete Requires Confirmation
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Data Room Product Delete Requires Confirmation verified successfully
tests/test_worldclass_platform_e2e.py::TestDataRoom::test_data_room_product_delete_requires_confirmation[chromium]
Duration: 1m 36s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 9 | 9 | 0 | 100.0% | 14m 24s |
📌 General Security16 ✅ 16 100.0%▼
✅ PASS
1.Auth Required For All Protected Pages
7.7s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/analytics]
Duration: 7.7s
✅ PASS
2.Auth Required For All Protected Pages
6.0s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/integrations]
Duration: 6.0s
✅ PASS
3.Auth Required For All Protected Pages
5.6s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/leads]
Duration: 5.6s
✅ PASS
4.Auth Required For All Protected Pages
9.3s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/memory]
Duration: 9.3s
✅ PASS
5.Auth Required For All Protected Pages
12.4s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/campaigns]
Duration: 12.4s
✅ PASS
6.Auth Required For All Protected Pages
12.1s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/plan-and-billing]
Duration: 12.1s
✅ PASS
7.Auth Required For All Protected Pages
10.2s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/content]
Duration: 10.2s
✅ PASS
8.Auth Required For All Protected Pages
10.4s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/settings]
Duration: 10.4s
✅ PASS
9.Auth Required For All Protected Pages
7.2s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
UI / Layout Check
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Auth Required For All Protected Pages
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — Auth Required For All Protected Pages verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_auth_required_for_all_protected_pages[chromium-/data-room]
Duration: 7.2s
✅ PASS
10.Session Invalidated On Logout
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Negative / Error Case
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Session Invalidated On Logout
- Assert result matches expected behaviour
Expected
Error message displayed · Action blocked · Form not submitted
Result
✅ PASSED — Session Invalidated On Logout verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_session_invalidated_on_logout[chromium]
Duration: 1m 34s
✅ PASS
11.No Sensitive Data In Localstorage
1m 42s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: No Sensitive Data In Localstorage
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — No Sensitive Data In Localstorage verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_no_sensitive_data_in_localstorage[chromium]
Duration: 1m 42s
✅ PASS
12.Password Not In Page Source After Login
1m 34s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Open https://beta.markopolo.ai/login in Chromium browser
- Enter test credentials (email + password)
- Click Sign In button
- Verify authentication result (redirect / error message)
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Password Not In Page Source After Login verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_password_not_in_page_source_after_login[chromium]
Duration: 1m 34s
✅ PASS
13.Content Security Policy Or X Frame Options
1m 41s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Content Security Policy Or X Frame Options
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Content Security Policy Or X Frame Options verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_content_security_policy_or_x_frame_options[chromium]
Duration: 1m 41s
✅ PASS
14.No Sensitive Data In Sessionstorage
1m 43s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Functional Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: No Sensitive Data In Sessionstorage
- Assert result matches expected behaviour
Expected
Session invalidated on logout · Unauthenticated access blocked
Result
✅ PASSED — No Sensitive Data In Sessionstorage verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_no_sensitive_data_in_sessionstorage[chromium]
Duration: 1m 43s
✅ PASS
15.Xss In Search Fields Across Modules
1m 41s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
Security Test
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to target page
- Locate input field (search / name / form)
- Enter XSS / injection payload
- Submit / blur field
- Verify no script executed (no alert dialog / DOM injection)
Expected
Payload sanitised · No script execution · No alert dialog
Result
✅ PASSED — Xss In Search Fields Across Modules verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_xss_in_search_fields_across_modules[chromium]
Duration: 1m 41s
✅ PASS
16.Api Responses Do Not Return Passwords
1m 36s
Page / Feature
All Features (Audit) · https://beta.markopolo.ai/
Test Type
API / Integration
Test Data
| Account | mejbaur@markopolo.ai |
| Test URL | https://beta.markopolo.ai/ |
| Browser | Chromium 126 (Playwright) |
Steps
- Navigate to All Features (Audit) (https://beta.markopolo.ai/)
- Perform: Api Responses Do Not Return Passwords
- Assert result matches expected behaviour
Expected
Feature works correctly · No JS errors · No unexpected redirects
Result
✅ PASSED — Api Responses Do Not Return Passwords verified successfully
tests/test_worldclass_platform_e2e.py::TestGeneralSecurity::test_api_responses_do_not_return_passwords[chromium]
Duration: 1m 36s
| Tests | Passed | Failed | Pass Rate | Time |
|---|---|---|---|---|
| 16 | 16 | 0 | 100.0% | 12m 54s |
Module Summary — Coverage Audit
| Feature | Tests | Passed | Failed | Pass Rate | Duration |
|---|---|---|---|---|---|
| Analytics | 9 | 9 | 0 | 100.0% | 14m 14s |
| Billing | 8 | 8 | 0 | 100.0% | 11m 36s |
| Campaign Creation | 10 | 10 | 0 | 100.0% | 15m 52s |
| Data Room | 9 | 9 | 0 | 100.0% | 14m 24s |
| General Security | 16 | 16 | 0 | 100.0% | 12m 54s |
Features: 5Tests: 52Passed: 52Failed: 0Pass Rate: 100.0%68m 59s
📊 Overall — Run #18
3
Modules
15
Features
120
Total Tests
120
Passed
0
Failed (Real Bugs)
100.0%
Pass Rate
44m 4s
Duration
| Module | Features | Tests | Passed | Failed | Pass Rate | Duration |
|---|---|---|---|---|---|---|
| 🔗 Integrations | 6 | 39 | 39 | 0 | 100.0% | 62m 34s |
| 🛡️ Security | 4 | 29 | 29 | 0 | 100.0% | 41m 29s |
| 🔍 Coverage Audit | 5 | 52 | 52 | 0 | 100.0% | 68m 59s |
Run #18 · master · workflow_dispatch · dd79fbc ·