const { describe, it } = require('mocha'); const { getCoverageResults } = require('./coverage-utils'); const expect = require('expect'); describe('API coverage test', () => { it('calls every method', () => { if (!process.env.COVERAGE) return; const coverageMap = getCoverageResults(); const missingMethods = []; for (const method of coverageMap.keys()) { if (!coverageMap.get(method)) missingMethods.push(method); } if (missingMethods.length) { console.error( '\nCoverage check failed: not all API methods called. See above output for list of missing methods.' ); console.error(missingMethods.join('\n')); } // We know this will fail because we checked above // but we need the actual test to fail. expect(missingMethods.length).toEqual(0); }); });