|
| 1 | +import { expect } from '@playwright/test'; |
| 2 | + |
| 3 | +import { sentryTest } from '../../../../utils/fixtures'; |
| 4 | + |
| 5 | +sentryTest('should inject dialog script into <head> with correct attributes', async ({ getLocalTestPath, page }) => { |
| 6 | + const url = await getLocalTestPath({ testDir: __dirname }); |
| 7 | + |
| 8 | + const dialogScriptSelector = 'head > script[src^="https://dsn.ingest.sentry.io/api/embed/error-page"]'; |
| 9 | + |
| 10 | + await page.goto(url); |
| 11 | + const dialogScript = await page.waitForSelector(dialogScriptSelector, { state: 'attached' }); |
| 12 | + const dialogScriptSrc = await dialogScript.getAttribute('src'); |
| 13 | + |
| 14 | + expect(dialogScriptSrc?.startsWith('https://dsn.ingest.sentry.io/api/embed/error-page/?')).toBe(true); |
| 15 | + // After `?` is searchParams. |
| 16 | + |
| 17 | + const searchParams = new URLSearchParams(new URL(dialogScriptSrc || '').searchParams); |
| 18 | + |
| 19 | + expect(searchParams.get('dsn')).toBe('https://[email protected]/1337'); |
| 20 | + expect(searchParams.get('eventId')).toBe('test_id'); |
| 21 | + expect(searchParams.get('name')).toBe('test'); |
| 22 | + expect(searchParams.get('email')).toBe('[email protected]'); |
| 23 | + expect(searchParams.get('lang')).toBe('en-nz'); |
| 24 | + expect(searchParams.get('title')).toBe('test_title'); |
| 25 | + expect(searchParams.get('subtitle')).toBe('test_subtitle'); |
| 26 | + expect(searchParams.get('subtitle2')).toBe('test_subtitle2'); |
| 27 | + expect(searchParams.get('labelName')).toBe('test_label_name'); |
| 28 | + expect(searchParams.get('labelEmail')).toBe('test_label_email'); |
| 29 | + expect(searchParams.get('labelComments')).toBe('test_label_comments'); |
| 30 | + expect(searchParams.get('labelClose')).toBe('test_label_close'); |
| 31 | + expect(searchParams.get('labelSubmit')).toBe('test_label_submit'); |
| 32 | + expect(searchParams.get('errorGeneric')).toBe('test_error_generic'); |
| 33 | + expect(searchParams.get('errorFormEntry')).toBe('test_error_form_entry'); |
| 34 | + expect(searchParams.get('successMessage')).toBe('test_success_message'); |
| 35 | +}); |
0 commit comments