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') const { exec } = require('child_process')
module.exports = function (results, cb) { module.exports = function (lastRelease, cb) {
const from = results.lastRelease.gitHead const from = lastRelease.gitHead
const range = (from ? from + '..' : '') + 'HEAD' const range = (from ? from + '..' : '') + 'HEAD'
exec( exec(

View File

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

View File

@ -7,7 +7,7 @@ const commits = proxyquire('../../dist/lib/commits', {
test('commits since last release', (t) => { test('commits since last release', (t) => {
t.test('get all commits', (t) => { t.test('get all commits', (t) => {
commits({lastRelease: {}}, (err, commits) => { commits({}, (err, commits) => {
t.error(err) t.error(err)
t.is(commits.length, 2, 'all commits') t.is(commits.length, 2, 'all commits')
t.is(commits[0].hash, 'hash-one', 'parsed hash') 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) => { t.test('get commits since hash', (t) => {
commits({lastRelease: {gitHead: 'hash'}}, (err, commits) => { commits({gitHead: 'hash'}, (err, commits) => {
t.error(err) t.error(err)
t.is(commits.length, 1, 'specified commits') t.is(commits.length, 1, 'specified commits')
t.is(commits[0].hash, 'hash-one', 'parsed hash') 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) => { t.test('get type from plugin', (t) => {
type({ type({
analyze: () => 'major' analyze: () => 'major'
}, { }, [{
commits: [{ hash: '0',
hash: '0', message: 'a'
message: 'a' }], {
}], version: '1.0.0'
lastRelease: {
version: '1.0.0'
}
}, (err, type) => { }, (err, type) => {
t.error(err) t.error(err)
t.is(type, 'major') t.is(type, 'major')
@ -23,20 +20,17 @@ test('get type from commits', (t) => {
t.test('error when no changes', (t) => { t.test('error when no changes', (t) => {
type({ type({
analyze: () => null analyze: () => null
}, { }, [], {},
commits: [], (err) => {
lastRelease: {}
}, (err) => {
t.is(err.code, 'ENOCHANGE') t.is(err.code, 'ENOCHANGE')
}) })
}) })
t.test('initial version', (t) => { t.test('initial version', (t) => {
type({}, { type({
lastRelease: { analyze: () => 'major'
version: null }, [], {},
} (err, type) => {
}, (err, type) => {
t.error(err) t.error(err)
t.is(type, 'initial') t.is(type, 'initial')
}) })