| 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)
 
- })
 
 
  |