| 123456789101112131415161718192021222324252627282930313233343536373839 | 'use strict'const colors = require('colors')expect.extend({  /**   * Expect Snyk results to have no errors   * @param {*} received Snyk results   * @param {*} argument Arguments   * @returns {object} Matcher result   */  toPassSnyk (received, argument) {    if (received && received.ok === false) {      let errorMsgBuf = []      for (let i = 0; i < received.vulnerabilities.length; i++) {        const result = received.vulnerabilities[i]        let vulnPath = result.from.slice(1).join(' > ')        errorMsgBuf.push(colors.red(`└──[${result.severity}] ${result.packageName}\t${result.title}`))        errorMsgBuf.push(colors.grey(`\t${vulnPath}`))      }      return {        message: () => (errorMsgBuf.join(`\n`)),        pass: false      }    }    return {      pass: true    }  }})describe('Security', () => {  it('should pass Snyk test', () => {    const snyk = require('snyk').test    return snyk('./').then(report => {      expect(report).toPassSnyk()    })  }, 30000)})
 |