Welcome to mirror list, hosted at ThFree Co, Russian Federation.

json.spec.js « reporters « test « mocha-3.1.2 « lib « tests - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 74151fdc8b4dbac11608a33ae0d21e780a467aec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
'use strict';

var Mocha = require('../../');
var Suite = Mocha.Suite;
var Runner = Mocha.Runner;
var Test = Mocha.Test;

describe('json reporter', function () {
  var suite, runner;

  beforeEach(function () {
    var mocha = new Mocha({
      reporter: 'json'
    });
    suite = new Suite('JSON suite', 'root');
    runner = new Runner(suite);
    /* eslint no-unused-vars: off */
    var mochaReporter = new mocha._reporter(runner);
  });

  it('should have 1 test failure', function (done) {
    var testTitle = 'json test 1';
    var error = { message: 'oh shit' };

    suite.addTest(new Test(testTitle, function (done) {
      done(new Error(error.message));
    }));

    runner.run(function (failureCount) {
      failureCount.should.be.exactly(1);
      runner.should.have.property('testResults');
      runner.testResults.should.have.property('failures');
      runner.testResults.failures.should.be.an.instanceOf(Array);
      runner.testResults.failures.should.have.a.lengthOf(1);

      var failure = runner.testResults.failures[0];
      failure.should.have.property('title', testTitle);
      failure.err.message.should.equal(error.message);
      failure.should.have.properties('err');

      done();
    });
  });

  it('should have 1 test pending', function (done) {
    var testTitle = 'json test 1';

    suite.addTest(new Test(testTitle));

    runner.run(function (failureCount) {
      failureCount.should.be.exactly(0);
      runner.should.have.property('testResults');
      runner.testResults.should.have.property('pending');
      runner.testResults.pending.should.be.an.instanceOf(Array);
      runner.testResults.pending.should.have.a.lengthOf(1);

      var pending = runner.testResults.pending[0];
      pending.should.have.property('title', testTitle);

      done();
    });
  });
});