UNPKG

hubot-github-event-announcer

Version:
144 lines (109 loc) 3.6 kB
faker = require 'faker' formatter = require '../../src/formatters/pull-request' {githubRepo} = require '../helpers' describe 'Pull Request Formatter', -> [event, label, name, number, otherName, repo, title, url] = [] beforeEach -> label = faker.lorem.words(1) name = faker.internet.userName() number = faker.helpers.randomNumber() otherName = faker.internet.userName() repo = githubRepo() title = faker.lorem.sentence() url = faker.internet.avatar() event = type: 'pull_request' data: action: 'opened' number: number pull_request: title: title html_url: url repository: full_name: repo sender: login: name it 'formats an open pull request event', -> event.data.action = 'opened' expect(formatter(event)).toEqual """ #{name} opened Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats a close without merging pull request event', -> event.data.action = 'closed' event.data.pull_request.merged = false expect(formatter(event)).toEqual """ #{name} closed Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats a merge pull request event', -> event.data.action = 'closed' event.data.pull_request.merged = true expect(formatter(event)).toEqual """ #{name} merged Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats a reopen pull request event', -> event.data.action = 'reopened' expect(formatter(event)).toEqual """ #{name} reopened Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats an assign pull request event', -> event.data.action = 'assigned' event.data.assignee = login: otherName expect(formatter(event)).toEqual """ #{name} assigned #{otherName} to Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats an assign pull request event when the assigner and assignee are the same person', -> event.data.action = 'assigned' event.data.assignee = login: name expect(formatter(event)).toEqual """ #{name} assigned themselves to Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats an unassign pull request event', -> event.data.action = 'unassigned' event.data.assignee = login: otherName expect(formatter(event)).toEqual """ #{name} unassigned #{otherName} to Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats an unassign pull request event when the assigner and assignee are the same person', -> event.data.action = 'unassigned' event.data.assignee = login: name expect(formatter(event)).toEqual """ #{name} unassigned themselves to Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats a label pull request event', -> event.data.action = 'labeled' event.data.label = name: label expect(formatter(event)).toEqual """ #{name} added the label #{label} to Pull Request ##{number} on #{repo} Title: #{title} #{url} """ it 'formats an unlabel pull request event', -> event.data.action = 'unlabeled' event.data.label = name: label expect(formatter(event)).toEqual """ #{name} removed the label #{label} to Pull Request ##{number} on #{repo} Title: #{title} #{url} """