Skip to content

Commit 330d7f8

Browse files
committed
add double wrapping test
1 parent ce8dbc7 commit 330d7f8

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

packages/tanstackstart-react/test/vite/autoInstrumentMiddleware.test.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,20 @@ createStart(() => ({
179179

180180
consoleLogSpy.mockRestore();
181181
});
182+
183+
it('does not double-wrap already wrapped middleware', () => {
184+
const code = `
185+
createStart(() => ({
186+
requestMiddleware: wrapMiddlewaresWithSentry({ authMiddleware }),
187+
functionMiddleware: wrapMiddlewaresWithSentry({ loggingMiddleware }),
188+
}));
189+
`;
190+
const result = wrapGlobalMiddleware(code, '/app/start.ts', false);
191+
192+
expect(result.didWrap).toBe(false);
193+
expect(result.code).toBe(code);
194+
expect(result.skipped).toHaveLength(0);
195+
});
182196
});
183197

184198
describe('wrapRouteMiddleware', () => {
@@ -327,6 +341,22 @@ export const Route = createFileRoute('/foo')({
327341

328342
consoleLogSpy.mockRestore();
329343
});
344+
345+
it('does not double-wrap already wrapped middleware', () => {
346+
const code = `
347+
export const Route = createFileRoute('/foo')({
348+
server: {
349+
middleware: wrapMiddlewaresWithSentry({ authMiddleware }),
350+
handlers: { GET: () => ({}) },
351+
},
352+
});
353+
`;
354+
const result = wrapRouteMiddleware(code, '/app/routes/foo.ts', false);
355+
356+
expect(result.didWrap).toBe(false);
357+
expect(result.code).toBe(code);
358+
expect(result.skipped).toHaveLength(0);
359+
});
330360
});
331361

332362
describe('addSentryImport', () => {

0 commit comments

Comments
 (0)