asjon/test/coverage-test.coffee

63 lines
1.7 KiB
CoffeeScript
Raw Normal View History

2015-04-28 17:50:59 +02:00
expect = require("chai").should()
mock = require 'mock-fs'
2015-04-28 17:50:59 +02:00
2017-02-27 00:27:39 +01:00
Asjon = require './asjon-testing.coffee'
2015-04-28 17:50:59 +02:00
asjon = undefined
describe 'modulo coverage', ->
2015-04-28 17:50:59 +02:00
before (done) ->
# Inizializzo robot
Asjon (assa) ->
asjon = assa
after asjon.after
2018-06-21 03:30:24 +02:00
afterEach () ->
asjon.clear()
mock.restore()
require('../scripts/coverage.coffee')(asjon.robot)
2015-04-28 17:50:59 +02:00
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()
2015-04-28 17:50:59 +02:00
questions.map (q) -> asjon.send q
it 'dovrebbe reagire correttamente ad un errore di parsing', (done) ->
# broken report
mock
2018-06-21 03:30:24 +02:00
'report/coverage/coverage-summary.json': '{'
2015-04-28 17:50:59 +02:00
asjon.receive (e,l) ->
l.join().should.match /^errore nel leggere il report:\nSyntaxError/g
2015-04-28 17:50:59 +02:00
done()
asjon.send 'asjon coverage'
it 'dovrebbe reagire correttamente quando il report non รจ disponibile', (done) ->
# missing report
mock
2018-06-21 03:30:24 +02:00
'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'
2015-04-28 17:50:59 +02:00
it 'dovrebbe parsare correttamente il report json', (done) ->
# fake report
mock
2018-06-21 03:30:24 +02:00
'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
2015-04-28 17:50:59 +02:00
asjon.receive (e,l) ->
l.join().should.match /^=== Coverage: /g
done()
asjon.send 'asjon coverage'