hubot-deploy
Version:
hubot script for GitHub Flow
65 lines (55 loc) • 2.7 kB
text/coffeescript
Fs = require "fs"
Path = require "path"
srcDir = Path.join(__dirname, "..", "..", "..", "src")
GitHubEvents = require(Path.join(srcDir, "github", "webhooks"))
PullRequest = GitHubEvents.PullRequest
describe "GitHubEvents.PullRequest fixtures", () ->
pullRequestFor = (fixtureName) ->
fixtureData = Path.join __dirname, "..", "..", "fixtures", "pull_requests", "pull_request_#{fixtureName}.json"
fixturePayload = JSON.parse(Fs.readFileSync(fixtureData))
status = new PullRequest "uuid", fixturePayload
describe "opened", () ->
it "knows the state, number, and repo", () ->
pullRequest = pullRequestFor("opened")
assert.equal 32, pullRequest.number
assert.equal "open", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
describe "merged", () ->
it "knows the state, number, and repo", () ->
pullRequest = pullRequestFor("merged")
assert.equal 32, pullRequest.number
assert.equal "closed", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
describe "closed", () ->
it "knows the state, number, and repo", () ->
pullRequest = pullRequestFor("closed")
assert.equal 32, pullRequest.number
assert.equal "closed", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
describe "reopened", () ->
it "knows the state, number, and repo", () ->
pullRequest = pullRequestFor("reopened")
assert.equal 32, pullRequest.number
assert.equal "open", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
describe "synchronize", () ->
it "knows the state, number, and repo", () ->
pullRequest = pullRequestFor("reopened")
assert.equal 32, pullRequest.number
assert.equal "open", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
describe "toSimpleString", () ->
it "works", () ->
pullRequest = pullRequestFor("reopened")
assert.equal 32, pullRequest.number
assert.equal "open", pullRequest.state
assert.equal "hubot-deploy", pullRequest.name
assert.equal "atmos/hubot-deploy", pullRequest.repoName
expectedOutput = "hubot-deploy: atmos reopened pull request #32: webhooks-events-generator " +
"https://github.com/atmos/hubot-deploy/pull/32/files"
assert.equal pullRequest.toSimpleString(), expectedOutput