diff --git a/packages/integration-tests/suites/public-api/configureScope/clear_scope/subject.js b/packages/integration-tests/suites/public-api/configureScope/clear_scope/subject.js new file mode 100644 index 000000000000..ae65f9976267 --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/clear_scope/subject.js @@ -0,0 +1,8 @@ +Sentry.configureScope(scope => { + scope.setTag('foo', 'bar'); + scope.setUser({ id: 'baz' }); + scope.setExtra('qux', 'quux'); + scope.clear(); +}); + +Sentry.captureMessage('cleared_scope'); diff --git a/packages/integration-tests/suites/public-api/configureScope/clear_scope/test.ts b/packages/integration-tests/suites/public-api/configureScope/clear_scope/test.ts new file mode 100644 index 000000000000..d8c8bc631553 --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/clear_scope/test.ts @@ -0,0 +1,15 @@ +import { expect } from '@playwright/test'; + +import { sentryTest } from '../../../../utils/fixtures'; +import { getSentryRequest } from '../../../../utils/helpers'; + +sentryTest('should clear previously set properties of a scope', async ({ getLocalTestPath, page }) => { + const url = await getLocalTestPath({ testDir: __dirname }); + + const eventData = await getSentryRequest(page, url); + + expect(eventData.message).toBe('cleared_scope'); + expect(eventData.user).toBeUndefined(); + expect(eventData.tags).toBeUndefined(); + expect(eventData.extra).toBeUndefined(); +}); diff --git a/packages/integration-tests/suites/public-api/configureScope/init.js b/packages/integration-tests/suites/public-api/configureScope/init.js new file mode 100644 index 000000000000..d8c94f36fdd0 --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/init.js @@ -0,0 +1,7 @@ +import * as Sentry from '@sentry/browser'; + +window.Sentry = Sentry; + +Sentry.init({ + dsn: 'https://public@dsn.ingest.sentry.io/1337', +}); diff --git a/packages/integration-tests/suites/public-api/configureScope/set_properties/subject.js b/packages/integration-tests/suites/public-api/configureScope/set_properties/subject.js new file mode 100644 index 000000000000..db5d34977b1e --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/set_properties/subject.js @@ -0,0 +1,7 @@ +Sentry.configureScope(scope => { + scope.setTag('foo', 'bar'); + scope.setUser({ id: 'baz' }); + scope.setExtra('qux', 'quux'); +}); + +Sentry.captureMessage('configured_scope'); diff --git a/packages/integration-tests/suites/public-api/configureScope/set_properties/test.ts b/packages/integration-tests/suites/public-api/configureScope/set_properties/test.ts new file mode 100644 index 000000000000..d4001c317d05 --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/set_properties/test.ts @@ -0,0 +1,15 @@ +import { expect } from '@playwright/test'; + +import { sentryTest } from '../../../../utils/fixtures'; +import { getSentryRequest } from '../../../../utils/helpers'; + +sentryTest('should set different properties of a scope', async ({ getLocalTestPath, page }) => { + const url = await getLocalTestPath({ testDir: __dirname }); + + const eventData = await getSentryRequest(page, url); + + expect(eventData.message).toBe('configured_scope'); + expect(eventData.user).toMatchObject({ id: 'baz' }); + expect(eventData.tags).toMatchObject({ foo: 'bar' }); + expect(eventData.extra).toMatchObject({ qux: 'quux' }); +}); diff --git a/packages/integration-tests/suites/public-api/configureScope/template.hbs b/packages/integration-tests/suites/public-api/configureScope/template.hbs new file mode 100644 index 000000000000..a28a09b7b485 --- /dev/null +++ b/packages/integration-tests/suites/public-api/configureScope/template.hbs @@ -0,0 +1,11 @@ + + + + + + + + + + +