From 7bf6fb839be8753ffbdec3680afe5f12bd6f73eb Mon Sep 17 00:00:00 2001 From: "Ryo Yoneyama (@yulii)" Date: Fri, 25 Aug 2017 01:27:02 +0900 Subject: [PATCH] Refactoring method --- lib/circleci.coffee | 9 ++------- test/lib/circleci.coffee | 31 +++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/lib/circleci.coffee b/lib/circleci.coffee index 14925ec..56f36ef 100644 --- a/lib/circleci.coffee +++ b/lib/circleci.coffee @@ -10,12 +10,10 @@ class CircleCI _assert.call @ tokenEnvName: -> - return unless @project? _tokenEnvName = "CIRCLE_TOKEN_#{@project.replace(/[-.]/gi, '_').toUpperCase()}" unless _tokenEnvName? return _tokenEnvName tokenEnvValue: -> - return unless @tokenEnvName?() _tokenEnvValue = process.env[@tokenEnvName()] unless _tokenEnvValue? return _tokenEnvValue @@ -46,11 +44,8 @@ class CircleCI robot.send { room: @destination }, "Request fail :( `#{response.statusCode}: #{response.statusMessage}`" return - try - result = JSON.parse(body) - robot.send { room: @destination }, "Created a new build! #{result.build_url}" - catch error - console.error(error.message) + result = JSON.parse(body) + robot.send { room: @destination }, "Created a new build! #{result.build_url}" _assert = -> throw new Error('`owner` is required argument') unless @owner? diff --git a/test/lib/circleci.coffee b/test/lib/circleci.coffee index 7ecb0ab..be5bc77 100644 --- a/test/lib/circleci.coffee +++ b/test/lib/circleci.coffee @@ -3,13 +3,6 @@ expect = require('chai').expect CircleCI = require(source) describe 'CircleCI', -> - _env = null - - beforeEach -> - _env = JSON.parse(JSON.stringify(process.env)) - - afterEach -> - process.env = _env describe '#new', -> it 'return an instance with default values', () -> @@ -22,6 +15,7 @@ describe 'CircleCI', -> expect(ci).to.have.property('branch', 'master') expect(ci).to.have.property('job', 'test') expect(ci).to.have.property('token', 'circle-token-mocha') + delete process.env.CIRCLE_TOKEN_MOCHA it 'return an instance', () -> ci = new CircleCI(vcsType: 'vcs', owner: 'yulii', project: 'mocha', branch: 'test/lib', job: 'test', token: 'circle') @@ -40,16 +34,37 @@ describe 'CircleCI', -> expect(-> new CircleCI(owner: 'yulii', project: 'mocha', job: 'test' )).to.throw(Error, /Access token not found!/) describe '#tokenEnvName', -> + beforeEach -> + process.env.CIRCLE_TOKEN_PROJECT_REPOSITORY_NAME = 'circle-project-token' + + afterEach -> + delete process.env.CIRCLE_TOKEN_PROJECT_REPOSITORY_NAME + it 'return environment variable name', () -> ci = new CircleCI( owner: 'yulii' job: 'test' project: 'project.repository-name' - token: 'circle-token' ) expect(ci.tokenEnvName()).to.equal('CIRCLE_TOKEN_PROJECT_REPOSITORY_NAME') + describe '#tokenEnvValue', -> + beforeEach -> + process.env.CIRCLE_TOKEN_PROJECT_REPOSITORY_NAME = 'circle-project-token' + + afterEach -> + delete process.env.CIRCLE_TOKEN_PROJECT_REPOSITORY_NAME + + it 'return environment variable', () -> + ci = new CircleCI( + owner: 'yulii' + job: 'test' + project: 'project.repository-name' + ) + + expect(ci.tokenEnvValue()).to.equal('circle-project-token') + describe '#endpoint', -> it 'return endpoint url in CircleCI API', () -> ci = new CircleCI(