asjon/test/shell-test.coffee
2015-04-28 15:41:57 +02:00

70 lines
2.0 KiB
CoffeeScript

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'