refactor(commits,type): simplify interfaces

This commit is contained in:
Stephan Bönnemann 2015-06-14 21:12:37 -07:00
parent 66bf8ff710
commit 6df67828fe
4 changed files with 16 additions and 25 deletions

View File

@ -1,7 +1,7 @@
const { exec } = require('child_process')
module.exports = function (results, cb) {
const from = results.lastRelease.gitHead
module.exports = function (lastRelease, cb) {
const from = lastRelease.gitHead
const range = (from ? from + '..' : '') + 'HEAD'
exec(

View File

@ -1,9 +1,6 @@
const SemanticReleaseError = require('./error')
module.exports = function (plugins, results, cb) {
const commits = results.commits
const lastRelease = results.lastRelease
module.exports = function (plugins, commits, lastRelease, cb) {
const type = plugins.analyze(commits)
if (!type) {

View File

@ -7,7 +7,7 @@ const commits = proxyquire('../../dist/lib/commits', {
test('commits since last release', (t) => {
t.test('get all commits', (t) => {
commits({lastRelease: {}}, (err, commits) => {
commits({}, (err, commits) => {
t.error(err)
t.is(commits.length, 2, 'all commits')
t.is(commits[0].hash, 'hash-one', 'parsed hash')
@ -16,7 +16,7 @@ test('commits since last release', (t) => {
})
t.test('get commits since hash', (t) => {
commits({lastRelease: {gitHead: 'hash'}}, (err, commits) => {
commits({gitHead: 'hash'}, (err, commits) => {
t.error(err)
t.is(commits.length, 1, 'specified commits')
t.is(commits[0].hash, 'hash-one', 'parsed hash')

View File

@ -6,14 +6,11 @@ test('get type from commits', (t) => {
t.test('get type from plugin', (t) => {
type({
analyze: () => 'major'
}, {
commits: [{
hash: '0',
message: 'a'
}],
lastRelease: {
version: '1.0.0'
}
}, [{
hash: '0',
message: 'a'
}], {
version: '1.0.0'
}, (err, type) => {
t.error(err)
t.is(type, 'major')
@ -23,20 +20,17 @@ test('get type from commits', (t) => {
t.test('error when no changes', (t) => {
type({
analyze: () => null
}, {
commits: [],
lastRelease: {}
}, (err) => {
}, [], {},
(err) => {
t.is(err.code, 'ENOCHANGE')
})
})
t.test('initial version', (t) => {
type({}, {
lastRelease: {
version: null
}
}, (err, type) => {
type({
analyze: () => 'major'
}, [], {},
(err, type) => {
t.error(err)
t.is(type, 'initial')
})