import 'reflect-metadata'; import kernel from '../inversify.config'; import {ProgressBar} from '../interfaces/progress-bar'; import * as chai from 'chai'; import * as sinon from 'sinon'; const expect = chai.expect; describe('ProgressBar', function () { let progressBar: ProgressBar; beforeEach(()=> { progressBar = kernel.get('ProgressBar'); }); describe('create using kernel', ()=> { it('should be created by kernel', function (done) { expect(progressBar).to.not.equal(null); done(); }); }); describe('should call console.log', ()=> { let consoleLogSpy:any; before(()=> { consoleLogSpy = sinon.spy(console, 'log'); }); it('console.log() was called', function (done) { progressBar.showProgressForTask('id', 'status', 50, 100); expect(consoleLogSpy.called).to.equal(true); done(); }); after(()=> { (console.log).restore(); }); }); describe('should call console.log with "> 50 : 100"', ()=> { let consoleLogStub:any; before(()=> { consoleLogStub = sinon.stub(console, 'log', (msg)=>{ expect(msg).to.equal('> 50 : 100'); }); }); it('console.log() was called', function (done) { progressBar.showProgressForTask('id', 'status', 50, 100); expect(consoleLogStub.called).to.equal(true); done(); }); after(()=> { (console.log).restore(); }); }); });