setup-php/node_modules/codecov/test/services/circle.test.js
2019-09-20 21:54:46 +05:30

64 lines
2.0 KiB
JavaScript

var circle = require('../../lib/services/circle')
describe('Circle CI Provider', function() {
it('can detect circle', function() {
process.env.CIRCLECI = 'true'
expect(circle.detect()).toBe(true)
})
it('can get circle env info (CircleCI 1.0)', function() {
process.env.CIRCLECI = 'true'
process.env.CIRCLE_BUILD_NUM = '1234'
process.env.CIRCLE_SHA1 = '5678'
process.env.CIRCLE_BRANCH = 'master'
process.env.CIRCLE_NODE_INDEX = '1'
process.env.CIRCLE_PR_NUMBER = 'blah'
process.env.CIRCLE_PROJECT_USERNAME = 'owner'
process.env.CIRCLE_PROJECT_REPONAME = 'repo'
expect(circle.configuration()).toEqual({
service: 'circleci',
commit: '5678',
build: '1234.1',
job: '1234.1',
branch: 'master',
pr: 'blah',
slug: 'owner/repo',
})
})
it('can get circle env info (CircleCI 2.0)', function() {
process.env.CIRCLECI = 'true'
process.env.CIRCLE_BRANCH = 'master'
process.env.CIRCLE_BUILD_NUM = '1234'
process.env.CIRCLE_SHA1 = 'abcd'
process.env.CIRCLE_NODE_INDEX = '1'
process.env.CIRCLE_BUILD_URL = 'https://circleci.com/gh/owner/repo/1234'
process.env.CIRCLE_COMPARE_URL =
'https://github.com/owner/repo/2408ca9...3c36cfa'
process.env.CIRCLE_NODE_INDEX = '1'
process.env.CIRCLE_REPOSITORY_URL = 'git@github.com:owner/repo.git'
delete process.env.CIRCLE_PR_NUMBER
delete process.env.CIRCLE_PROJECT_USERNAME
delete process.env.CIRCLE_PROJECT_REPONAME
expect(circle.configuration()).toEqual({
service: 'circleci',
commit: 'abcd',
build: '1234.1',
job: '1234.1',
branch: 'master',
pr: undefined,
slug: 'owner/repo',
})
})
it('throws if repo slug cannot be detected', function() {
delete process.env.CIRCLE_PR_NUMBER
delete process.env.CIRCLE_PROJECT_USERNAME
delete process.env.CIRCLE_PROJECT_REPONAME
delete process.env.CIRCLE_REPOSITORY_URL
expect(function() {
circle.configuration()
}).toThrow()
})
})