UNPKG

@zyf2e/mitojs

Version:

A SDK for monitoring browser errors

59 lines (53 loc) 2.43 kB
import { BREADCRUMBCATEGORYS, BREADCRUMBTYPES } from '@/common/constant' import { breadcrumb } from '@/core/breadcrumb' import { BreadcrumbPushData } from '@/types' import { Severity } from '@/utils/Severity' describe('breadcrumb.ts', () => { beforeAll(() => { breadcrumb.bindOptions({ maxBreadcrumbs: 16 }) }) afterEach(() => { breadcrumb.clear() }) const breadcrumbDemo: BreadcrumbPushData = { category: BREADCRUMBCATEGORYS.DEBUG, type: BREADCRUMBTYPES.CONSOLE, data: 'unit', level: Severity.Debug } it("should less than 16 of breadcrumb's max lenght", () => { new Array(20).fill('').forEach(() => breadcrumb.push(breadcrumbDemo)) expect(breadcrumb.getStack().length === 16) }) it('should work on beforePushBreadcrumb', () => { breadcrumb.bindOptions({ beforePushBreadcrumb(breadcrumb, hint) { if (hint.category === BREADCRUMBCATEGORYS.DEBUG) { return false } return hint } }) breadcrumb.push(breadcrumbDemo) expect(breadcrumb.getStack().length).toBe(0) breadcrumbDemo.category = BREADCRUMBCATEGORYS.HTTP breadcrumb.push(breadcrumbDemo) expect(breadcrumb.getStack().length).toBe(1) }) it('should work on breadcrumb.getCategory ', () => { expect(breadcrumb.getCategory(BREADCRUMBTYPES.XHR)).toBe(BREADCRUMBCATEGORYS.HTTP) expect(breadcrumb.getCategory(BREADCRUMBTYPES.FETCH)).toBe(BREADCRUMBCATEGORYS.HTTP) expect(breadcrumb.getCategory(BREADCRUMBTYPES.CLICK)).toBe(BREADCRUMBCATEGORYS.USER) expect(breadcrumb.getCategory(BREADCRUMBTYPES.ROUTE)).toBe(BREADCRUMBCATEGORYS.USER) expect(breadcrumb.getCategory(BREADCRUMBTYPES.CUSTOMER)).toBe(BREADCRUMBCATEGORYS.DEBUG) expect(breadcrumb.getCategory(BREADCRUMBTYPES.CUSTOMER)).toBe(BREADCRUMBCATEGORYS.DEBUG) expect(breadcrumb.getCategory(BREADCRUMBTYPES.UNHANDLEDREJECTION)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(breadcrumb.getCategory(BREADCRUMBTYPES.CODE_ERROR)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(breadcrumb.getCategory(BREADCRUMBTYPES.UNHANDLEDREJECTION)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(breadcrumb.getCategory(BREADCRUMBTYPES.RESOURCE)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(breadcrumb.getCategory(BREADCRUMBTYPES.VUE)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) expect(breadcrumb.getCategory(BREADCRUMBTYPES.REACT)).toBe(BREADCRUMBCATEGORYS.EXCEPTION) }) })