github_api 0.9.0 → 0.9.1

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.
Files changed (163) hide show
  1. data/README.md +50 -5
  2. data/features/cassettes/git_data/commits/get.yml +69 -0
  3. data/features/git_data/commmits.feature +14 -0
  4. data/lib/github_api.rb +1 -0
  5. data/lib/github_api/activity/events.rb +42 -33
  6. data/lib/github_api/activity/notifications.rb +22 -22
  7. data/lib/github_api/activity/starring.rb +16 -21
  8. data/lib/github_api/activity/watching.rb +16 -19
  9. data/lib/github_api/api.rb +51 -8
  10. data/lib/github_api/arguments.rb +155 -0
  11. data/lib/github_api/authorizations.rb +19 -20
  12. data/lib/github_api/configuration.rb +5 -0
  13. data/lib/github_api/emojis.rb +3 -3
  14. data/lib/github_api/error/validations.rb +2 -2
  15. data/lib/github_api/gists.rb +32 -42
  16. data/lib/github_api/gists/comments.rb +21 -23
  17. data/lib/github_api/git_data/blobs.rb +13 -16
  18. data/lib/github_api/git_data/commits.rb +12 -10
  19. data/lib/github_api/git_data/references.rb +24 -28
  20. data/lib/github_api/git_data/tags.rb +9 -11
  21. data/lib/github_api/git_data/trees.rb +10 -13
  22. data/lib/github_api/gitignore.rb +4 -6
  23. data/lib/github_api/issues.rb +24 -32
  24. data/lib/github_api/issues/assignees.rb +11 -8
  25. data/lib/github_api/issues/comments.rb +21 -26
  26. data/lib/github_api/issues/events.rb +7 -9
  27. data/lib/github_api/issues/labels.rb +39 -53
  28. data/lib/github_api/issues/milestones.rb +26 -33
  29. data/lib/github_api/markdown.rb +5 -6
  30. data/lib/github_api/meta.rb +3 -3
  31. data/lib/github_api/orgs.rb +10 -11
  32. data/lib/github_api/orgs/members.rb +18 -20
  33. data/lib/github_api/orgs/teams.rb +54 -58
  34. data/lib/github_api/pull_requests.rb +40 -54
  35. data/lib/github_api/pull_requests/comments.rb +19 -26
  36. data/lib/github_api/repos.rb +146 -101
  37. data/lib/github_api/repos/collaborators.rb +29 -30
  38. data/lib/github_api/repos/comments.rb +20 -25
  39. data/lib/github_api/repos/commits.rb +12 -14
  40. data/lib/github_api/repos/contents.rb +22 -14
  41. data/lib/github_api/repos/downloads.rb +19 -23
  42. data/lib/github_api/repos/forks.rb +6 -11
  43. data/lib/github_api/repos/hooks.rb +25 -34
  44. data/lib/github_api/repos/keys.rb +25 -27
  45. data/lib/github_api/repos/merging.rb +7 -6
  46. data/lib/github_api/repos/pub_sub_hubbub.rb +14 -18
  47. data/lib/github_api/repos/statuses.rb +13 -14
  48. data/lib/github_api/say.rb +1 -3
  49. data/lib/github_api/search.rb +12 -21
  50. data/lib/github_api/users.rb +10 -9
  51. data/lib/github_api/users/emails.rb +11 -9
  52. data/lib/github_api/users/followers.rb +25 -23
  53. data/lib/github_api/users/keys.rb +27 -29
  54. data/lib/github_api/version.rb +1 -1
  55. data/spec/github/activity/events/org_spec.rb +6 -6
  56. data/spec/github/activity/events/performed_spec.rb +1 -1
  57. data/spec/github/activity/events/received_spec.rb +1 -1
  58. data/spec/github/activity/events/user_org_spec.rb +4 -2
  59. data/spec/github/activity/notifications/create_spec.rb +1 -1
  60. data/spec/github/activity/notifications/delete_spec.rb +1 -1
  61. data/spec/github/activity/notifications/get_spec.rb +1 -1
  62. data/spec/github/activity/notifications/subscribed_spec.rb +1 -1
  63. data/spec/github/activity/starring/list_spec.rb +2 -0
  64. data/spec/github/activity/starring/starring_spec.rb +1 -1
  65. data/spec/github/activity/watching/list_spec.rb +2 -0
  66. data/spec/github/activity/watching/watching_spec.rb +1 -3
  67. data/spec/github/api/set_spec.rb +18 -4
  68. data/spec/github/api/with_spec.rb +28 -0
  69. data/spec/github/api_spec.rb +11 -33
  70. data/spec/github/arguments/parse_spec.rb +68 -0
  71. data/spec/github/authorizations/delete_spec.rb +1 -1
  72. data/spec/github/authorizations/get_spec.rb +1 -1
  73. data/spec/github/error/validations_spec.rb +3 -3
  74. data/spec/github/gists/comments/list_spec.rb +1 -1
  75. data/spec/github/gists/delete_spec.rb +1 -1
  76. data/spec/github/gists/fork_spec.rb +1 -1
  77. data/spec/github/gists/get_spec.rb +1 -1
  78. data/spec/github/gists/is_starred_spec.rb +2 -0
  79. data/spec/github/gists/star_spec.rb +1 -1
  80. data/spec/github/gists/unstar_spec.rb +1 -1
  81. data/spec/github/git_data/blobs/create_spec.rb +2 -0
  82. data/spec/github/git_data/blobs/get_spec.rb +1 -1
  83. data/spec/github/git_data/commits/create_spec.rb +2 -0
  84. data/spec/github/git_data/commits/get_spec.rb +3 -3
  85. data/spec/github/git_data/references/create_spec.rb +1 -1
  86. data/spec/github/git_data/references/delete_spec.rb +3 -1
  87. data/spec/github/git_data/tags/create_spec.rb +2 -0
  88. data/spec/github/gitignore/get_spec.rb +1 -1
  89. data/spec/github/issues/events/get_spec.rb +3 -1
  90. data/spec/github/issues/events/list_spec.rb +3 -1
  91. data/spec/github/issues/labels/add_spec.rb +6 -6
  92. data/spec/github/issues/labels/list_spec.rb +3 -1
  93. data/spec/github/issues/labels/replace_spec.rb +6 -7
  94. data/spec/github/issues/milestones/get_spec.rb +2 -0
  95. data/spec/github/normalizer_spec.rb +18 -6
  96. data/spec/github/orgs/members/conceal_spec.rb +6 -4
  97. data/spec/github/orgs/members/delete_spec.rb +2 -0
  98. data/spec/github/orgs/members/list_spec.rb +1 -1
  99. data/spec/github/orgs/members/member_spec.rb +3 -1
  100. data/spec/github/orgs/members/publicize_spec.rb +2 -0
  101. data/spec/github/orgs/teams/add_member_spec.rb +2 -0
  102. data/spec/github/orgs/teams/create_spec.rb +1 -1
  103. data/spec/github/orgs/teams/delete_spec.rb +1 -1
  104. data/spec/github/orgs/teams/edit_spec.rb +1 -1
  105. data/spec/github/orgs/teams/get_spec.rb +1 -1
  106. data/spec/github/orgs/teams/list_spec.rb +1 -1
  107. data/spec/github/orgs/teams/team_member_spec.rb +3 -1
  108. data/spec/github/parameter_filter_spec.rb +19 -58
  109. data/spec/github/pull_requests/comments/create_spec.rb +3 -1
  110. data/spec/github/pull_requests/comments/delete_spec.rb +1 -1
  111. data/spec/github/pull_requests/comments/edit_spec.rb +2 -0
  112. data/spec/github/pull_requests/comments/get_spec.rb +3 -1
  113. data/spec/github/pull_requests/comments/list_spec.rb +3 -1
  114. data/spec/github/pull_requests/commits_spec.rb +3 -3
  115. data/spec/github/pull_requests/create_spec.rb +4 -0
  116. data/spec/github/pull_requests/files_spec.rb +4 -0
  117. data/spec/github/pull_requests/get_spec.rb +3 -3
  118. data/spec/github/pull_requests/list_spec.rb +3 -3
  119. data/spec/github/pull_requests/merge_spec.rb +2 -0
  120. data/spec/github/pull_requests/merged_spec.rb +3 -1
  121. data/spec/github/pull_requests/update_spec.rb +4 -0
  122. data/spec/github/repos/collaborators/add_spec.rb +3 -1
  123. data/spec/github/repos/collaborators/get_spec.rb +1 -3
  124. data/spec/github/repos/collaborators/list_spec.rb +5 -1
  125. data/spec/github/repos/collaborators/remove_spec.rb +3 -1
  126. data/spec/github/repos/comments/create_spec.rb +4 -0
  127. data/spec/github/repos/comments/delete_spec.rb +2 -2
  128. data/spec/github/repos/comments/get_spec.rb +6 -2
  129. data/spec/github/repos/commits/compare_spec.rb +3 -3
  130. data/spec/github/repos/commits/get_spec.rb +3 -3
  131. data/spec/github/repos/commits/list_spec.rb +3 -3
  132. data/spec/github/repos/contents/archive_spec.rb +12 -0
  133. data/spec/github/repos/contents/get_spec.rb +5 -0
  134. data/spec/github/repos/contributors_spec.rb +7 -2
  135. data/spec/github/repos/downloads/create_spec.rb +4 -0
  136. data/spec/github/repos/downloads/delete_spec.rb +5 -1
  137. data/spec/github/repos/downloads/get_spec.rb +3 -1
  138. data/spec/github/repos/downloads/list_spec.rb +3 -1
  139. data/spec/github/repos/forks/create_spec.rb +2 -0
  140. data/spec/github/repos/forks/list_spec.rb +3 -1
  141. data/spec/github/repos/hooks/edit_spec.rb +1 -1
  142. data/spec/github/repos/keys/delete_spec.rb +1 -1
  143. data/spec/github/repos/keys/edit_spec.rb +2 -0
  144. data/spec/github/repos/keys/get_spec.rb +3 -1
  145. data/spec/github/repos/keys/list_spec.rb +4 -2
  146. data/spec/github/repos/list_spec.rb +6 -1
  147. data/spec/github/repos/pub_sub_hubbub/subscribe_service_spec.rb +27 -0
  148. data/spec/github/repos/pub_sub_hubbub/subscribe_spec.rb +51 -0
  149. data/spec/github/repos/pub_sub_hubbub/unsubscribe_service_spec.rb +21 -0
  150. data/spec/github/repos/pub_sub_hubbub/unsubscribe_spec.rb +58 -0
  151. data/spec/github/repos/statuses/create_spec.rb +2 -0
  152. data/spec/github/search_spec.rb +25 -10
  153. data/spec/github/users/followers/follow_spec.rb +1 -1
  154. data/spec/github/users/followers/is_following_spec.rb +1 -1
  155. data/spec/github/users/followers/unfollow_spec.rb +1 -1
  156. data/spec/github/users/keys/delete_spec.rb +1 -1
  157. data/spec/github/users/keys/get_spec.rb +1 -1
  158. data/spec/github/users/keys/update_spec.rb +1 -1
  159. data/spec/github/users/update_spec.rb +1 -1
  160. data/spec/integration/arguments_spec.rb +76 -0
  161. data/spec/{github → integration}/authorizations_spec.rb +0 -0
  162. metadata +44 -35
  163. data/spec/github/repos/pub_sub_hubbub_spec.rb +0 -78
@@ -23,7 +23,7 @@ describe Github::Authorizations, '#delete' do
23
23
 
24
24
  it "should fail to get resource without basic authentication" do
25
25
  reset_authentication_for subject
26
- expect { subject.delete nil }.to raise_error(ArgumentError)
26
+ expect { subject.delete }.to raise_error(ArgumentError)
27
27
  end
28
28
 
29
29
  it "should delete resource successfully" do
@@ -22,7 +22,7 @@ describe Github::Authorizations, '#get' do
22
22
  let(:status) { 200 }
23
23
 
24
24
  it "should fail to get resource without authorization id" do
25
- expect { subject.get nil }.to raise_error(ArgumentError)
25
+ expect { subject.get }.to raise_error(ArgumentError)
26
26
  end
27
27
 
28
28
  it "should get the resource" do
@@ -7,15 +7,15 @@ describe Github::Error::Validations do
7
7
  let(:error) { described_class.new(:username => nil) }
8
8
 
9
9
  it 'contains the problem in the message' do
10
- error.message.should include "Attempted to send request with nil arguments"
10
+ error.message.should =~ /Attempted to send request with nil arguments/
11
11
  end
12
12
 
13
13
  it 'contains the summary in the message' do
14
- error.message.should include "Each request expects certain number of arguments."
14
+ error.message.should =~ /Each request expects certain number of required arguments./
15
15
  end
16
16
 
17
17
  it 'contains the resolution in the message' do
18
- error.message.should include "Double check that the provided arguments are set to some value."
18
+ error.message.should =~ /Double check that the provided arguments are set to some value/
19
19
  end
20
20
  end
21
21
  end # Github::Error::Validations
@@ -20,7 +20,7 @@ describe Github::Gists::Comments, '#list' do
20
20
  it { should respond_to :all }
21
21
 
22
22
  it "throws error if gist id not provided" do
23
- expect { subject.list nil}.to raise_error(ArgumentError)
23
+ expect { subject.list }.to raise_error(ArgumentError)
24
24
  end
25
25
 
26
26
  it "should get the resources" do
@@ -16,7 +16,7 @@ describe Github::Gists, '#delete' do
16
16
  after { reset_authentication_for(subject) }
17
17
 
18
18
  it 'should raise error if gist id not present' do
19
- expect { subject.delete nil }.to raise_error(ArgumentError)
19
+ expect { subject.delete }.to raise_error(ArgumentError)
20
20
  end
21
21
 
22
22
  it "should remove resource successfully" do
@@ -16,7 +16,7 @@ describe Github::Gists, '#star' do
16
16
  after { reset_authentication_for(subject) }
17
17
 
18
18
  it "should fail to fork gist without gist id" do
19
- expect { subject.fork(nil) }.to raise_error(ArgumentError)
19
+ expect { subject.fork }.to raise_error(ArgumentError)
20
20
  end
21
21
 
22
22
  it "should fork resource successfully" do
@@ -20,7 +20,7 @@ describe Github::Gists, '#get' do
20
20
  it { should respond_to :find }
21
21
 
22
22
  it "should fail to get resource without gist id" do
23
- expect { subject.get nil }.to raise_error(ArgumentError)
23
+ expect { subject.get }.to raise_error(ArgumentError)
24
24
  end
25
25
 
26
26
  it "should get the resource" do
@@ -18,6 +18,8 @@ describe Github::Gists, '#unstar' do
18
18
  context 'when gist is starred' do
19
19
  let(:status) { 204 }
20
20
 
21
+ it { expect { subject.starred? }.to raise_error(ArgumentError) }
22
+
21
23
  it 'should raise error if gist id not present' do
22
24
  expect { subject.starred? nil }.to raise_error(ArgumentError)
23
25
  end
@@ -16,7 +16,7 @@ describe Github::Gists, '#star' do
16
16
  after { reset_authentication_for(subject) }
17
17
 
18
18
  it "should raise error if gist id not present" do
19
- expect { subject.star nil }.to raise_error(ArgumentError)
19
+ expect { subject.star }.to raise_error(ArgumentError)
20
20
  end
21
21
 
22
22
  it 'successfully stars a gist' do
@@ -16,7 +16,7 @@ describe Github::Gists, '#unstar' do
16
16
  after { reset_authentication_for(subject) }
17
17
 
18
18
  it "should raise error if gist id not present" do
19
- expect { subject.unstar nil }.to raise_error(ArgumentError)
19
+ expect { subject.unstar }.to raise_error(ArgumentError)
20
20
  end
21
21
 
22
22
  it 'successfully stars a gist' do
@@ -27,6 +27,8 @@ describe Github::GitData::Blobs, '#create' do
27
27
  let(:body) { fixture('git_data/blob_sha.json') }
28
28
  let(:status) { 201 }
29
29
 
30
+ it { expect { subject.create user }.to raise_error(ArgumentError) }
31
+
30
32
  it "should fail to create resource if 'content' input is missing" do
31
33
  expect {
32
34
  subject.create user, repo, inputs.except('content')
@@ -23,7 +23,7 @@ describe Github::GitData::Blobs, '#get' do
23
23
  it { should respond_to :find }
24
24
 
25
25
  it "should fail to get resource without sha" do
26
- expect { subject.get user, repo, nil }.to raise_error(ArgumentError)
26
+ expect { subject.get user, repo }.to raise_error(ArgumentError)
27
27
  end
28
28
 
29
29
  it "should get the resource" do
@@ -34,6 +34,8 @@ describe Github::GitData::Commits, '#get' do
34
34
  let(:body) { fixture('git_data/commit.json') }
35
35
  let(:status) { 201 }
36
36
 
37
+ it { expect { subject.create user }.to raise_error(ArgumentError)}
38
+
37
39
  it "should fail to create resource if 'message' input is missing" do
38
40
  expect {
39
41
  subject.create user, repo, inputs.except('message')
@@ -21,10 +21,10 @@ describe Github::GitData::Commits, '#get' do
21
21
 
22
22
  it { should respond_to :find }
23
23
 
24
+ it { expect { subject.get }.to raise_error(ArgumentError) }
25
+
24
26
  it "should fail to get resource without sha" do
25
- expect {
26
- subject.get user, repo, nil
27
- }.to raise_error(ArgumentError)
27
+ expect { subject.get user, repo }.to raise_error(ArgumentError)
28
28
  end
29
29
 
30
30
  it "should get the resource" do
@@ -29,7 +29,7 @@ describe Github::GitData::References, '#create' do
29
29
  it "should fail to create resource if 'ref' input is missing" do
30
30
  expect {
31
31
  subject.create user, repo, inputs.except('ref')
32
- }.to raise_error(ArgumentError)
32
+ }.to raise_error(Github::Error::RequiredParams )
33
33
  end
34
34
 
35
35
  it "should fail to create resource if 'sha' input is missing" do
@@ -21,8 +21,10 @@ describe Github::GitData::References, '#delete' do
21
21
 
22
22
  it { should respond_to :remove }
23
23
 
24
+ it { expect { subject.delete }.to raise_error(ArgumentError) }
25
+
24
26
  it "should fail to delete resource if 'ref' input is missing" do
25
- expect { subject.delete user, repo, nil }.to raise_error(ArgumentError)
27
+ expect { subject.delete user, repo }.to raise_error(ArgumentError)
26
28
  end
27
29
 
28
30
  it "should delete resource successfully" do
@@ -38,6 +38,8 @@ describe Github::GitData::Tags, '#create' do
38
38
  let(:body) { fixture('git_data/tag.json') }
39
39
  let(:status) { 201 }
40
40
 
41
+ it { expect { subject.create user }.to raise_error(ArgumentError) }
42
+
41
43
  it "should create resource successfully" do
42
44
  subject.create user, repo, inputs
43
45
  a_post(request_path).with(inputs).should have_been_made
@@ -22,7 +22,7 @@ describe Github::Gitignore, '#get' do
22
22
  it { should respond_to :find }
23
23
 
24
24
  it "should fail to get resource without key" do
25
- expect { subject.get nil }.to raise_error(ArgumentError)
25
+ expect { subject.get }.to raise_error(ArgumentError)
26
26
  end
27
27
 
28
28
  it "should get the resource" do
@@ -21,8 +21,10 @@ describe Github::Issues::Events, '#list' do
21
21
 
22
22
  it { should respond_to :find }
23
23
 
24
+ it { expect { subject.get }.to raise_error(ArgumentError) }
25
+
24
26
  it "should fail to get resource without event id" do
25
- expect { subject.get user, repo, nil }.to raise_error(ArgumentError)
27
+ expect { subject.get user, repo }.to raise_error(ArgumentError)
26
28
  end
27
29
 
28
30
  it "should get the resource" do
@@ -24,8 +24,10 @@ describe Github::Issues::Events, '#list' do
24
24
 
25
25
  it { subject.should respond_to :all }
26
26
 
27
+ it { expect { subject.list }.to raise_error(ArgumentError) }
28
+
27
29
  it "should fail to get resource without username" do
28
- expect { subject.list }.to raise_error(ArgumentError)
30
+ expect { subject.list user }.to raise_error(ArgumentError)
29
31
  end
30
32
 
31
33
  it "should get the resources" do
@@ -16,7 +16,7 @@ describe Github::Issues::Labels, '#add' do
16
16
  after { reset_authentication_for(subject) }
17
17
 
18
18
  let(:issue_id) { 1 }
19
- let(:labels) { "Label 1" }
19
+ let(:label) { "Label 1" }
20
20
 
21
21
  context "labels added" do
22
22
  let(:body) { fixture('issues/labels.json') }
@@ -24,27 +24,27 @@ describe Github::Issues::Labels, '#add' do
24
24
 
25
25
  it "should fail to add labels if issue-id is missing" do
26
26
  expect {
27
- subject.add user, repo, nil, labels
27
+ subject.add user, repo, nil, label
28
28
  }.to raise_error(ArgumentError)
29
29
  end
30
30
 
31
31
  it "should create resource successfully" do
32
- subject.add user, repo, issue_id, labels
32
+ subject.add user, repo, issue_id, label
33
33
  a_post(request_path).should have_been_made
34
34
  end
35
35
 
36
36
  it "should return the resource" do
37
- labels = subject.add user, repo, issue_id, labels
37
+ labels = subject.add user, repo, issue_id, label
38
38
  labels.first.should be_a Hashie::Mash
39
39
  end
40
40
 
41
41
  it "should get the label information" do
42
- labels = subject.add user, repo, issue_id, labels
42
+ labels = subject.add user, repo, issue_id, label
43
43
  labels.first.name.should == 'bug'
44
44
  end
45
45
  end
46
46
 
47
47
  it_should_behave_like 'request failure' do
48
- let(:requestable) { subject.add user, repo, issue_id, labels }
48
+ let(:requestable) { subject.add user, repo, issue_id, label }
49
49
  end
50
50
  end # add
@@ -19,8 +19,10 @@ describe Github::Issues::Labels, '#list' do
19
19
  context "for this repository" do
20
20
  it { should respond_to :all }
21
21
 
22
+ it { expect { subject.list }.to raise_error(ArgumentError) }
23
+
22
24
  it "should fail to get resource without username" do
23
- expect { subject.list nil, repo }.to raise_error(ArgumentError)
25
+ expect { subject.list user }.to raise_error(ArgumentError)
24
26
  end
25
27
 
26
28
  it "should get the resources" do
@@ -6,7 +6,7 @@ describe Github::Issues::Labels, '#replace' do
6
6
  let(:user) { 'peter-murach' }
7
7
  let(:repo) { 'github' }
8
8
  let(:issue_id) { 1 }
9
- let(:labels) { "Label 1" }
9
+ let(:label) { "Label 1" }
10
10
  let(:request_path) { "/repos/#{user}/#{repo}/issues/#{issue_id}/labels" }
11
11
 
12
12
  before {
@@ -16,35 +16,34 @@ describe Github::Issues::Labels, '#replace' do
16
16
 
17
17
  after { reset_authentication_for(subject) }
18
18
 
19
-
20
19
  context "labels replaced" do
21
20
  let(:body) { fixture('issues/labels.json') }
22
21
  let(:status) { 200 }
23
22
 
24
23
  it "should fail to add labels if issue-id is missing" do
25
24
  expect {
26
- subject.replace user, repo, nil, labels
25
+ subject.replace user, repo, nil, label
27
26
  }.to raise_error(ArgumentError)
28
27
  end
29
28
 
30
29
  it "should create resource successfully" do
31
- subject.replace user, repo, issue_id, labels
30
+ subject.replace user, repo, issue_id, label
32
31
  a_put(request_path).should have_been_made
33
32
  end
34
33
 
35
34
  it "should return the resource" do
36
- labels = subject.replace user, repo, issue_id, labels
35
+ labels = subject.replace user, repo, issue_id, label
37
36
  labels.first.should be_a Hashie::Mash
38
37
  end
39
38
 
40
39
  it "should get the label information" do
41
- labels = subject.replace user, repo, issue_id, labels
40
+ labels = subject.replace user, repo, issue_id, label
42
41
  labels.first.name.should == 'bug'
43
42
  end
44
43
  end
45
44
 
46
45
  it_should_behave_like 'request failure' do
47
- let(:requestable) { subject.replace user, repo, issue_id, labels }
46
+ let(:requestable) { subject.replace user, repo, issue_id, label }
48
47
  end
49
48
 
50
49
  end # replace
@@ -21,6 +21,8 @@ describe Github::Issues::Milestones, '#get' do
21
21
 
22
22
  it { subject.should respond_to :find }
23
23
 
24
+ it { expect { subject.get }.to raise_error(ArgumentError) }
25
+
24
26
  it "should fail to get resource without milestone id" do
25
27
  expect { subject.get user, repo, nil }.to raise_error(ArgumentError)
26
28
  end
@@ -1,20 +1,32 @@
1
1
  require 'spec_helper'
2
2
  require 'github_api/core_ext/hash'
3
3
 
4
- describe Github::Normalizer do
5
- let(:github) { Github.new }
6
- let(:repos_instance) { Github::Repos.new }
7
- let(:hash) { { :a => { :b => { :c => 1 } } } }
4
+ describe Github::Normalizer, '#normalize!' do
5
+ let(:hash) { { 'a' => { :b => { 'c' => 1 }, 'd' => [ 'a', { :e => 2 }] } } }
6
+
7
+ let(:klass) {
8
+ Class.new do
9
+ include Github::Normalizer
10
+ end
11
+ }
12
+
13
+ subject(:instance) { klass.new }
8
14
 
9
15
  context '#normalize!' do
10
16
  it 'converts hash keys to string' do
11
17
  ['a', 'b', 'c'].each do |key|
12
- github.repos.normalize!(hash).all_keys.should include key
18
+ subject.normalize!(hash).all_keys.should include key
13
19
  end
14
20
  [:a, :b, :c].each do |key|
15
- github.repos.normalize!(hash).all_keys.should_not include key
21
+ subject.normalize!(hash).all_keys.should_not include key
16
22
  end
17
23
  end
24
+
25
+ it "should stringify all the keys inside nested hash" do
26
+ actual = subject.normalize! hash
27
+ expected = { 'a' => { 'b'=> { 'c' => 1 }, 'd' => [ 'a', { 'e'=> 2 }] } }
28
+ actual.should be_eql expected
29
+ end
18
30
  end
19
31
 
20
32
  end # Github::Normalizer
@@ -4,8 +4,8 @@ require 'spec_helper'
4
4
 
5
5
  describe Github::Orgs::Members, '#conceal' do
6
6
  let(:org) { 'github' }
7
- let(:member) { 'peter-murach' }
8
- let(:request_path) { "/orgs/#{org}/public_members/#{member}" }
7
+ let(:user) { 'peter-murach' }
8
+ let(:request_path) { "/orgs/#{org}/public_members/#{user}" }
9
9
 
10
10
  before {
11
11
  stub_delete(request_path).to_return(:body => body, :status => status,
@@ -22,14 +22,16 @@ describe Github::Orgs::Members, '#conceal' do
22
22
  expect { subject.conceal }.to raise_error(ArgumentError)
23
23
  end
24
24
 
25
+ it { expect { subject.conceal org }.to raise_error(ArgumentError) }
26
+
25
27
  it "should get the resources" do
26
- subject.conceal org, member
28
+ subject.conceal org, user
27
29
  a_delete(request_path).should have_been_made
28
30
  end
29
31
  end
30
32
 
31
33
  it_should_behave_like 'request failure' do
32
- let(:requestable) { subject.conceal org, member }
34
+ let(:requestable) { subject.conceal org, user }
33
35
  end
34
36
 
35
37
  end # conceal
@@ -20,6 +20,8 @@ describe Github::Orgs::Members, '#delete' do
20
20
  expect { subject.delete }.to raise_error(ArgumentError)
21
21
  end
22
22
 
23
+ it { expect { subject.delete org }.to raise_error(ArgumentError) }
24
+
23
25
  it "should delete the resource" do
24
26
  subject.delete org, member
25
27
  a_delete(request_path).should have_been_made
@@ -20,7 +20,7 @@ describe Github::Orgs::Members, '#list' do
20
20
  it { should respond_to :all }
21
21
 
22
22
  it "should fail to get resource without org name" do
23
- expect { subject.list nil }.to raise_error(ArgumentError)
23
+ expect { subject.list }.to raise_error(ArgumentError)
24
24
  end
25
25
 
26
26
  it "should get the resources" do
@@ -20,8 +20,10 @@ describe Github::Orgs::Members, '#member?' do
20
20
  context "this repo is being watched by the user" do
21
21
  let(:status) { 404 }
22
22
 
23
+ it { expect { subject.member? }.to raise_error(ArgumentError) }
24
+
23
25
  it "should fail validation " do
24
- expect { subject.member?(nil, nil) }.to raise_error(ArgumentError)
26
+ expect { subject.member? org }.to raise_error(ArgumentError)
25
27
  end
26
28
 
27
29
  it "should return false if resource not found" do