74 lines
2.7 KiB
TypeScript

import {describe, expect, test, vi} from 'vitest'
import Logger from '../src/Logger'
// @ts-ignore
import moment from 'moment'
const VITE_LOGGER_LEVEL = 4
const loggerInfo = {
"loggerLevel": VITE_LOGGER_LEVEL,
"serviceName": "live_monitor",
"machineAddr": "172.25.78.151",
"port": 6175,
"datetime": moment().format("YYYY-MM-DDTHH:mm:ss"),
}
describe('Logger', () => {
test('empty logger info', () => {
const newLogger = new Logger(null)
const loggerDebug = newLogger.debug(undefined, undefined)
const loggerInfo = newLogger.info(undefined, undefined)
const loggerWarn = newLogger.warn(undefined, undefined)
const loggerError = newLogger.error(undefined, undefined)
expect(loggerDebug).toBeUndefined()
expect(loggerInfo).toBeUndefined()
expect(loggerWarn).toBeUndefined()
expect(loggerError).toBeUndefined()
})
test('sent logger, empty required params', () => {
const callback = (text: string) => console.log('callback', text)
const allParams = {...loggerInfo, callFunc: callback, isPushToServer: true}
const newLogger = new Logger(allParams)
const loggerWarn = newLogger.warn('', 1)
const loggerError = newLogger.error('Test error', undefined)
expect(loggerWarn).toBeUndefined()
expect(loggerError).toBeUndefined()
})
test('sent logger, empty callback function', () => {
const allParams = {...loggerInfo, callFunc: null, isPushToServer: true}
const newLogger = new Logger(allParams)
const loggerDebug = newLogger.debug('Test debug', 0)
const loggerInfos = newLogger.info('Test info', 1)
const loggerWarn = newLogger.warn('Test warn', 2)
const loggerError = newLogger.error('Test error', 3)
expect(loggerDebug).toBe('Отладочная информация отправлена на сервер')
expect(loggerInfos).toBe('Информация отправлена на сервер')
expect(loggerWarn).toBe('Предупреждение отправлено на сервер')
expect(loggerError).toBe('Ошибка отправлена на сервер')
})
test('sent logger, with callback function', () => {
const callback = vi.fn((text) => `callback func - ${text}`)
const allParams = {...loggerInfo, callFunc: callback, isPushToServer: true}
const newLogger = new Logger(allParams)
const loggerDebug = newLogger.debug('Test debug', 1)
const loggerInfos = newLogger.info('Test info', 1)
const loggerWarn = newLogger.warn('Test warn', 1)
const loggerError = newLogger.error('Test error', 1)
expect(loggerDebug).toBe('callback func - Test debug')
expect(loggerInfos).toBe('callback func - Test info')
expect(loggerWarn).toBe('callback func - Test warn')
expect(loggerError).toBe('callback func - Test error')
})
})