refactor(mocks): extract from specs
This commit is contained in:
		
							parent
							
								
									a405021d08
								
							
						
					
					
						commit
						66bf8ff710
					
				
							
								
								
									
										16
									
								
								test/mocks/child-process.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								test/mocks/child-process.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
const rawCommits = [
 | 
			
		||||
  'hash-one==SPLIT==commit-one==END==\n',
 | 
			
		||||
  'hash-two==SPLIT==commit-two==END==\n'
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  exec: (command, cb) => {
 | 
			
		||||
    cb(
 | 
			
		||||
      null,
 | 
			
		||||
      /\.\.HEAD/.test(command) ?
 | 
			
		||||
        rawCommits[0] :
 | 
			
		||||
        rawCommits.join()
 | 
			
		||||
    )
 | 
			
		||||
  },
 | 
			
		||||
  '@noCallThru': true
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								test/mocks/registry.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								test/mocks/registry.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
const nock = require('nock')
 | 
			
		||||
 | 
			
		||||
const availableModule = {
 | 
			
		||||
  'dist-tags': {
 | 
			
		||||
    latest: '1.33.7'
 | 
			
		||||
  },
 | 
			
		||||
  versions: {
 | 
			
		||||
    '1.33.7': {
 | 
			
		||||
      gitHead: 'HEAD'
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = nock('http://registry.npmjs.org')
 | 
			
		||||
  .get('/available')
 | 
			
		||||
  .reply(200, availableModule)
 | 
			
		||||
  .get('/@scoped/available')
 | 
			
		||||
  .reply(200, availableModule)
 | 
			
		||||
  .get('/unavailable')
 | 
			
		||||
  .reply(404, {})
 | 
			
		||||
@ -1,22 +1,8 @@
 | 
			
		||||
const test = require('tap').test
 | 
			
		||||
const proxyquire = require('proxyquire')
 | 
			
		||||
 | 
			
		||||
const rawCommits = [
 | 
			
		||||
  'hash-one==SPLIT==commit-one==END==\n',
 | 
			
		||||
  'hash-two==SPLIT==commit-two==END==\n'
 | 
			
		||||
]
 | 
			
		||||
const commits = proxyquire('../../dist/lib/commits.js', {
 | 
			
		||||
  'child_process': {
 | 
			
		||||
    exec: (command, cb) => {
 | 
			
		||||
      cb(
 | 
			
		||||
        null,
 | 
			
		||||
        /\.\.HEAD/.test(command) ?
 | 
			
		||||
          rawCommits[0] :
 | 
			
		||||
          rawCommits.join()
 | 
			
		||||
      )
 | 
			
		||||
    },
 | 
			
		||||
    '@noCallThru': true
 | 
			
		||||
  }
 | 
			
		||||
const commits = proxyquire('../../dist/lib/commits', {
 | 
			
		||||
  'child_process': require('../mocks/child-process')
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
test('commits since last release', (t) => {
 | 
			
		||||
 | 
			
		||||
@ -1,35 +1,18 @@
 | 
			
		||||
const test = require('tap').test
 | 
			
		||||
const nock = require('nock')
 | 
			
		||||
 | 
			
		||||
const lastRelease = require('../../dist/lib/last-release.js')
 | 
			
		||||
require('../mocks/registry')
 | 
			
		||||
const lastRelease = require('../../dist/lib/last-release')
 | 
			
		||||
 | 
			
		||||
const availableModule = {
 | 
			
		||||
  'dist-tags': {
 | 
			
		||||
    latest: '1.33.7'
 | 
			
		||||
  },
 | 
			
		||||
  versions: {
 | 
			
		||||
    '1.33.7': {
 | 
			
		||||
      gitHead: 'HEAD'
 | 
			
		||||
const npmConfig = {
 | 
			
		||||
  registry: 'http://registry.npmjs.org'
 | 
			
		||||
}
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const registry = 'http://registry.npmjs.org'
 | 
			
		||||
const regMock = nock(registry)
 | 
			
		||||
  .get('/available')
 | 
			
		||||
  .reply(200, availableModule)
 | 
			
		||||
  .get('/@scoped/available')
 | 
			
		||||
  .reply(200, availableModule)
 | 
			
		||||
  .get('/unavailable')
 | 
			
		||||
  .reply(404, {})
 | 
			
		||||
 | 
			
		||||
test('last release from registry', (t) => {
 | 
			
		||||
  t.test('get release from package name', (t) => {
 | 
			
		||||
    lastRelease({
 | 
			
		||||
      name: 'available'
 | 
			
		||||
    }, {
 | 
			
		||||
      registry
 | 
			
		||||
    }, (err, release) => {
 | 
			
		||||
    }, npmConfig,
 | 
			
		||||
    (err, release) => {
 | 
			
		||||
      t.error(err)
 | 
			
		||||
      t.is(release.version, '1.33.7', 'version')
 | 
			
		||||
      t.is(release.gitHead, 'HEAD', 'gitHead')
 | 
			
		||||
@ -39,9 +22,8 @@ test('last release from registry', (t) => {
 | 
			
		||||
  t.test('get release from scoped package name', (t) => {
 | 
			
		||||
    lastRelease({
 | 
			
		||||
      name: '@scoped/available'
 | 
			
		||||
    }, {
 | 
			
		||||
      registry
 | 
			
		||||
    }, (err, release) => {
 | 
			
		||||
    }, npmConfig,
 | 
			
		||||
    (err, release) => {
 | 
			
		||||
      t.error(err)
 | 
			
		||||
      t.is(release.version, '1.33.7', 'version')
 | 
			
		||||
      t.is(release.gitHead, 'HEAD', 'gitHead')
 | 
			
		||||
@ -51,12 +33,10 @@ test('last release from registry', (t) => {
 | 
			
		||||
  t.test('get nothing from not yet published package name', (t) => {
 | 
			
		||||
    lastRelease({
 | 
			
		||||
      name: 'unavailable'
 | 
			
		||||
    }, {
 | 
			
		||||
      registry
 | 
			
		||||
    }, (err, release) => {
 | 
			
		||||
    }, npmConfig,
 | 
			
		||||
    (err, release) => {
 | 
			
		||||
      t.error(err)
 | 
			
		||||
      t.is(release.version, undefined, 'no version')
 | 
			
		||||
      regMock.done()
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
const test = require('tap').test
 | 
			
		||||
 | 
			
		||||
const type = require('../../dist/lib/type.js')
 | 
			
		||||
const type = require('../../dist/lib/type')
 | 
			
		||||
 | 
			
		||||
test('get type from commits', (t) => {
 | 
			
		||||
  t.test('get type from plugin', (t) => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user