lita-github_pr_list 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10c4e62b1eeab49ac40512da9403bb11946227e3
4
- data.tar.gz: 5001ebf7fbf1e89a909596fd436c9c18052703a8
3
+ metadata.gz: 538889f825d06f30a87200c3d0d500ba7efb3ed8
4
+ data.tar.gz: b0aca30a6d3c4927d08f614f2fc890d36b8fada5
5
5
  SHA512:
6
- metadata.gz: 9e27625abe54b25ebf1db2058adfd10a711590f32c448cec5fc9cdfcaf51a6b5fe3985c0eaf6e458e753887712f15fd53d4492e4c9f90b494578e742a9bff635
7
- data.tar.gz: e000305831859e03ae47166921a48ef29c06b33b30f5377e5dcf6f6f370aa72c9a25c1538c105e33df702d9353f5af8fd9cad6d30db3020c46c290f4265de007
6
+ metadata.gz: 120c98b331ef3f20e8eabb92c6023149fc44e6e49a6ac4682c84da11ee63ab744065762507de71c9492237911cea4f2eaf9bcbc5e4a7020762ef7b558e9911f0
7
+ data.tar.gz: 207c0582466140f972f62d3513e6afa3216a03c51123ca31937a8ab89ea5e086d6481a6bacbbe2f0803984e49a4b641ecaaed0892872d588768ec446258f9ec3
@@ -1,8 +1,8 @@
1
1
  module Lita
2
2
  module GithubPrList
3
3
  class CommentHook
4
- attr_accessor :request, :response, :payload, :commenter, :issue_owner, :issue_title, :issue_body, :status,
5
- :issue_html_url, :redis, :github_organization, :github_client
4
+ attr_accessor :request, :response, :payload, :commenter, :issue_owner, :issue_title, :issue_body,
5
+ :status, :comment_body, :issue_html_url, :redis, :github_organization, :github_client
6
6
 
7
7
  def initialize(params = {})
8
8
  self.response = params.fetch(:response, nil)
@@ -20,21 +20,22 @@ module Lita
20
20
  self.issue_owner = redis.get("alias:#{payload["issue"]["user"]["login"]}") || payload["issue"]["user"]["login"]
21
21
  self.issue_title = payload["issue"]["title"]
22
22
  self.issue_html_url = payload["issue"]["html_url"]
23
- self.issue_body = payload["comment"]["body"]
23
+ self.issue_body = payload["issue"]["body"]
24
+ self.comment_body = payload["comment"]["body"]
24
25
  end
25
26
 
26
27
  def message
27
28
  self.status = repo_status(payload["repository"]["full_name"], payload["issue"])
28
- if !status[:last_comment].empty?
29
- if status[:last_comment].include? Lita::GithubPrList::Status::REVIEW_EMOJI
29
+ if !comment_body.empty?
30
+ if comment_body.match Lita::GithubPrList::Status::REVIEW_REGEX
30
31
  "@#{commenter} is currently reviewing: #{issue_title}. #{issue_html_url}, @#{commenter}++"
31
- elsif status[:last_comment].include? Lita::GithubPrList::Status::FAIL_EMOJI
32
+ elsif comment_body.match Lita::GithubPrList::Status::FAIL_REGEX
32
33
  "@#{issue_owner} your pull request: #{issue_title} has failed. #{issue_html_url}"
33
- elsif status[:last_comment].include? Lita::GithubPrList::Status::FIXED_EMOJI
34
+ elsif comment_body.match Lita::GithubPrList::Status::FIXED_REGEX
34
35
  "#{issue_title} has been fixed: #{issue_html_url}"
35
- elsif status[:list].include? Lita::GithubPrList::Status::PASS_DEV_EMOJI
36
+ elsif comment_body.match Lita::GithubPrList::Status::PASS_DEV_REGEX
36
37
  pass_dev?
37
- elsif status[:list].include? Lita::GithubPrList::Status::PASS_DESIGN_EMOJI
38
+ elsif comment_body.match Lita::GithubPrList::Status::PASS_DESIGN_REGEX
38
39
  pass_design?
39
40
  end
40
41
  else
@@ -44,20 +45,16 @@ module Lita
44
45
 
45
46
  private
46
47
  def pass_dev?
47
- if self.status[:list].include? Lita::GithubPrList::Status::PASS_DESIGN_EMOJI
48
- "@#{issue_owner} your pull request: #{issue_title} has passed. #{issue_html_url}"
49
- else
50
- resp = "@#{issue_owner} your pull request: #{issue_title} has passed DEV REVIEW. #{issue_html_url}"
51
- if self.status[:list].include?(Lita::GithubPrList::Status::DESIGN_REVIEW_REQUIRED) && !status[:list].include?(Lita::GithubPrList::Status::PASS_DESIGN_EMOJI)
52
- resp += " - You still require DESIGN REVIEW"
53
- end
54
- resp
48
+ resp = "@#{issue_owner} your pull request: #{issue_title} has passed DEV REVIEW. #{issue_html_url}"
49
+ if issue_body.match(Lita::GithubPrList::Status::DESIGN_REVIEW_REGEX) && !status[:list].include?(Lita::GithubPrList::Status::PASS_DESIGN_EMOJI)
50
+ resp += " - You still require DESIGN REVIEW"
55
51
  end
52
+ resp
56
53
  end
57
54
 
58
55
  def pass_design?
59
56
  resp = "@#{issue_owner} your pull request: #{issue_title} has passed DESIGN. #{issue_html_url}"
60
- if self.status[:list].include?(Lita::GithubPrList::Status::DEV_REVIEW_REQUIRED) && !status[:list].match(Lita::GithubPrList::Status::PASS_DEV_EMOJI)
57
+ if issue_body.match(Lita::GithubPrList::Status::DEV_REVIEW_REGEX) && !status[:list].include?(Lita::GithubPrList::Status::PASS_DEV_EMOJI)
61
58
  resp += " - You still require DEV REVIEW"
62
59
  end
63
60
  resp
@@ -1,5 +1,5 @@
1
1
  module Lita
2
2
  module GithubPrList
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "created_at": "2014-07-01T17:21:15Z",
72
72
  "updated_at": "2014-07-01T17:21:15Z",
73
- "body": "Passed :elephant: :elephant: :elephant:"
73
+ "body": "Passed :art: :art: :art:"
74
74
  },
75
75
  "repository": {
76
76
  "id": 20000106,
@@ -42,7 +42,7 @@
42
42
  "created_at": "2014-07-01T17:21:15Z",
43
43
  "updated_at": "2014-07-01T17:21:15Z",
44
44
  "closed_at": null,
45
- "body": "It looks like you accidently spelled 'commit' with two 't's."
45
+ "body": "It looks like you accidently spelled 'commit' with two 't's. :elephant: :art:"
46
46
  },
47
47
  "comment": {
48
48
  "url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments/47684681",
@@ -42,7 +42,7 @@
42
42
  "created_at": "2014-07-01T17:21:15Z",
43
43
  "updated_at": "2014-07-01T17:21:15Z",
44
44
  "closed_at": null,
45
- "body": "It looks like you accidently spelled 'commit' with two 't's."
45
+ "body": "It looks like you accidently spelled 'commit' with two 't's. :elephant: :art:"
46
46
  },
47
47
  "comment": {
48
48
  "url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments/47684681",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "created_at": "2014-07-01T17:21:15Z",
72
72
  "updated_at": "2014-07-01T17:21:15Z",
73
- "body": "Passed DESIGN :art: :art: :art:"
73
+ "body": "Passed DESIGN :art::art::art:"
74
74
  },
75
75
  "repository": {
76
76
  "id": 20000106,
@@ -42,7 +42,7 @@
42
42
  "created_at": "2014-07-01T17:21:15Z",
43
43
  "updated_at": "2014-07-01T17:21:15Z",
44
44
  "closed_at": null,
45
- "body": "It looks like you accidently spelled 'commit' with two 't's."
45
+ "body": "It looks like you accidently spelled 'commit' with two 't's. :elephant: :art:"
46
46
  },
47
47
  "comment": {
48
48
  "url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments/47684681",
@@ -104,28 +104,29 @@ describe Lita::Handlers::GithubPrList, lita_handler: true do
104
104
  github_handler = Lita::Handlers::GithubPrList.new robot
105
105
  github_handler.comment_hook(request, response)
106
106
 
107
- expect(replies.last).to include("@mcwaffle1234 your pull request: Spelling error in the README file has passed."\
107
+ expect(replies.last).to include("@mcwaffle1234 your pull request: Spelling error in the README file has passed DESIGN."\
108
108
  " https://github.com/baxterthehacker/public-repo/issues/47")
109
109
  expect(replies.last).to_not include(" - You still require DEV REVIEW")
110
110
  end
111
+
111
112
  context "Design/Dev passed and book is used" do
112
113
  it "returns - currently reviewing" do
113
114
  expect_any_instance_of(Octokit::Client).to receive(:issue_comments).and_return(issue_comments_passed_both_book_after)
114
115
 
115
- request = Rack::Request.new("rack.input" => StringIO.new(issue_comment_event_passed_design))
116
+ request = Rack::Request.new("rack.input" => StringIO.new(issue_comment_event_in_review))
116
117
  response = Rack::Response.new(['Hello'], 200, { 'Content-Type' => 'text/plain' })
117
118
 
118
119
  github_handler = Lita::Handlers::GithubPrList.new robot
119
120
  github_handler.comment_hook(request, response)
120
121
 
121
122
  expect(replies.last).to include("@baxterthehacker is currently reviewing: Spelling error in the README file."\
122
- " https://github.com/baxterthehacker/public-repo/issues/47")
123
+ " https://github.com/baxterthehacker/public-repo/issues/47,"\
124
+ " @baxterthehacker++")
123
125
  expect(replies.last).to_not include("@mcwaffle1234 your pull request: Spelling error in the README file has passed."\
124
126
  " https://github.com/baxterthehacker/public-repo/issues/47")
125
127
  end
126
128
  end
127
129
 
128
-
129
130
  it "mentions the github user in the room and tell them they failed" do
130
131
  expect_any_instance_of(Octokit::Client).to receive(:issue_comments).and_return(issue_comments_failed)
131
132
 
@@ -179,18 +180,6 @@ describe Lita::Handlers::GithubPrList, lita_handler: true do
179
180
  " https://github.com/baxterthehacker/public-repo/issues/47")
180
181
  end
181
182
 
182
- it "it says nothing" do
183
- expect_any_instance_of(Octokit::Client).to receive(:issue_comments).and_return(issue_comments_trivial)
184
-
185
- request = Rack::Request.new("rack.input" => StringIO.new(issue_comment_event_passed_design_context))
186
- response = Rack::Response.new(['Hello'], 200, { 'Content-Type' => 'text/plain' })
187
-
188
- github_handler = Lita::Handlers::GithubPrList.new robot
189
- github_handler.comment_hook(request, response)
190
-
191
- expect(replies.last).to eq(nil)
192
- end
193
-
194
183
  context "starting out with an initial elephant" do
195
184
  it "mentions the github user in the room and tell them they passed" do
196
185
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-github_pr_list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael van den Beuken
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2017-07-12 00:00:00.000000000 Z
18
+ date: 2017-07-14 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: lita
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  version: '0'
231
231
  requirements: []
232
232
  rubyforge_project:
233
- rubygems_version: 2.2.2
233
+ rubygems_version: 2.5.1
234
234
  signing_key:
235
235
  specification_version: 4
236
236
  summary: List open pull requests for an organization.