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'