nock = require 'nock' expect = require("chai").should() Asjon = require '../asjon-testing.coffee' asjon = undefined describe 'modulo shell', -> before (done) -> # Inizializzo robot Asjon (assa) -> asjon = assa after asjon.after afterEach asjon.clear require('../scripts/shell.coffee')(asjon.robot) done() it 'dovrebbe non eseguire i comandi se l\'interlocutore non รจ autorizzato', (done) -> asjon.receive (e,l) -> l.join().should.match /BZBZ (.+)/i done() asjon.send 'asjon controlla gli aggiornamenti' ss = ['Operazione in corso: ', 'Operazione "completata": '] regexes = [/Operazione in corso: (.+)/i, /Operazione "completata": (.+)/i] it 'dovrebbe riconoscere la stanza autorizzata', (done) -> process.env.ADMIN_ROOM = ':mocha' acc = 0 asjon.receive (e,l) -> l.join().should.match regexes[acc] acc++ if acc is 2 then done() asjon.send 'asjon controlla gli aggiornamenti' it 'dovrebbe eseguire i comandi corretti per installare gli aggiornamenti', (done) -> cmd = 'git pull && npm install' acc = 0 asjon.receive (e,l) -> l.join().should.equal ss[acc]+cmd acc++ if acc is 2 then done() asjon.send 'asjon aggiornati' it 'dovrebbe eseguire i comandi corretti per controllare gli aggiornamenti', (done) -> cmd = 'git fetch && git status' acc = 0 asjon.receive (e,l) -> l.join().should.equal ss[acc]+cmd acc++ if acc is 2 then done() asjon.send 'asjon controlla gli aggiornamenti' it 'dovrebbe eseguire i comandi corretti per installare le dipendenze', (done) -> cmd = 'npm install' acc = 0 asjon.receive (e,l) -> l.join().should.equal ss[acc]+cmd acc++ if acc is 2 then done() asjon.send 'asjon installa le dipendenze' it 'dovrebbe eseguire i comandi corretti per eseguire i test', (done) -> cmd = 'npm test' acc = 0 asjon.receive (e,l) -> l.join().should.equal ss[acc]+cmd acc++ if acc is 2 then done() asjon.send 'asjon esegui i test'