expect = require("chai").should() mock = require 'mock-fs' Asjon = require './asjon-testing.coffee' asjon = undefined describe 'modulo coverage', -> before (done) -> # Inizializzo robot Asjon (assa) -> asjon = assa after asjon.after afterEach () -> asjon.clear() mock.restore() require('../scripts/coverage.coffee')(asjon.robot) done() it 'dovrebbe rispondere quando interrogato', (done) -> 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 done() questions.map (q) -> asjon.send q it 'dovrebbe reagire correttamente ad un errore di parsing', (done) -> # broken report mock 'report/coverage/coverage-summary.json': '{' asjon.receive (e,l) -> l.join().should.match /^errore nel leggere il report:\nSyntaxError/g done() asjon.send 'asjon coverage' it 'dovrebbe reagire correttamente quando il report non รจ disponibile', (done) -> # missing report mock 'report/coverage/coverage-summary.json': mock.symlink path: '/no-such-file' asjon.receive (e,l) -> l.join().should.match /^report non disponibile/g done() asjon.send 'asjon coverage' it 'dovrebbe parsare correttamente il report json', (done) -> # fake report mock 'report/coverage/coverage-summary.json': JSON.stringify total: lines: pct: 73.11 'a/b.coffee': lines: pct: 92.12 'a/c.coffee': lines: pct: 81.67 asjon.receive (e,l) -> l.join().should.match /^=== Coverage: /g done() asjon.send 'asjon coverage'