github_api 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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