1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import {
- Logger,
- logger as defaultLogger,
- } from '@sequelize/core/_non-semver-use-at-your-own-risk_/utils/logger.js';
- import { expect } from 'chai';
- import { inspect as nodeInspect } from 'node:util';
- import sinon from 'sinon';
- describe('logger', () => {
- let oldWarn: typeof console.warn;
- let fakeWarn: sinon.SinonSpy;
- beforeEach(() => {
- oldWarn = console.warn;
- fakeWarn = sinon.fake();
- console.warn = fakeWarn;
- });
- afterEach(() => {
- console.warn = oldWarn;
- });
- it('creates a default logger in the sequelize context', () => {
- defaultLogger.warn('abc');
- expect(fakeWarn.calledOnceWithExactly('(sequelize) Warning: abc')).to.equal(true);
- });
- it("defaults the context of new loggers to 'sequelize'", () => {
- const logger = new Logger();
- logger.warn('oh no');
- expect(fakeWarn.calledOnceWithExactly('(sequelize) Warning: oh no')).to.equal(true);
- });
- it('respects specified context in new loggers', () => {
- const logger = new Logger({ context: 'query-generator' });
- logger.warn('This feature is not supported for this dialect.');
- expect(
- fakeWarn.calledOnceWithExactly(
- '(query-generator) Warning: This feature is not supported for this dialect.',
- ),
- ).to.equal(true);
- });
- it('inspects a value', () => {
- const obj = {
- a: 1,
- b: 2,
- c() {
- /* no-op */
- },
- };
- expect(defaultLogger.inspect(obj)).to.equal(nodeInspect(obj, { showHidden: false, depth: 3 }));
- });
- it('creates a debugger in the correct namespace', () => {
- const contextDebugger = defaultLogger.debugContext('query-generator');
- expect(contextDebugger.namespace).to.equal('sequelize:query-generator');
- });
- });
|