@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
112 lines (100 loc) • 4.42 kB
text/typescript
import { assertEquals } from 'https://deno.land/std@0.203.0/assert/mod.ts';
import { describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts';
import { Logger } from "../logger.ts";
describe('Logger', () => {
it('getLogs should return an array of entries', () => {
const logger = new Logger('test');
logger.info('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.method, 'test');
})
it('should be able to add entries of different severity', () => {
const logger = new Logger('test');
logger.info('test');
logger.debug('test');
logger.error('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 3);
assertEquals(logs.entries[0].severity, 'info');
assertEquals(logs.entries[1].severity, 'debug');
assertEquals(logs.entries[2].severity, 'error');
})
it('should be able to add an info entry', () => {
const logger = new Logger('test');
logger.info('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'info');
});
it('should be able to add an debug entry', () => {
const logger = new Logger('test');
logger.debug('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'debug');
});
it('should be able to add an error entry', () => {
const logger = new Logger('test');
logger.error('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'error');
});
it('should be able to add an success entry', () => {
const logger = new Logger('test');
logger.success('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'success');
});
it('should be able to add an warning entry', () => {
const logger = new Logger('test');
logger.warn('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'warning');
});
it('should be able to add an log entry', () => {
const logger = new Logger('test');
logger.log('test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'log');
});
it('should be able to add an entry with multiple arguments', () => {
const logger = new Logger('test');
logger.log('test', 'test', 'test');
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].args[1], 'test');
assertEquals(logs.entries[0].args[2], 'test');
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'log');
});
it('should be able to add an entry with multiple arguments of different types', () => {
const logger = new Logger('test');
logger.log('test', 1, true, { foo: 'bar' });
const logs = logger.getLogs();
assertEquals(logs.entries.length, 1);
assertEquals(logs.entries[0].args[0], 'test');
assertEquals(logs.entries[0].args[1], 1);
assertEquals(logs.entries[0].args[2], true);
assertEquals(logs.entries[0].args[3], { foo: 'bar' });
assertEquals(logs.entries[0].method, 'test');
assertEquals(logs.entries[0].severity, 'log');
});
})