|
1 | 1 | import assert from 'assert';
|
2 | 2 |
|
3 | 3 | import * as lib from './lib.js';
|
| 4 | +import parseString from 'xml2js'; |
| 5 | + |
| 6 | +const xmlStr = ` |
| 7 | +<?xml version="1.0" encoding="UTF-8" ?> |
| 8 | +<testsuites> |
| 9 | + <testsuite name="someName" time="0.004" errors="0" tests="2" skipped="0" failures="1"> |
| 10 | + <testcase classname="className" name="someName" time="0.002"> |
| 11 | + <failure type="toBe" message="Expected 1 to be 2."> |
| 12 | + </failure> |
| 13 | + </testcase> |
| 14 | + <testcase classname="clasName2" name="someName2" time="0"> |
| 15 | + </testcase> |
| 16 | + </testsuite> |
| 17 | +</testsuites> |
| 18 | +`; |
4 | 19 |
|
5 | 20 | describe('lib', () => {
|
| 21 | + |
| 22 | + describe('from parsed XML', () => { |
| 23 | + let result, err; |
| 24 | + beforeEach((done) => { |
| 25 | + parseString.parseString(xmlStr, (outErr, outResult) => { |
| 26 | + result = outResult; |
| 27 | + err = outErr; |
| 28 | + done(); |
| 29 | + }); |
| 30 | + }); |
| 31 | + it('should parse', () => { |
| 32 | + assert.equal(err, null); |
| 33 | + }); |
| 34 | + it('should not throw with parsed XML', () => { |
| 35 | + if (!result.testsuites.$) { |
| 36 | + result.testsuites.$ = lib.findSummaryFromTestsuites(result.testsuites.testsuite); |
| 37 | + } else { |
| 38 | + result.testsuites.$ = { |
| 39 | + ...result.testsuites.$, |
| 40 | + ...lib.findSummaryFromTestsuites(result.testsuites.testsuite), |
| 41 | + }; |
| 42 | + } |
| 43 | + assert.doesNotThrow(() => lib.generateSummary(result.testsuites.$)); |
| 44 | + result.testsuites.testsuite.forEach(t => { |
| 45 | + assert.doesNotThrow(() => lib.generateTestsuiteSummary(t)); |
| 46 | + assert.doesNotThrow(() => lib.generateTestsuiteResult(t)); |
| 47 | + }); |
| 48 | + }); |
| 49 | + }); |
6 | 50 | describe('generateSummary()', () => {
|
7 | 51 | const summary = {
|
8 | 52 | name: 'test',
|
|
0 commit comments