From f8b98b536612a89c0f93eb6451be90d857468eac Mon Sep 17 00:00:00 2001 From: Pete Cook Date: Tue, 7 Nov 2017 17:49:39 +0000 Subject: [PATCH] Move test origins to separate file --- test/commits.js | 49 +++++++++++++------------------------------- test/data/origins.js | 14 +++++++++++++ test/origin.js | 30 ++++++++------------------- test/releases.js | 10 +++------ 4 files changed, 39 insertions(+), 64 deletions(-) create mode 100644 test/data/origins.js diff --git a/test/commits.js b/test/commits.js index e3818d38..67472006 100644 --- a/test/commits.js +++ b/test/commits.js @@ -3,65 +3,44 @@ import { expect } from 'chai' import { readFile } from 'fs-extra' import { join } from 'path' +import origins from './data/origins' import commits from './data/commits' import { __get__ } from '../src/commits' const parseCommits = __get__('parseCommits') -// const parseCommit = __get__('parseCommit') -// const getTag = __get__('getTag') -// const getSubject = __get__('getSubject') -// const getStats = __get__('getStats') const getFixes = __get__('getFixes') const getMerge = __get__('getMerge') -// const getCommitLink = __get__('getCommitLink') -// const getIssueLink = __get__('getIssueLink') -// const getPullLink = __get__('getPullLink') - -const origin = { - github: { - hostname: 'github.com', - url: 'https://github.com/user/repo' - }, - gitlab: { - hostname: 'gitlab.com', - url: 'https://gitlab.com/user/repo' - }, - bitbucket: { - hostname: 'bitbucket.org', - url: 'https://bitbucket.org/user/repo' - } -} describe('parseCommits', () => { it('parses commits', async () => { const gitLog = await readFile(join(__dirname, 'data', 'git-log.txt'), 'utf-8') - expect(parseCommits(gitLog, origin.github)).to.deep.equal(commits) + expect(parseCommits(gitLog, origins.github)).to.deep.equal(commits) }) }) describe('getFixes', () => { it('returns null with no fixes', () => { const message = 'Commit message with no fixes' - expect(getFixes(message, origin.github)).to.equal(null) + expect(getFixes(message, origins.github)).to.equal(null) }) it('parses a single fix', () => { const message = 'Commit that fixes #12' - expect(getFixes(message, origin.github)).to.deep.equal([ + expect(getFixes(message, origins.github)).to.deep.equal([ { id: '12', href: 'https://github.com/user/repo/issues/12' } ]) }) it('parses fix in commit notes', () => { const message = 'Commit message\n\nCloses #8' - expect(getFixes(message, origin.github)).to.deep.equal([ + expect(getFixes(message, origins.github)).to.deep.equal([ { id: '8', href: 'https://github.com/user/repo/issues/8' } ]) }) it('parses multiple fixes', () => { const message = 'Commit message\n\nFixes #1, fix #2, resolved #3, closes #4' - expect(getFixes(message, origin.github)).to.deep.equal([ + expect(getFixes(message, origins.github)).to.deep.equal([ { id: '1', href: 'https://github.com/user/repo/issues/1' }, { id: '2', href: 'https://github.com/user/repo/issues/2' }, { id: '3', href: 'https://github.com/user/repo/issues/3' }, @@ -71,14 +50,14 @@ describe('getFixes', () => { it('parses fixes by issue URL', () => { const message = 'Commit message\n\nFixes https://github.com/user/repo/issues/1' - expect(getFixes(message, origin.github)).to.deep.equal([ + expect(getFixes(message, origins.github)).to.deep.equal([ { id: '1', href: 'https://github.com/user/repo/issues/1' } ]) }) it('parses external repo issues', () => { const message = 'Commit message\n\nFixes https://github.com/other-user/external-repo/issues/1' - expect(getFixes(message, origin.github)).to.deep.equal([ + expect(getFixes(message, origins.github)).to.deep.equal([ { id: '1', href: 'https://github.com/other-user/external-repo/issues/1' } ]) }) @@ -87,13 +66,13 @@ describe('getFixes', () => { describe('getMerge', () => { it('returns null on fail', () => { const message = 'Not a merge commit' - expect(getMerge(message, origin.github)).to.equal(null) + expect(getMerge(message, origins.github)).to.equal(null) }) describe('GitHub', () => { it('parses a merge', () => { const message = 'Merge pull request #3 from repo/branch\n\nPull request title' - expect(getMerge(message, origin.github)).to.deep.equal({ + expect(getMerge(message, origins.github)).to.deep.equal({ id: '3', message: 'Pull request title', href: 'https://github.com/user/repo/pull/3' @@ -102,7 +81,7 @@ describe('getMerge', () => { it('parses a squash merge', () => { const message = 'Update dependencies to enable Greenkeeper 🌴 (#10)\n\n* chore(package): update dependencies' - expect(getMerge(message, origin.github)).to.deep.equal({ + expect(getMerge(message, origins.github)).to.deep.equal({ id: '10', message: 'Update dependencies to enable Greenkeeper 🌴', href: 'https://github.com/user/repo/pull/10' @@ -111,14 +90,14 @@ describe('getMerge', () => { it('does not parse a not-quite squash merge', () => { const message = 'Update dependencies to enable Greenkeeper 🌴 (#10)\n\nSomething that isnt a squashed commit' - expect(getMerge(message, origin.github)).to.equal(null) + expect(getMerge(message, origins.github)).to.equal(null) }) }) describe('GitLab', () => { it('parses a merge', () => { const message = 'Merge branch \'branch\' into \'master\'\n\nMemoize GitLab logger to reduce open file descriptors\n\nCloses gitlab-ee#3664\n\nSee merge request !15007' - expect(getMerge(message, origin.gitlab)).to.deep.equal({ + expect(getMerge(message, origins.gitlab)).to.deep.equal({ id: '15007', message: 'Memoize GitLab logger to reduce open file descriptors', href: 'https://gitlab.com/user/repo/merge_requests/15007' @@ -129,7 +108,7 @@ describe('getMerge', () => { describe('BitBucket', () => { it('parses a merge', () => { const message = 'Merged in eshvedai/fix-schema-issue (pull request #4518)\n\nfix(component): re-export createSchema from editor-core\n\nApproved-by: Scott Sidwell ' - expect(getMerge(message, origin.bitbucket)).to.deep.equal({ + expect(getMerge(message, origins.bitbucket)).to.deep.equal({ id: '4518', message: 'fix(component): re-export createSchema from editor-core', href: 'https://bitbucket.org/user/repo/pull-requests/4518' diff --git a/test/data/origins.js b/test/data/origins.js new file mode 100644 index 00000000..0c2200ae --- /dev/null +++ b/test/data/origins.js @@ -0,0 +1,14 @@ +export default { + github: { + hostname: 'github.com', + url: 'https://github.com/user/repo' + }, + gitlab: { + hostname: 'gitlab.com', + url: 'https://gitlab.com/user/repo' + }, + bitbucket: { + hostname: 'bitbucket.org', + url: 'https://bitbucket.org/user/repo' + } +} diff --git a/test/origin.js b/test/origin.js index 42d09156..7ffae1eb 100644 --- a/test/origin.js +++ b/test/origin.js @@ -1,55 +1,41 @@ import { describe, it } from 'mocha' import { expect } from 'chai' +import origins from './data/origins' import { fetchOrigin, __Rewire__ as mock, __ResetDependency__ as unmock } from '../src/origin' -const origin = { - github: { - hostname: 'github.com', - url: 'https://github.com/user/repo' - }, - gitlab: { - hostname: 'gitlab.com', - url: 'https://gitlab.com/user/repo' - }, - bitbucket: { - hostname: 'bitbucket.org', - url: 'https://bitbucket.org/user/repo' - } -} - const TEST_DATA = [ { remote: 'https://github.com/user/repo', - expected: origin.github + expected: origins.github }, { remote: 'https://github.com:8080/user/repo', - expected: origin.github + expected: origins.github }, { remote: 'git@github.com:user/repo.git', - expected: origin.github + expected: origins.github }, { remote: 'https://gitlab.com/user/repo', - expected: origin.gitlab + expected: origins.gitlab }, { remote: 'git@gitlab.com:user/repo.git', - expected: origin.gitlab + expected: origins.gitlab }, { remote: 'https://bitbucket.org/user/repo', - expected: origin.bitbucket + expected: origins.bitbucket }, { remote: 'git@bitbucket.org:user/repo.git', - expected: origin.bitbucket + expected: origins.bitbucket } ] diff --git a/test/releases.js b/test/releases.js index 5a7e3cf4..1caba53c 100644 --- a/test/releases.js +++ b/test/releases.js @@ -1,22 +1,18 @@ import { describe, it } from 'mocha' import { expect } from 'chai' +import origins from './data/origins' import commits from './data/commits' import releases from './data/releases' import { parseReleases } from '../src/releases' -const origin = { - hostname: 'github.com', - url: 'https://github.com/user/repo' -} - describe('parseReleases', () => { it('parses releases', () => { - expect(parseReleases(commits, origin, null, false)).to.deep.equal(releases) + expect(parseReleases(commits, origins.github, null, false)).to.deep.equal(releases) }) it('supports a package version override', () => { - const result = parseReleases(commits, origin, 'v3.0.0', false) + const result = parseReleases(commits, origins.github, 'v3.0.0', false) expect(result).to.be.an('array') expect(result[0]).to.have.property('tag', 'v3.0.0') })