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 test = require('tap').test
 | 
				
			||||||
const proxyquire = require('proxyquire')
 | 
					const proxyquire = require('proxyquire')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const rawCommits = [
 | 
					const commits = proxyquire('../../dist/lib/commits', {
 | 
				
			||||||
  'hash-one==SPLIT==commit-one==END==\n',
 | 
					  'child_process': require('../mocks/child-process')
 | 
				
			||||||
  '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
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test('commits since last release', (t) => {
 | 
					test('commits since last release', (t) => {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,35 +1,18 @@
 | 
				
			|||||||
const test = require('tap').test
 | 
					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 = {
 | 
					const npmConfig = {
 | 
				
			||||||
  'dist-tags': {
 | 
					  registry: 'http://registry.npmjs.org'
 | 
				
			||||||
    latest: '1.33.7'
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  versions: {
 | 
					 | 
				
			||||||
    '1.33.7': {
 | 
					 | 
				
			||||||
      gitHead: 'HEAD'
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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) => {
 | 
					test('last release from registry', (t) => {
 | 
				
			||||||
  t.test('get release from package name', (t) => {
 | 
					  t.test('get release from package name', (t) => {
 | 
				
			||||||
    lastRelease({
 | 
					    lastRelease({
 | 
				
			||||||
      name: 'available'
 | 
					      name: 'available'
 | 
				
			||||||
    }, {
 | 
					    }, npmConfig,
 | 
				
			||||||
      registry
 | 
					    (err, release) => {
 | 
				
			||||||
    }, (err, release) => {
 | 
					 | 
				
			||||||
      t.error(err)
 | 
					      t.error(err)
 | 
				
			||||||
      t.is(release.version, '1.33.7', 'version')
 | 
					      t.is(release.version, '1.33.7', 'version')
 | 
				
			||||||
      t.is(release.gitHead, 'HEAD', 'gitHead')
 | 
					      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) => {
 | 
					  t.test('get release from scoped package name', (t) => {
 | 
				
			||||||
    lastRelease({
 | 
					    lastRelease({
 | 
				
			||||||
      name: '@scoped/available'
 | 
					      name: '@scoped/available'
 | 
				
			||||||
    }, {
 | 
					    }, npmConfig,
 | 
				
			||||||
      registry
 | 
					    (err, release) => {
 | 
				
			||||||
    }, (err, release) => {
 | 
					 | 
				
			||||||
      t.error(err)
 | 
					      t.error(err)
 | 
				
			||||||
      t.is(release.version, '1.33.7', 'version')
 | 
					      t.is(release.version, '1.33.7', 'version')
 | 
				
			||||||
      t.is(release.gitHead, 'HEAD', 'gitHead')
 | 
					      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) => {
 | 
					  t.test('get nothing from not yet published package name', (t) => {
 | 
				
			||||||
    lastRelease({
 | 
					    lastRelease({
 | 
				
			||||||
      name: 'unavailable'
 | 
					      name: 'unavailable'
 | 
				
			||||||
    }, {
 | 
					    }, npmConfig,
 | 
				
			||||||
      registry
 | 
					    (err, release) => {
 | 
				
			||||||
    }, (err, release) => {
 | 
					 | 
				
			||||||
      t.error(err)
 | 
					      t.error(err)
 | 
				
			||||||
      t.is(release.version, undefined, 'no version')
 | 
					      t.is(release.version, undefined, 'no version')
 | 
				
			||||||
      regMock.done()
 | 
					 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
const test = require('tap').test
 | 
					const test = require('tap').test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const type = require('../../dist/lib/type.js')
 | 
					const type = require('../../dist/lib/type')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test('get type from commits', (t) => {
 | 
					test('get type from commits', (t) => {
 | 
				
			||||||
  t.test('get type from plugin', (t) => {
 | 
					  t.test('get type from plugin', (t) => {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user