import chai from 'chai'; import sinonChai from 'sinon-chai'; chai.should() chai.use(sinonChai) import 'mocha'; import { WatcherProxy } from '../interfaces'; import * as sinon from 'sinon'; import { Validator } from './validator'; import { Subject } from 'rxjs'; describe('Validator', () => { const createMockWatcherProxy = ( watchStub = sinon.stub(), unWatchStub = sinon.stub() ) => { return { watch: watchStub, unwatch: unWatchStub, } as WatcherProxy } it('should call watch', () => { const watcher = createMockWatcherProxy( sinon.stub().returns(new Subject()), sinon.stub().returns(new Subject()) ); const validator = new Validator(watcher); validator.validate({ amount: 1000, destination: { address: 'test', nbConf: 3, network: 'test' }, id: 'test', source: { address: 'test', nbConf: 3, network: 'test' }, ticker: 'tBTC' }); chai.expect(watcher.watch).to.have.been.called; }); });