lita-reviewme 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/lib/lita/handlers/reviewme.rb +8 -0
- data/lita-reviewme.gemspec +1 -1
- data/spec/lita/handlers/reviewme_spec.rb +30 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 296d9fe4b696d9c8be819c918e3a12956e0011c1
|
4
|
+
data.tar.gz: 8fc85b368d684949d10d965fb201c37a5cc2442c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26d277331b7d6e75a962888f799298a5ff4d94aa5dcab135c014bed979a8fafd0f1c67aa166cae576f21a9e0e60899694b8f8d971e78afd26b1cb62e872a36ab
|
7
|
+
data.tar.gz: a23072dac424063faa19fbc2f7a796718515fef97b4528199fa4afa1cdd26376bb2d0f6aaa86126848a7f84ca45bbacc6d1738fc6f87d7ac367f34328a035e97
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
5
5
|
## [Unreleased]
|
6
6
|
|
7
|
+
## [0.2.0] - 2016-01-29
|
8
|
+
|
9
|
+
### Added
|
10
|
+
- Prevent assignment to review your own PR (#36)
|
11
|
+
|
7
12
|
### Changed
|
8
13
|
- Respond publicly w.r.t. private reply to `reviewers`.
|
9
14
|
- Include room name in private reply to `reviewers`.
|
@@ -19,6 +24,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
19
24
|
### Added
|
20
25
|
- Start versioning gem.
|
21
26
|
|
22
|
-
[Unreleased]: https://github.com/iamvery/lita-reviewme/compare/v0.
|
27
|
+
[Unreleased]: https://github.com/iamvery/lita-reviewme/compare/v0.2.0...HEAD
|
28
|
+
[0.2.0]: https://github.com/iamvery/lita-reviewme/compare/v0.1.0...v0.2.0
|
23
29
|
[0.1.0]: https://github.com/iamvery/lita-reviewme/compare/v0.0.1...v0.1.0
|
24
30
|
[0.0.1]: https://github.com/iamvery/lita-reviewme/compare/a02548...v0.0.1
|
@@ -85,7 +85,15 @@ module Lita
|
|
85
85
|
def comment_on_github(response, room: get_room(response))
|
86
86
|
repo = response.match_data[:repo]
|
87
87
|
id = response.match_data[:id]
|
88
|
+
|
88
89
|
reviewer = next_reviewer(room)
|
90
|
+
begin
|
91
|
+
pull_request = github_client.pull_request(repo, id)
|
92
|
+
owner = pull_request.user.login
|
93
|
+
reviewer = next_reviewer(room) if owner == reviewer
|
94
|
+
rescue Octokit::Error
|
95
|
+
response.reply("Unable to check who issued the pull request. Sorry if you end up being assigned your own PR!")
|
96
|
+
end
|
89
97
|
comment = github_comment(reviewer)
|
90
98
|
|
91
99
|
begin
|
data/lita-reviewme.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "spec_helper"
|
2
|
+
require "ostruct"
|
2
3
|
|
3
4
|
describe Lita::Handlers::Reviewme, lita_handler: true do
|
4
5
|
it { is_expected.to route_command("add iamvery to reviews").to :add_reviewer }
|
@@ -52,17 +53,41 @@ describe Lita::Handlers::Reviewme, lita_handler: true do
|
|
52
53
|
end
|
53
54
|
|
54
55
|
describe "#comment_on_github" do
|
55
|
-
|
56
|
-
|
57
|
-
|
56
|
+
let(:repo) { "gh_user/repo" }
|
57
|
+
let(:id) { "123" }
|
58
|
+
let(:pr) do
|
59
|
+
OpenStruct.new({ user: OpenStruct.new({ login: "pr-owner" }) })
|
60
|
+
end
|
61
|
+
|
62
|
+
before do
|
63
|
+
# Prevent hitting the network for PR info.
|
64
|
+
allow_any_instance_of(Octokit::Client).to receive(:pull_request)
|
65
|
+
.and_return(pr)
|
66
|
+
end
|
58
67
|
|
68
|
+
it "posts comment on github" do
|
59
69
|
expect_any_instance_of(Octokit::Client).to receive(:add_comment)
|
60
70
|
.with(repo, id, ":eyes: @iamvery")
|
61
71
|
|
62
72
|
send_command("add iamvery to reviews")
|
63
73
|
send_command("review https://github.com/#{repo}/pull/#{id}")
|
64
74
|
|
65
|
-
expect(
|
75
|
+
expect(reply).to eq("iamvery should be on it...")
|
76
|
+
end
|
77
|
+
|
78
|
+
it "skips assigning to the GitHub PR owner" do
|
79
|
+
expect_any_instance_of(Octokit::Client).to receive(:pull_request)
|
80
|
+
.with(repo, id).and_return(pr)
|
81
|
+
|
82
|
+
expected_reviewer = 'NOT THE PR OWNER'
|
83
|
+
expect_any_instance_of(Octokit::Client).to receive(:add_comment)
|
84
|
+
.with(repo, id, ":eyes: @#{expected_reviewer}")
|
85
|
+
|
86
|
+
send_command("add #{pr.user.login} to reviews")
|
87
|
+
send_command("add #{expected_reviewer} to reviews")
|
88
|
+
send_command("review https://github.com/#{repo}/pull/#{id}")
|
89
|
+
|
90
|
+
expect(reply).to eq("#{expected_reviewer} should be on it...")
|
66
91
|
end
|
67
92
|
|
68
93
|
it "handles errors gracefully" do
|
@@ -74,7 +99,7 @@ describe Lita::Handlers::Reviewme, lita_handler: true do
|
|
74
99
|
send_command("add iamvery to reviews")
|
75
100
|
send_command("review #{url}")
|
76
101
|
|
77
|
-
expect(
|
102
|
+
expect(reply).to eq("I couldn't post a comment. (Are the permissions right?) iamvery: :eyes: #{url}")
|
78
103
|
end
|
79
104
|
end
|
80
105
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-reviewme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Hayes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|