mirror of https://gitee.com/antv-l7/antv-l7
69 lines
2.2 KiB
JavaScript
69 lines
2.2 KiB
JavaScript
jest.mock('./package.json', () => ({
|
|
name: 'testpkg2',
|
|
collective: {url: 'testurl'}
|
|
}), {virtual: true});
|
|
|
|
describe('test all the things', () => {
|
|
const env = global.process.env;
|
|
const console = global.console;
|
|
beforeEach(() => {
|
|
global.console = {log: jest.fn(), warn: global.console.warn};
|
|
});
|
|
afterEach(() => {
|
|
global.process.env = env;
|
|
global.console.log.mockReset();
|
|
global.console = console;
|
|
jest.resetModules();
|
|
});
|
|
|
|
describe('outputs the correct values', () => {
|
|
it('when called without args', () =>{
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
require('./index');
|
|
expect(global.console.log).toHaveBeenCalledTimes(3);
|
|
expect(global.console.log).toHaveBeenNthCalledWith(1,
|
|
`\u001b[96m\u001b[1mThank you for using testpkg2!\u001b[96m\u001b[1m`
|
|
);
|
|
expect(global.console.log).toHaveBeenNthCalledWith(3,
|
|
`> \u001b[94mtesturl/donate\u001b[0m\n`
|
|
);
|
|
});
|
|
|
|
[0, false].forEach(falsy => {
|
|
it(`when Disable is set to ${falsy}`, () => {
|
|
global.process.env = {DISABLE_OPENCOLLECTIVE: falsy};
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
require('./index');
|
|
expect(global.console.log).toHaveBeenCalledTimes(3);
|
|
});
|
|
});
|
|
|
|
['notice', 'http', 'timing', 'info', 'verbose', 'silly'].forEach(log => {
|
|
it(`when config_loglevel is set to ${log}`, () => {
|
|
global.process.env = {npm_config_loglevel: log}
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
require('./index');
|
|
expect(global.console.log).toHaveBeenCalledTimes(3);
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('does not show output', () => {
|
|
[1, true].forEach(truthy => {
|
|
it(`when Disable is set to ${truthy}`, () => {
|
|
global.process.env = {DISABLE_OPENCOLLECTIVE: truthy};
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
require('./index');
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
});
|
|
});
|
|
|
|
['warn', 'error', 'silent'].forEach(log => {
|
|
it(`when npm_config_loglevel is set to ${log}`, () => {
|
|
global.process.env = {npm_config_loglevel: log}
|
|
require('./index');
|
|
expect(global.console.log).not.toHaveBeenCalled();
|
|
});
|
|
});
|
|
});
|
|
}); |