asjon/test/drone-test.coffee
2017-02-27 00:27:39 +01:00

59 lines
1.8 KiB
CoffeeScript

nock = require 'nock'
expect = require("chai").should()
Asjon = require './asjon-testing.coffee'
asjon = undefined
describe 'modulo drone', ->
before (done) ->
# Inizializzo robot
Asjon (assa) ->
asjon = assa
after asjon.after
afterEach asjon.clear
require('../scripts/drone.coffee')(asjon.robot)
done()
it 'dovrebbe rispondere quando interrogato', (done) ->
nock('https://drone.io')
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
.reply 200, { coverage: 0, files: [] }
questions = [
"asjon mostrami la copertura dei test"
"asjon copertura dei test"
"asjon copertura"
"asjon coverage"
]
acc = 0
asjon.receive (e,l) ->
acc++
if acc is questions.length then done()
questions.map (q) -> asjon.send q
it 'dovrebbe reagire correttamente a un errore', (done) ->
nock('https://drone.io')
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
.reply 200, 'invalid answer'
asjon.receive (e,l) ->
l.join().should.match /^Errore: SyntaxError: Unexpected token/g
done()
asjon.send 'asjon coverage'
it 'dovrebbe reagire correttamente quando il report non รจ disponibile (404)', (done) ->
nock('https://drone.io')
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
.reply 404, '404 page not found'
asjon.receive (e,l) ->
l.join().should.match /^Coverage report non disponibile/g
done()
asjon.send 'asjon coverage'
it 'dovrebbe parsare correttamente il report json', (done) ->
nock('https://drone.io')
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
.replyWithFile 200, __dirname+'/coverage.json'
asjon.receive (e,l) ->
l.join().should.match /^=== Coverage: /g
done()
asjon.send 'asjon coverage'