lita-github 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/lib/lita-github/version.rb +1 -1
- data/lib/lita/handlers/github.rb +6 -4
- data/lib/lita/handlers/github_repo.rb +56 -1
- data/locales/en.yml +8 -1
- data/spec/unit/lita/handlers/github_repo_spec.rb +167 -32
- data/spec/unit/lita/handlers/github_spec.rb +8 -0
- 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: 0edd68ade3e5fc642ccb5e606a94b09d40e08d8f
|
4
|
+
data.tar.gz: 8461b46c716ea556aa2c7cf50db4f91c994d91a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4842ed8a61059de7b651561966c2f074f223c1cc1489ecd92f379dad78ac6c19e5d3d5d7eb727d5254eb4125450e486847aa5a144c9520bff9cdf287ae1aaa01
|
7
|
+
data.tar.gz: d3f24df978afe5d70bd924c8c6165c391b225d55af099c684c06549d3bb615fea9dc73ebd0fe668cfb5b3c0e5ea8e7854b4079c96ec8639968dcec995e73f4e6
|
data/README.md
CHANGED
@@ -63,6 +63,10 @@ Here is the current functionality:
|
|
63
63
|
* adds the team to the repo -- requires confirmation and enabling via config option (`repo_team_add_enabled = true`)
|
64
64
|
* `!gh repo team rm <TEAM_ID|TEAM_SLUG> PagerDuty/lita-github`
|
65
65
|
* removes the team to the repo -- requires confirmation and enabling via config option (`repo_team_rm_enabled = true`)
|
66
|
+
* `!gh repo update description PagerDuty/lita-github The new lita-github description!`
|
67
|
+
* update the description of the repo, can be disabled with: `repo_update_description_enabled = false`
|
68
|
+
* `!gh repo update homepage lita-github https://github.com/PagerDuty/lita-github`
|
69
|
+
* update the homepage of the repo, can be disabled with: `repo_update_homepage_enabled = false`
|
66
70
|
|
67
71
|
### Github PR Handler
|
68
72
|
* `!gh pr info PagerDuty/lita-github #42`
|
data/lib/lita-github/version.rb
CHANGED
data/lib/lita/handlers/github.rb
CHANGED
@@ -70,10 +70,12 @@ module Lita
|
|
70
70
|
config.totp_secret = nil
|
71
71
|
|
72
72
|
# Lita::Handlers::GithubRepo
|
73
|
-
config.repo_create_enabled
|
74
|
-
config.repo_delete_enabled
|
75
|
-
config.repo_team_add_enabled
|
76
|
-
config.repo_team_rm_enabled
|
73
|
+
config.repo_create_enabled = true
|
74
|
+
config.repo_delete_enabled = false
|
75
|
+
config.repo_team_add_enabled = false
|
76
|
+
config.repo_team_rm_enabled = false
|
77
|
+
config.repo_update_description_enabled = true
|
78
|
+
config.repo_update_homepage_enabled = true
|
77
79
|
|
78
80
|
# Lita::Handlers::GithubPR
|
79
81
|
config.pr_merge_enabled = true
|
@@ -14,6 +14,7 @@
|
|
14
14
|
# See the License for the specific language governing permissions and
|
15
15
|
# limitations under the License.
|
16
16
|
|
17
|
+
require 'uri'
|
17
18
|
require 'lita-github/r'
|
18
19
|
require 'lita-github/config'
|
19
20
|
require 'lita-github/octo'
|
@@ -84,6 +85,14 @@ module Lita
|
|
84
85
|
'gh repo team rm 42 PagerDuty/lita-test' => 'remove a team using ID to your repo'
|
85
86
|
}
|
86
87
|
)
|
88
|
+
|
89
|
+
route(
|
90
|
+
/#{LitaGithub::R::A_REG}repo\s+update\s+?(?<field>description|homepage)\s+?#{LitaGithub::R::REPO_REGEX}\s+?(?<content>.*)$/,
|
91
|
+
:repo_update_router, command: true, confirmation: true,
|
92
|
+
help: {
|
93
|
+
'gh repo description PagerDuty/lita-github' => 'get the repo description'
|
94
|
+
}
|
95
|
+
)
|
87
96
|
# rubocop:enable Metrics/LineLength
|
88
97
|
|
89
98
|
def repo_create(response)
|
@@ -150,10 +159,15 @@ module Lita
|
|
150
159
|
end
|
151
160
|
|
152
161
|
def repo_team_router(response)
|
153
|
-
action = response.match_data['action']
|
162
|
+
action = response.match_data['action'].strip
|
154
163
|
response.reply(send("repo_team_#{action}".to_sym, response))
|
155
164
|
end
|
156
165
|
|
166
|
+
def repo_update_router(response)
|
167
|
+
field = response.match_data['field'].strip
|
168
|
+
response.reply(send("repo_update_#{field}".to_sym, response))
|
169
|
+
end
|
170
|
+
|
157
171
|
private
|
158
172
|
|
159
173
|
def repo_team_add(response)
|
@@ -190,6 +204,47 @@ module Lita
|
|
190
204
|
remove_team_from_repo(full_name, team)
|
191
205
|
end
|
192
206
|
|
207
|
+
def repo_update_description(response)
|
208
|
+
return t('method_disabled') if func_disabled?(__method__)
|
209
|
+
md = response.match_data
|
210
|
+
org, repo = repo_match(md)
|
211
|
+
full_name = rpo(org, repo)
|
212
|
+
|
213
|
+
return t('not_found', org: org, repo: repo) unless repo?(full_name)
|
214
|
+
|
215
|
+
content = md['content'].strip
|
216
|
+
|
217
|
+
begin
|
218
|
+
resp = octo.edit_repository(full_name, description: content)
|
219
|
+
rescue StandardError
|
220
|
+
return t('repo_update_description.boom', repo: full_name)
|
221
|
+
end
|
222
|
+
|
223
|
+
t('repo_update_description.updated', repo: full_name, desc: resp[:description])
|
224
|
+
end
|
225
|
+
|
226
|
+
def repo_update_homepage(response)
|
227
|
+
return t('method_disabled') if func_disabled?(__method__)
|
228
|
+
md = response.match_data
|
229
|
+
org, repo = repo_match(md)
|
230
|
+
full_name = rpo(org, repo)
|
231
|
+
|
232
|
+
return t('not_found', org: org, repo: repo) unless repo?(full_name)
|
233
|
+
|
234
|
+
regexp = URI::DEFAULT_PARSER.regexp[:ABS_URI]
|
235
|
+
content = md['content'].strip
|
236
|
+
|
237
|
+
return t('repo_update_homepage.invalid_url', url: content) unless regexp.match(content)
|
238
|
+
|
239
|
+
begin
|
240
|
+
resp = octo.edit_repository(full_name, homepage: content)
|
241
|
+
rescue StandardError
|
242
|
+
return t('repo_update_homepage.boom', repo: full_name)
|
243
|
+
end
|
244
|
+
|
245
|
+
t('repo_update_homepage.updated', repo: full_name, url: resp[:homepage])
|
246
|
+
end
|
247
|
+
|
193
248
|
def command_opts(cmd)
|
194
249
|
o = {}
|
195
250
|
cmd.scan(LitaGithub::R::OPT_REGEX).flatten.compact.each do |opt|
|
data/locales/en.yml
CHANGED
@@ -11,7 +11,7 @@ en:
|
|
11
11
|
totp: "%{token}"
|
12
12
|
github_repo:
|
13
13
|
method_disabled: "Sorry, this function has either been disabled or not enabled in the config"
|
14
|
-
not_found: "That repo (%{org}/%{repo})
|
14
|
+
not_found: "That repo (%{org}/%{repo}) was not found"
|
15
15
|
team_not_found: "Unable to match any teams based on: %{team}"
|
16
16
|
repo_create:
|
17
17
|
pass: "Created %{org}/%{repo}: %{repo_url}"
|
@@ -34,6 +34,13 @@ en:
|
|
34
34
|
pass: "Removed the '%{team}' team from %{repo}"
|
35
35
|
fail: "Something went wrong trying to remove the '%{team}' team from %{repo}"
|
36
36
|
exists: "The '%{team}' team is not a member of %{repo}"
|
37
|
+
repo_update_description:
|
38
|
+
updated: "The description for %{repo} has been updated to: '%{desc}'"
|
39
|
+
boom: "An uncaught exception was hit while trying to update the description of %{repo}. Is GitHub having issues?"
|
40
|
+
repo_update_homepage:
|
41
|
+
updated: "The homepage for %{repo} has been updated to: '%{url}'"
|
42
|
+
invalid_url: "The URL provided is not valid: '%{url}'"
|
43
|
+
boom: "An uncaught exception was hit while trying to update the homepage of %{repo}. Is GitHub having issues?"
|
37
44
|
github_pr:
|
38
45
|
method_disabled: "Sorry, this function has either been disabled or not enabled in the config"
|
39
46
|
exception: "An unexpected exception was hit during the GitHub API operation. Please make sure all arguments are proper and try again, or try checking the GitHub status (gh status)"
|
@@ -56,6 +56,20 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
56
56
|
it { routes_command('gh repo team rm 42 lita-test').to(:repo_team_router) }
|
57
57
|
it { routes_command('gh repo team rm 42 to lita-test').to(:repo_team_router) }
|
58
58
|
|
59
|
+
# repo_update_router routing
|
60
|
+
it do
|
61
|
+
routes_command(
|
62
|
+
'gh repo update homepage GrapeDuty/lita-test https://github.com/GrapeDuty/lita-test'
|
63
|
+
).to(:repo_update_router)
|
64
|
+
end
|
65
|
+
it do
|
66
|
+
routes_command(
|
67
|
+
'gh repo update homepage lita-test https://github.com/GrapeDuty/lita-test'
|
68
|
+
).to(:repo_update_router)
|
69
|
+
end
|
70
|
+
it { routes_command('gh repo update description GrapeDuty/lita-test Some description here').to(:repo_update_router) }
|
71
|
+
it { routes_command('gh repo update description lita-test Some description here').to(:repo_update_router) }
|
72
|
+
|
59
73
|
let(:github_repo) { Lita::Handlers::GithubRepo.new('robot') }
|
60
74
|
let(:github_org) { 'GrapeDuty' }
|
61
75
|
let(:disabled_reply) { 'Sorry, this function has either been disabled or not enabled in the config' }
|
@@ -429,32 +443,30 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
429
443
|
describe '.repo_team_add' do
|
430
444
|
before do
|
431
445
|
match_data = { 'org' => github_org, 'repo' => 'lita-test', 'team' => 'HeckmanTest' }
|
432
|
-
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty'
|
446
|
+
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty')
|
433
447
|
@response = double('Lita::Response', match_data: match_data)
|
434
448
|
team = { id: 42, name: 'HeckmanTest' }
|
435
449
|
allow(github_repo).to receive(:config).and_return(conf_obj)
|
436
450
|
allow(github_repo).to receive(:gh_team).with('GrapeDuty', 'HeckmanTest').and_return(team)
|
451
|
+
allow(github_repo).to receive(:func_disabled?).and_return(false)
|
437
452
|
allow(github_repo).to receive(:repo?).and_return(true)
|
438
453
|
allow(github_repo).to receive(:repo_has_team?).and_return(false)
|
439
454
|
allow(github_repo).to receive(:add_team_to_repo).and_return('attr')
|
440
455
|
end
|
441
456
|
|
442
|
-
context 'when
|
443
|
-
|
444
|
-
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty', repo_team_add_enabled: false)
|
445
|
-
allow(github_repo).to receive(:config).and_return(conf_obj)
|
446
|
-
end
|
447
|
-
|
448
|
-
it 'should return the method disabled error' do
|
457
|
+
context 'when valid inputs provided, and all things work out' do
|
458
|
+
it 'should return the text from add_team_to_repo' do
|
449
459
|
r = github_repo.send(:repo_team_add, @response)
|
450
|
-
expect(r).to eql '
|
460
|
+
expect(r).to eql 'attr'
|
451
461
|
end
|
452
462
|
end
|
453
463
|
|
454
|
-
context 'when
|
455
|
-
|
464
|
+
context 'when function is disabled' do
|
465
|
+
before { allow(github_repo).to receive(:func_disabled?).and_return(true) }
|
466
|
+
|
467
|
+
it 'should return the method disabled error' do
|
456
468
|
r = github_repo.send(:repo_team_add, @response)
|
457
|
-
expect(r).to eql '
|
469
|
+
expect(r).to eql 'Sorry, this function has either been disabled or not enabled in the config'
|
458
470
|
end
|
459
471
|
end
|
460
472
|
|
@@ -463,7 +475,7 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
463
475
|
|
464
476
|
it 'should return the repo not found error' do
|
465
477
|
r = github_repo.send(:repo_team_add, @response)
|
466
|
-
expect(r).to eql 'That repo (GrapeDuty/lita-test)
|
478
|
+
expect(r).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
467
479
|
end
|
468
480
|
end
|
469
481
|
|
@@ -489,32 +501,30 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
489
501
|
describe '.repo_team_rm' do
|
490
502
|
before do
|
491
503
|
match_data = { 'org' => github_org, 'repo' => 'lita-test', 'team' => 'HeckmanTest' }
|
492
|
-
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty'
|
504
|
+
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty')
|
493
505
|
@response = double('Lita::Response', match_data: match_data)
|
494
506
|
team = { id: 42, name: 'HeckmanTest' }
|
495
507
|
allow(github_repo).to receive(:config).and_return(conf_obj)
|
508
|
+
allow(github_repo).to receive(:func_disabled?).and_return(false)
|
496
509
|
allow(github_repo).to receive(:gh_team).with('GrapeDuty', 'HeckmanTest').and_return(team)
|
497
510
|
allow(github_repo).to receive(:repo?).and_return(true)
|
498
511
|
allow(github_repo).to receive(:repo_has_team?).and_return(true)
|
499
512
|
allow(github_repo).to receive(:remove_team_from_repo).and_return('rtfr')
|
500
513
|
end
|
501
514
|
|
502
|
-
context 'when
|
503
|
-
|
504
|
-
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty', repo_team_rm_enabled: false)
|
505
|
-
allow(github_repo).to receive(:config).and_return(conf_obj)
|
506
|
-
end
|
507
|
-
|
508
|
-
it 'should return the method disabled error' do
|
515
|
+
context 'when valid inputs provided, and all things work out' do
|
516
|
+
it 'should return the text from remove_team_to_repo' do
|
509
517
|
r = github_repo.send(:repo_team_rm, @response)
|
510
|
-
expect(r).to eql '
|
518
|
+
expect(r).to eql 'rtfr'
|
511
519
|
end
|
512
520
|
end
|
513
521
|
|
514
|
-
context 'when
|
515
|
-
|
522
|
+
context 'when function is disabled' do
|
523
|
+
before { allow(github_repo).to receive(:func_disabled?).and_return(true) }
|
524
|
+
|
525
|
+
it 'should return the method disabled error' do
|
516
526
|
r = github_repo.send(:repo_team_rm, @response)
|
517
|
-
expect(r).to eql '
|
527
|
+
expect(r).to eql 'Sorry, this function has either been disabled or not enabled in the config'
|
518
528
|
end
|
519
529
|
end
|
520
530
|
|
@@ -523,7 +533,7 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
523
533
|
|
524
534
|
it 'should return the repo not found error' do
|
525
535
|
r = github_repo.send(:repo_team_rm, @response)
|
526
|
-
expect(r).to eql 'That repo (GrapeDuty/lita-test)
|
536
|
+
expect(r).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
527
537
|
end
|
528
538
|
end
|
529
539
|
|
@@ -546,6 +556,121 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
546
556
|
end
|
547
557
|
end
|
548
558
|
|
559
|
+
describe '.repo_update_description' do
|
560
|
+
before do
|
561
|
+
match_data = { 'org' => github_org, 'repo' => 'lita-test', 'field' => 'description', 'content' => 'oh hello' }
|
562
|
+
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty')
|
563
|
+
@response = double('Lita::Response', match_data: match_data)
|
564
|
+
@octo_obj = double('Octokit::Client', edit_repository: { description: 'oh hello' })
|
565
|
+
allow(github_repo).to receive(:config).and_return(conf_obj)
|
566
|
+
allow(github_repo).to receive(:octo).and_return(@octo_obj)
|
567
|
+
allow(github_repo).to receive(:func_disabled?).and_return(false)
|
568
|
+
allow(github_repo).to receive(:repo?).and_return(true)
|
569
|
+
end
|
570
|
+
|
571
|
+
context 'when valid inputs provided, and all things work out' do
|
572
|
+
it 'should respond that the description was updated' do
|
573
|
+
send_command('gh repo update description lita-test oh hello!')
|
574
|
+
expect(replies.last).to eql "The description for GrapeDuty/lita-test has been updated to: 'oh hello'"
|
575
|
+
end
|
576
|
+
end
|
577
|
+
|
578
|
+
context 'when function disabled' do
|
579
|
+
before { allow(github_repo).to receive(:func_disabled?).and_return(true) }
|
580
|
+
|
581
|
+
it 'should return the method disabled error' do
|
582
|
+
send_command('gh repo update description lita-test A new description!')
|
583
|
+
expect(replies.last).to eql 'Sorry, this function has either been disabled or not enabled in the config'
|
584
|
+
end
|
585
|
+
end
|
586
|
+
|
587
|
+
context 'when repo not found' do
|
588
|
+
before { allow(github_repo).to receive(:repo?).and_return(false) }
|
589
|
+
|
590
|
+
it 'should return the repo not found error' do
|
591
|
+
send_command('gh repo update description lita-test A new description!')
|
592
|
+
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
593
|
+
end
|
594
|
+
end
|
595
|
+
|
596
|
+
context 'when Octokit call explodes' do
|
597
|
+
before { allow(@octo_obj).to receive(:edit_repository).and_raise(StandardError.new) }
|
598
|
+
|
599
|
+
it 'should let us know things went a bit unexpected' do
|
600
|
+
send_command('gh repo update description lita-test A new description!')
|
601
|
+
expect(replies.last).to eql(
|
602
|
+
'An uncaught exception was hit while trying to update the description of ' \
|
603
|
+
'GrapeDuty/lita-test. Is GitHub having issues?'
|
604
|
+
)
|
605
|
+
end
|
606
|
+
end
|
607
|
+
end
|
608
|
+
|
609
|
+
describe '.repo_update_homepage' do
|
610
|
+
before do
|
611
|
+
match_data = { 'org' => github_org, 'repo' => 'lita-test', 'field' => 'homepage', 'content' => 'https://test.it' }
|
612
|
+
conf_obj = double('Lita::Configuration', default_org: 'GrapeDuty')
|
613
|
+
@response = double('Lita::Response', match_data: match_data)
|
614
|
+
@octo_obj = double('Octokit::Client', edit_repository: { homepage: 'https://test.it' })
|
615
|
+
allow(github_repo).to receive(:config).and_return(conf_obj)
|
616
|
+
allow(github_repo).to receive(:octo).and_return(@octo_obj)
|
617
|
+
allow(github_repo).to receive(:func_disabled?).and_return(false)
|
618
|
+
allow(github_repo).to receive(:repo?).and_return(true)
|
619
|
+
end
|
620
|
+
|
621
|
+
context 'when valid inputs provided, and all things work out' do
|
622
|
+
it 'should respond that the homepage was updated' do
|
623
|
+
send_command('gh repo update homepage lita-test https://test.it')
|
624
|
+
expect(replies.last).to eql "The homepage for GrapeDuty/lita-test has been updated to: 'https://test.it'"
|
625
|
+
end
|
626
|
+
end
|
627
|
+
|
628
|
+
context 'when function disabled' do
|
629
|
+
before { allow(github_repo).to receive(:func_disabled?).and_return(true) }
|
630
|
+
|
631
|
+
it 'should return the method disabled error' do
|
632
|
+
send_command('gh repo update homepage lita-test https://test.it')
|
633
|
+
expect(replies.last).to eql 'Sorry, this function has either been disabled or not enabled in the config'
|
634
|
+
end
|
635
|
+
end
|
636
|
+
|
637
|
+
context 'when repo not found' do
|
638
|
+
before { allow(github_repo).to receive(:repo?).and_return(false) }
|
639
|
+
|
640
|
+
it 'should return the repo not found error' do
|
641
|
+
send_command('gh repo update homepage lita-test https://test.it')
|
642
|
+
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
643
|
+
end
|
644
|
+
end
|
645
|
+
|
646
|
+
context 'when Octokit call explodes' do
|
647
|
+
before { allow(@octo_obj).to receive(:edit_repository).and_raise(StandardError.new) }
|
648
|
+
|
649
|
+
it 'should let us know things went a bit unexpected' do
|
650
|
+
send_command('gh repo update homepage lita-test https://test.it')
|
651
|
+
expect(replies.last).to eql(
|
652
|
+
'An uncaught exception was hit while trying to update the homepage of ' \
|
653
|
+
'GrapeDuty/lita-test. Is GitHub having issues?'
|
654
|
+
)
|
655
|
+
end
|
656
|
+
end
|
657
|
+
|
658
|
+
context 'when URL is invalid' do
|
659
|
+
before do
|
660
|
+
match_data = {
|
661
|
+
'org' => github_org, 'repo' => 'lita-test',
|
662
|
+
'field' => 'homepage', 'content' => 'https://test. it'
|
663
|
+
}
|
664
|
+
@response = double('Lita::Response', match_data: match_data)
|
665
|
+
end
|
666
|
+
|
667
|
+
it 'should return the invalid URL error' do
|
668
|
+
send_command('gh repo update homepage lita-test https://test. it')
|
669
|
+
expect(replies.last).to eql "The URL provided is not valid: 'https://test. it'"
|
670
|
+
end
|
671
|
+
end
|
672
|
+
end
|
673
|
+
|
549
674
|
####
|
550
675
|
# Handlers
|
551
676
|
####
|
@@ -602,7 +727,7 @@ describe Lita::Handlers::GithubRepo, lita_handler: true do
|
|
602
727
|
|
603
728
|
it 'should no-op informing you that the repo is not there' do
|
604
729
|
send_command("gh repo delete #{github_org}/lita-test")
|
605
|
-
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test)
|
730
|
+
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
606
731
|
end
|
607
732
|
end
|
608
733
|
end
|
@@ -677,22 +802,32 @@ Name: Interns, Slug: interns, ID: 84, Perms: pull
|
|
677
802
|
|
678
803
|
it 'should say the repo was not found' do
|
679
804
|
send_command("gh repo teams #{github_org}/lita-test")
|
680
|
-
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test)
|
805
|
+
expect(replies.last).to eql 'That repo (GrapeDuty/lita-test) was not found'
|
681
806
|
end
|
682
807
|
end
|
683
808
|
end
|
684
809
|
|
685
810
|
describe '.repo_team_router' do
|
686
811
|
before do
|
687
|
-
allow(github_repo).to receive(:
|
688
|
-
.with(an_instance_of(Lita::Response)).and_return('ohai')
|
812
|
+
allow(github_repo).to receive(:repo_team_add).with(an_instance_of(Lita::Response)).and_return('ohai')
|
689
813
|
end
|
690
814
|
|
691
815
|
it 'should call the method based on action and respond with its return' do
|
692
|
-
expect(github_repo).to receive(:repo_team_add)
|
693
|
-
.with(an_instance_of(Lita::Response)).and_return('ohai')
|
816
|
+
expect(github_repo).to receive(:repo_team_add).with(an_instance_of(Lita::Response)).and_return('ohai')
|
694
817
|
send_command("gh repo team add 42 #{github_org}/lita-test")
|
695
818
|
expect(replies.last).to eql 'ohai'
|
696
819
|
end
|
697
820
|
end
|
821
|
+
|
822
|
+
describe '.repo_update_router' do
|
823
|
+
before do
|
824
|
+
allow(github_repo).to receive(:repo_update_description).with(an_instance_of(Lita::Response)).and_return('ohai')
|
825
|
+
end
|
826
|
+
|
827
|
+
it 'should call the method based on the action and respond with its return' do
|
828
|
+
expect(github_repo).to receive(:repo_update_description).with(an_instance_of(Lita::Response)).and_return('ohai')
|
829
|
+
send_command("gh repo update description #{github_org}/lita-test Something funky here")
|
830
|
+
expect(replies.last).to eql 'ohai'
|
831
|
+
end
|
832
|
+
end
|
698
833
|
end
|
@@ -49,6 +49,14 @@ describe Lita::Handlers::Github, lita_handler: true do
|
|
49
49
|
expect(Lita.config.handlers.github.repo_team_rm_enabled).to be_falsey
|
50
50
|
end
|
51
51
|
|
52
|
+
it 'should enale Lita::Handlers::GithubRepo.repo_update_description by default' do
|
53
|
+
expect(Lita.config.handlers.github.repo_update_description_enabled).to be_truthy
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should enale Lita::Handlers::GithubRepo.repo_update_homepage by default' do
|
57
|
+
expect(Lita.config.handlers.github.repo_update_homepage_enabled).to be_truthy
|
58
|
+
end
|
59
|
+
|
52
60
|
it 'should enable Lita::Handlers::GithubPR.pr_merge by default' do
|
53
61
|
expect(Lita.config.handlers.github.pr_merge_enabled).to be_truthy
|
54
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-github
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Heckman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|