UNPKG

@leansdk/leanrc

Version:

LeanRC is a MVC framework for creating graceful applications

49 lines (47 loc) 1.84 kB
{ expect, assert } = require 'chai' sinon = require 'sinon' request = require 'request' LeanRC = require.main.require 'lib' TestApp = require './integration/animate-robot' AppFacade = TestApp.NS.AppFacade RequestApp = require './integration/send-request' RequestFacade = RequestApp.NS.AppFacade describe 'ConcreteFacade', -> describe 'Create AppFacade', -> it 'should get new or existing instance of Facade', -> expect -> app = AppFacade.getInstance 'HELLO_WORLD1' app.startup() app.finish() .to.not.throw Error describe 'Create AppFacade', -> it 'should send event into application and get response', -> expect -> app = AppFacade.getInstance 'HELLO_WORLD2' app.startup() consoleComponent = TestApp.NS.ConsoleComponent.getInstance() consoleComponentSpy = sinon.spy consoleComponent, 'writeMessages' consoleComponent.startAnimateRobot() assert consoleComponentSpy.called app.finish() .to.not.throw Error describe 'Create RequestApp.NS.AppFacade', -> before -> sinon .stub request, 'get' .callsArgWithAsync 1, null, null, JSON.stringify message: 'I am awaken. Hello World' after -> request.get.restore() it 'should get instance of Facade and make request', (done) -> expect -> app = RequestFacade.getInstance 'HELLO_WORLD3' app.startup() consoleComponent = RequestApp.NS.ConsoleComponent.getInstance() consoleComponentSpy = sinon.spy consoleComponent, 'writeMessages' consoleComponent.subscribeEventOnce RequestApp.NS.ConsoleComponent::MESSAGE_WRITTEN, => assert consoleComponentSpy.called, 'Console not filled' app.finish() done() consoleComponent.sendRequest() .to.not.throw Error