src/lib/utils/base-logger.test.js
import test from 'ava';
import sinon from 'sinon';
import BaseLogger from './base-logger';
test('Should create a installer-logger instance', t => {
const logger = new BaseLogger();
logger.next();
logger.error();
logger.complete();
t.is(typeof logger.asObserver, 'function');
});
test('Should return observer', t => {
const context = {
next: sinon.stub(),
error: sinon.stub(),
complete: sinon.stub(),
};
const observer = BaseLogger.prototype.asObserver.call(context);
const nextArgs = ['some', 'args', 'next'];
const errorArgs = ['some', 'args', 'error'];
const completeArgs = ['some', 'args', 'complete'];
observer.next(...nextArgs);
observer.error(...errorArgs);
observer.complete(...completeArgs);
t.true(context.next.calledWith(...nextArgs));
t.true(context.error.calledWith(...errorArgs));
t.true(context.complete.calledWith(...completeArgs));
});