github_api 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +6 -5
- data/features/{events.feature → activity/events.feature} +8 -8
- data/features/{repos → activity}/starring.feature +6 -6
- data/features/{repos → activity}/watching.feature +6 -6
- data/features/cassettes/{events → activity/events}/issue.yml +0 -0
- data/features/cassettes/{events → activity/events}/network.yml +0 -0
- data/features/cassettes/{events → activity/events}/org.yml +0 -0
- data/features/cassettes/{events → activity/events}/performed.yml +0 -0
- data/features/cassettes/{events → activity/events}/public.yml +0 -0
- data/features/cassettes/{events → activity/events}/received.yml +0 -0
- data/features/cassettes/{events → activity/events}/repo.yml +0 -0
- data/features/cassettes/{events → activity/events}/user_org.yml +0 -0
- data/features/cassettes/{repos → activity}/starring/list.yml +0 -0
- data/features/cassettes/{repos → activity}/starring/star.yml +0 -0
- data/features/cassettes/{repos → activity}/starring/starred.yml +0 -0
- data/features/cassettes/{repos → activity}/starring/starring.yml +0 -0
- data/features/cassettes/{repos → activity}/starring/unstar.yml +0 -0
- data/features/cassettes/{repos → activity}/watching/list.yml +0 -0
- data/features/cassettes/{repos → activity}/watching/unwatch.yml +0 -0
- data/features/cassettes/{repos → activity}/watching/watch.yml +0 -0
- data/features/cassettes/{repos → activity}/watching/watched.yml +0 -0
- data/features/cassettes/{repos → activity}/watching/watching.yml +0 -0
- data/features/github_api.feature +3 -3
- data/lib/github_api.rb +1 -1
- data/lib/github_api/activity.rb +39 -0
- data/lib/github_api/{events.rb → activity/events.rb} +5 -5
- data/lib/github_api/activity/notifications.rb +162 -0
- data/lib/github_api/{repos → activity}/starring.rb +9 -9
- data/lib/github_api/{repos → activity}/watching.rb +9 -9
- data/lib/github_api/client.rb +6 -4
- data/lib/github_api/repos.rb +2 -14
- data/lib/github_api/response.rb +0 -1
- data/lib/github_api/version.rb +2 -2
- data/spec/fixtures/activity/notifications.json +32 -0
- data/spec/fixtures/activity/subscribed.json +8 -0
- data/spec/fixtures/activity/threads.json +32 -0
- data/spec/github/activity/activity_spec.rb +16 -0
- data/spec/github/activity/events/issue_spec.rb +63 -0
- data/spec/github/activity/events/network_spec.rb +61 -0
- data/spec/github/activity/events/org_spec.rb +60 -0
- data/spec/github/activity/events/performed_spec.rb +91 -0
- data/spec/github/activity/events/public_spec.rb +55 -0
- data/spec/github/activity/events/received_spec.rb +91 -0
- data/spec/github/activity/events/repository_spec.rb +65 -0
- data/spec/github/activity/events/user_org_spec.rb +63 -0
- data/spec/github/activity/notifications/create_spec.rb +44 -0
- data/spec/github/activity/notifications/delete_spec.rb +41 -0
- data/spec/github/activity/notifications/get_spec.rb +58 -0
- data/spec/github/activity/notifications/list_spec.rb +82 -0
- data/spec/github/activity/notifications/mark_spec.rb +74 -0
- data/spec/github/activity/notifications/subscribed_spec.rb +48 -0
- data/spec/github/activity/starring/list_spec.rb +64 -0
- data/spec/github/activity/starring/star_spec.rb +36 -0
- data/spec/github/activity/starring/starred_spec.rb +53 -0
- data/spec/github/activity/starring/starring_spec.rb +38 -0
- data/spec/github/activity/starring/unstar_spec.rb +37 -0
- data/spec/github/activity/watching/list_spec.rb +59 -0
- data/spec/github/activity/watching/unwatch_spec.rb +37 -0
- data/spec/github/activity/watching/watch_spec.rb +37 -0
- data/spec/github/activity/watching/watched_spec.rb +53 -0
- data/spec/github/activity/watching/watching_spec.rb +41 -0
- data/spec/github/authorization_spec.rb +2 -2
- data/spec/github/issues_spec.rb +1 -1
- data/spec/github/repos/comments/delete_spec.rb +2 -0
- data/spec/github/repos/delete_spec.rb +1 -1
- data/spec/github/repos/get_spec.rb +2 -2
- data/spec/github/repos/starring_spec.rb +0 -199
- data/spec/github/repos_spec.rb +0 -4
- data/spec/github/result_spec.rb +1 -1
- metadata +88 -62
- data/features/cassettes/git_data/tags/get.yml +0 -54
- data/features/git_data/tags.feature +0 -17
- data/spec/github/events_spec.rb +0 -491
- data/spec/github/repos/watching_spec.rb +0 -203
@@ -0,0 +1,58 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Notifications, '#get' do
|
6
|
+
let(:thread_id) { 1 }
|
7
|
+
let(:request_path) { "/notifications/threads/#{thread_id}" }
|
8
|
+
|
9
|
+
before {
|
10
|
+
stub_get(request_path).to_return(:body => body, :status => status,
|
11
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
12
|
+
}
|
13
|
+
|
14
|
+
after { reset_authentication_for subject }
|
15
|
+
|
16
|
+
context "resource found" do
|
17
|
+
let(:body) { fixture('activity/threads.json') }
|
18
|
+
let(:status) { 200 }
|
19
|
+
|
20
|
+
it { should respond_to(:find) }
|
21
|
+
|
22
|
+
it "should raise error when no thread-id parameter" do
|
23
|
+
expect { subject.get nil }.to raise_error(ArgumentError)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should find resources" do
|
27
|
+
subject.get thread_id
|
28
|
+
a_get(request_path).should have_been_made
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return repository mash" do
|
32
|
+
threads = subject.get thread_id
|
33
|
+
threads.should be_an Array
|
34
|
+
threads.should have(1).items
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should get repository information" do
|
38
|
+
threads = subject.get thread_id
|
39
|
+
threads.first.repository.name.should == 'Hello-World'
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should yield repositories to a block" do
|
43
|
+
subject.should_receive(:get).and_yield('octocat')
|
44
|
+
subject.get(thread_id) { |repo| 'octocat' }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context "resource not found" do
|
49
|
+
let(:body) { '' }
|
50
|
+
let(:status) { 404 }
|
51
|
+
|
52
|
+
it "should fail to get resource" do
|
53
|
+
expect {
|
54
|
+
subject.get thread_id
|
55
|
+
}.to raise_error(Github::Error::NotFound)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end # get
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Notifications, '#list' do
|
6
|
+
let(:user) { 'peter-murach' }
|
7
|
+
let(:repo) { 'github' }
|
8
|
+
|
9
|
+
before { subject.oauth_token = OAUTH_TOKEN }
|
10
|
+
|
11
|
+
after { reset_authentication_for subject }
|
12
|
+
|
13
|
+
context 'resource found for authenticated user' do
|
14
|
+
let(:request_path) { "/notifications" }
|
15
|
+
let(:body) { fixture('activity/notifications.json') }
|
16
|
+
let(:status) { 200 }
|
17
|
+
|
18
|
+
before {
|
19
|
+
stub_get(request_path).with(:query => {:access_token => OAUTH_TOKEN }).
|
20
|
+
to_return(:body => body, :status => status,
|
21
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
22
|
+
}
|
23
|
+
|
24
|
+
it { should respond_to :all }
|
25
|
+
|
26
|
+
it 'filters unkown parameters' do
|
27
|
+
subject.list :unkown => true
|
28
|
+
a_get(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
29
|
+
should have_been_made
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should get the resource' do
|
33
|
+
subject.list
|
34
|
+
a_get(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
35
|
+
should have_been_made
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should return array of resources" do
|
39
|
+
notifications = subject.list
|
40
|
+
notifications.should be_an Array
|
41
|
+
notifications.should have(1).items
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should get resource information" do
|
45
|
+
notifications = subject.list
|
46
|
+
notifications.first.repository.name.should == 'Hello-World'
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should yield repositories to a block" do
|
50
|
+
subject.should_receive(:list).and_yield('octocat')
|
51
|
+
subject.list { |repo| 'octocat' }
|
52
|
+
end
|
53
|
+
|
54
|
+
context "resource not found for a user" do
|
55
|
+
let(:body) { '' }
|
56
|
+
let(:status) { [404, "Not Found"] }
|
57
|
+
|
58
|
+
it "should return 404 with a message 'Not Found'" do
|
59
|
+
expect { subject.list }.to raise_error(Github::Error::NotFound)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'resource found for repository' do
|
65
|
+
let(:body) { fixture('activity/notifications.json') }
|
66
|
+
let(:status) { 200 }
|
67
|
+
let(:request_path) { "/repos/#{user}/#{repo}/notifications"}
|
68
|
+
|
69
|
+
before {
|
70
|
+
stub_get(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
71
|
+
to_return(:body => body, :status => status,
|
72
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
73
|
+
}
|
74
|
+
|
75
|
+
it "should get the resource" do
|
76
|
+
subject.list :user => user, :repo => repo
|
77
|
+
a_get(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
78
|
+
should have_been_made
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Notifications, '#mark' do
|
6
|
+
let(:body) { '' }
|
7
|
+
let(:status) { 205 }
|
8
|
+
let(:inputs) { {
|
9
|
+
:read => true,
|
10
|
+
:unread => false,
|
11
|
+
:last_read_at => "2012-10-09T23:39:01Z"
|
12
|
+
}}
|
13
|
+
|
14
|
+
before { subject.oauth_token = OAUTH_TOKEN }
|
15
|
+
|
16
|
+
after { reset_authentication_for subject }
|
17
|
+
|
18
|
+
context 'an authenticate user' do
|
19
|
+
let(:request_path) { '/notifications'}
|
20
|
+
|
21
|
+
before {
|
22
|
+
stub_put(request_path).
|
23
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN }).
|
24
|
+
to_return(:body => body, :status => status,
|
25
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
26
|
+
}
|
27
|
+
|
28
|
+
it 'should get the resource' do
|
29
|
+
subject.mark inputs.merge(:unknown => true)
|
30
|
+
a_put(request_path).
|
31
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN}).
|
32
|
+
should have_been_made
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'in a repository' do
|
37
|
+
let(:user) { 'peter-murach' }
|
38
|
+
let(:repo) { 'github' }
|
39
|
+
let(:request_path) { "/repos/#{user}/#{repo}/notifications" }
|
40
|
+
|
41
|
+
before {
|
42
|
+
stub_put(request_path).
|
43
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN }).
|
44
|
+
to_return(:body => body, :status => status,
|
45
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
46
|
+
}
|
47
|
+
|
48
|
+
it 'should get the resource' do
|
49
|
+
subject.mark inputs.merge(:user => user, :repo => repo)
|
50
|
+
a_put(request_path).
|
51
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN}).
|
52
|
+
should have_been_made
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'a thread' do
|
57
|
+
let(:thread_id) { 1 }
|
58
|
+
let(:request_path) { "/notifications/threads/#{thread_id}" }
|
59
|
+
|
60
|
+
before {
|
61
|
+
stub_patch(request_path).
|
62
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN }).
|
63
|
+
to_return(:body => body, :status => status,
|
64
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
65
|
+
}
|
66
|
+
|
67
|
+
it 'should get the resource' do
|
68
|
+
subject.mark inputs.merge(:thread_id => thread_id)
|
69
|
+
a_patch(request_path).
|
70
|
+
with(:body => inputs, :query => {:access_token => OAUTH_TOKEN}).
|
71
|
+
should have_been_made
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end # mark
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Notifications, '#subscribed?' do
|
6
|
+
let(:thread_id) { 1 }
|
7
|
+
let(:request_path) { "/notifications/threads/#{thread_id}/subscription" }
|
8
|
+
|
9
|
+
before {
|
10
|
+
subject.oauth_token = OAUTH_TOKEN
|
11
|
+
stub_get(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
12
|
+
to_return(:body => body, :status => status,
|
13
|
+
:headers => {:content_type => "application/json; charset=utf-8"})
|
14
|
+
}
|
15
|
+
|
16
|
+
after { reset_authentication_for subject }
|
17
|
+
|
18
|
+
context 'resource found for authenticated user' do
|
19
|
+
let(:body) { fixture('activity/subscribed.json') }
|
20
|
+
let(:status) { 200 }
|
21
|
+
|
22
|
+
it 'asserts thread id presence' do
|
23
|
+
expect { subject.subscribed? nil }.to raise_error(ArgumentError)
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'gets the resource' do
|
27
|
+
subject.subscribed? thread_id
|
28
|
+
a_get(request_path).with(:query => {:access_token => OAUTH_TOKEN }).
|
29
|
+
should have_been_made
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'gets resource information' do
|
33
|
+
subscribed = subject.subscribed? thread_id
|
34
|
+
subscribed.subscribed.should be_true
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "resource not found for a user" do
|
39
|
+
let(:body) { '' }
|
40
|
+
let(:status) { [404, "Not Found"] }
|
41
|
+
|
42
|
+
it "should return 404 with a message 'Not Found'" do
|
43
|
+
expect {
|
44
|
+
subject.subscribed? thread_id
|
45
|
+
}.to raise_error(Github::Error::NotFound)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end # subscribed
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Starring, '#list' do
|
6
|
+
let(:user) { 'peter-murach' }
|
7
|
+
let(:repo) { 'github' }
|
8
|
+
let(:request_path) { "/repos/#{user}/#{repo}/stargazers" }
|
9
|
+
|
10
|
+
after { reset_authentication_for subject }
|
11
|
+
|
12
|
+
before {
|
13
|
+
stub_get(request_path).
|
14
|
+
to_return(:body => body, :status => status, :headers => {})
|
15
|
+
}
|
16
|
+
|
17
|
+
context 'resource found' do
|
18
|
+
let(:body) { fixture("repos/stargazers.json") }
|
19
|
+
let(:status) { 200 }
|
20
|
+
|
21
|
+
it { should respond_to :all }
|
22
|
+
|
23
|
+
it "should fail to get resource without username" do
|
24
|
+
expect { subject.list }.to raise_error(ArgumentError)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should yield iterator if block given" do
|
28
|
+
subject.should_receive(:list).with(user, repo).and_yield('github')
|
29
|
+
subject.list(user, repo) { |param| 'github' }
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should get the resources" do
|
33
|
+
subject.list user, repo
|
34
|
+
a_get(request_path).should have_been_made
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should return array of resources" do
|
38
|
+
stargazers = subject.list user, repo
|
39
|
+
stargazers.should be_an Array
|
40
|
+
stargazers.should have(1).items
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should return result of mash type" do
|
44
|
+
stargazers = subject.list user, repo
|
45
|
+
stargazers.first.should be_a Hashie::Mash
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should get watcher information" do
|
49
|
+
stargazers = subject.list user, repo
|
50
|
+
stargazers.first.login.should == 'octocat'
|
51
|
+
end
|
52
|
+
|
53
|
+
context "fail to find resource" do
|
54
|
+
let(:body) { '' }
|
55
|
+
let(:status) { 404 }
|
56
|
+
|
57
|
+
it "should return 404 not found message" do
|
58
|
+
expect {
|
59
|
+
subject.list user, repo
|
60
|
+
}.to raise_error(Github::Error::NotFound)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end # list
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Starring, '#star' do
|
6
|
+
let(:user) { 'peter-murach' }
|
7
|
+
let(:repo) { 'github' }
|
8
|
+
let(:request_path) { "/user/starred/#{user}/#{repo}" }
|
9
|
+
|
10
|
+
after { reset_authentication_for subject }
|
11
|
+
|
12
|
+
context "user authenticated" do
|
13
|
+
context "with correct information" do
|
14
|
+
before do
|
15
|
+
subject.oauth_token = OAUTH_TOKEN
|
16
|
+
stub_put(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
17
|
+
to_return(:body => "", :status => 204, :headers => {})
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should successfully star a repo" do
|
21
|
+
subject.star user, repo
|
22
|
+
a_put(request_path).with(:query => {:access_token => OAUTH_TOKEN}).
|
23
|
+
should have_been_made
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context "user unauthenticated" do
|
29
|
+
it "should fail" do
|
30
|
+
stub_put(request_path).to_return(:body => "", :status => 401, :headers => {})
|
31
|
+
expect {
|
32
|
+
subject.star user, repo
|
33
|
+
}.to raise_error(Github::Error::Unauthorized)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end # star
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Starring, '#starred' do
|
6
|
+
let(:user) { 'peter-murach' }
|
7
|
+
let(:repo) { 'github' }
|
8
|
+
|
9
|
+
after { reset_authentication_for subject }
|
10
|
+
|
11
|
+
context "if user unauthenticated" do
|
12
|
+
it "should fail to get resource without username " do
|
13
|
+
stub_get("/user/starred").
|
14
|
+
to_return(:body => '', :status => 401, :headers => {})
|
15
|
+
expect { subject.starred }.to raise_error(Github::Error::Unauthorized)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should get the resource with username" do
|
19
|
+
stub_get("/users/#{user}/starred").
|
20
|
+
to_return(:body => fixture("repos/starred.json"), :status => 200, :headers => {})
|
21
|
+
subject.starred :user => user
|
22
|
+
a_get("/users/#{user}/starred").should have_been_made
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "if user authenticated" do
|
27
|
+
before do
|
28
|
+
subject.oauth_token = OAUTH_TOKEN
|
29
|
+
stub_get("/user/starred").
|
30
|
+
with(:query => {:access_token => OAUTH_TOKEN}).
|
31
|
+
to_return(:body => fixture("repos/starred.json"),
|
32
|
+
:status => 200, :headers => {})
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should get the resources" do
|
36
|
+
subject.starred
|
37
|
+
a_get("/user/starred").with(:query => {:access_token => OAUTH_TOKEN}).
|
38
|
+
should have_been_made
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should return array of resources" do
|
42
|
+
starred = subject.starred
|
43
|
+
starred.should be_an Array
|
44
|
+
starred.should have(1).items
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should get starred information" do
|
48
|
+
starred = subject.starred
|
49
|
+
starred.first.name.should == 'Hello-World'
|
50
|
+
starred.first.owner.login.should == 'octocat'
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end # starred
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Github::Activity::Starring, '#list' do
|
6
|
+
let(:user) { 'peter-murach' }
|
7
|
+
let(:repo) { 'github' }
|
8
|
+
let(:request_path) { "/user/starred/#{user}/#{repo}" }
|
9
|
+
|
10
|
+
after { reset_authentication_for subject }
|
11
|
+
|
12
|
+
context "with username ane reponame passed" do
|
13
|
+
context "this repo is being watched by the user"
|
14
|
+
before do
|
15
|
+
stub_get(request_path).
|
16
|
+
to_return(:body => "", :status => 404,
|
17
|
+
:headers => {:user_agent => subject.user_agent})
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should return false if resource not found" do
|
21
|
+
starring = subject.starring? user, repo
|
22
|
+
starring.should be_false
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should return true if resoure found" do
|
26
|
+
stub_get(request_path).to_return(:body => "", :status => 200,
|
27
|
+
:headers => {:user_agent => subject.user_agent})
|
28
|
+
starring = subject.starring? user, repo
|
29
|
+
starring.should be_true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "without username and reponame passed" do
|
34
|
+
it "should fail validation " do
|
35
|
+
expect { subject.starring? nil, nil }.to raise_error(ArgumentError)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end # starring?
|