63 lines
1.7 KiB
CoffeeScript
63 lines
1.7 KiB
CoffeeScript
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'
|