@sdc-monitor/demo
Version:
<div align="center"> <a href="#" target="_blank"> <img src="https://i.loli.net/2021/07/28/EvPwd4NjVH3tBfO.jpg" alt="mito-logo" height="90"> </a> <p>A Lightweight SDK For Monitor Web</p>
45 lines (40 loc) • 1.41 kB
text/typescript
import { BrowserOptionsFieldsTypes } from '@sdc-monitor/browser'
import { BREADCRUMBCATEGORYS, BrowserBreadcrumbTypes } from '@sdc-monitor/shared'
import { BreadcrumbPushData } from '@sdc-monitor/types'
import { Severity } from '@sdc-monitor/utils'
import { Breadcrumb } from '../breadcrumb'
const MaxBreadcrumbs = 16
describe('breadcrumb.ts', () => {
const breadcrumb = new Breadcrumb<BrowserOptionsFieldsTypes>({
maxBreadcrumbs: MaxBreadcrumbs
})
afterEach(() => {
breadcrumb.clear()
})
const breadcrumbDemo: BreadcrumbPushData = {
category: BREADCRUMBCATEGORYS.DEBUG,
type: BrowserBreadcrumbTypes.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) {
expect(hint).toEqual(breadcrumbDemo)
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)
})
})