|
5 | 5 | import { afterEach, describe, expect, it, vi } from 'vitest';
|
6 | 6 |
|
7 | 7 | import { defaultStackParser } from '../src';
|
8 |
| -import { eventFromUnknownInput, extractMessage, extractType } from '../src/eventbuilder'; |
| 8 | +import { eventFromMessage, eventFromUnknownInput, extractMessage, extractType } from '../src/eventbuilder'; |
9 | 9 |
|
10 | 10 | vi.mock('@sentry/core', async requireActual => {
|
11 | 11 | return {
|
@@ -231,3 +231,33 @@ describe('extractName', () => {
|
231 | 231 | expect(name).toBeUndefined();
|
232 | 232 | });
|
233 | 233 | });
|
| 234 | + |
| 235 | +describe('eventFromMessage ', () => { |
| 236 | + it('creates an event from a string message', async () => { |
| 237 | + const event = await eventFromMessage(defaultStackParser, 'Test message'); |
| 238 | + expect(event).toEqual({ |
| 239 | + level: 'info', |
| 240 | + message: 'Test message', |
| 241 | + }); |
| 242 | + }); |
| 243 | + |
| 244 | + it('creates an event with a synthetic stack trace if attachStacktrace is true', async () => { |
| 245 | + const syntheticException = new Error('Test message'); |
| 246 | + const event = await eventFromMessage(defaultStackParser, 'Test message', 'info', { syntheticException }, true); |
| 247 | + expect(event.exception?.values?.[0]).toEqual( |
| 248 | + expect.objectContaining({ |
| 249 | + mechanism: { handled: true, synthetic: true, type: 'generic' }, |
| 250 | + stacktrace: { |
| 251 | + frames: expect.arrayContaining([expect.any(Object), expect.any(Object)]), |
| 252 | + }, |
| 253 | + value: 'Test message', |
| 254 | + }), |
| 255 | + ); |
| 256 | + }); |
| 257 | + |
| 258 | + it("doesn't add a synthetic stack trace if attachStacktrace is false, even if one is passed-", async () => { |
| 259 | + const syntheticException = new Error('Test message'); |
| 260 | + const event = await eventFromMessage(defaultStackParser, 'Test message', 'info', { syntheticException }, false); |
| 261 | + expect(event.exception).toBeUndefined(); |
| 262 | + }); |
| 263 | +}); |
0 commit comments