gitlab 2.2.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +3 -1
- data/LICENSE.txt +1 -1
- data/README.md +9 -1
- data/lib/gitlab.rb +7 -7
- data/lib/gitlab/api.rb +1 -1
- data/lib/gitlab/client.rb +9 -7
- data/lib/gitlab/client/groups.rb +88 -0
- data/lib/gitlab/client/issues.rb +13 -16
- data/lib/gitlab/client/merge_requests.rb +67 -5
- data/lib/gitlab/client/milestones.rb +6 -8
- data/lib/gitlab/client/notes.rb +106 -0
- data/lib/gitlab/client/projects.rb +98 -17
- data/lib/gitlab/client/repositories.rb +4 -6
- data/lib/gitlab/client/snippets.rb +22 -15
- data/lib/gitlab/configuration.rb +2 -1
- data/lib/gitlab/error.rb +9 -0
- data/lib/gitlab/request.rb +25 -20
- data/lib/gitlab/version.rb +1 -1
- data/spec/fixtures/comment_merge_request.json +1 -0
- data/spec/fixtures/create_merge_request.json +1 -0
- data/spec/fixtures/error_already_exists.json +1 -0
- data/spec/fixtures/group.json +60 -0
- data/spec/fixtures/group_create.json +1 -0
- data/spec/fixtures/group_member.json +1 -0
- data/spec/fixtures/group_member_delete.json +1 -0
- data/spec/fixtures/group_members.json +1 -0
- data/spec/fixtures/groups.json +2 -0
- data/spec/fixtures/note.json +1 -0
- data/spec/fixtures/notes.json +1 -0
- data/spec/fixtures/project.json +1 -1
- data/spec/fixtures/project_delete_key.json +8 -0
- data/spec/fixtures/project_for_user.json +1 -0
- data/spec/fixtures/project_fork_link.json +1 -0
- data/spec/fixtures/project_key.json +6 -0
- data/spec/fixtures/project_keys.json +6 -0
- data/spec/fixtures/update_merge_request.json +1 -0
- data/spec/gitlab/client/groups_spec.rb +111 -0
- data/spec/gitlab/client/issues_spec.rb +2 -2
- data/spec/gitlab/client/merge_requests_spec.rb +57 -0
- data/spec/gitlab/client/notes_spec.rb +156 -0
- data/spec/gitlab/client/projects_spec.rb +97 -2
- data/spec/gitlab/client/users_spec.rb +20 -9
- data/spec/gitlab_spec.rb +7 -0
- data/spec/spec_helper.rb +2 -2
- metadata +55 -31
data/lib/gitlab/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"note":"Cool Merge Request!","author":{"id":1,"username":"jsmith","email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-07-11T01:32:18Z"}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":2,"target_branch":"master","source_branch":"api","project_id":3,"title":"New feature","closed":false,"merged":false,"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-10-19T05:56:05Z"},"assignee":{"id":2,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-10-19T05:56:14Z"}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"message": "409 Already exists"}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
{"id": 10, "name": "GitLab-Group", "path": "gitlab-group", "owner_id": 6, "projects": [
|
2
|
+
{
|
3
|
+
"id": 9,
|
4
|
+
"name": "mojito",
|
5
|
+
"description": null,
|
6
|
+
"default_branch": "master",
|
7
|
+
"owner": {
|
8
|
+
"id": 6,
|
9
|
+
"username": "jose",
|
10
|
+
"email": "jose@abc.com",
|
11
|
+
"name": "Jose Jose",
|
12
|
+
"blocked": false,
|
13
|
+
"created_at": "2013-02-06T06:54:06Z"
|
14
|
+
},
|
15
|
+
"path": "mojito",
|
16
|
+
"path_with_namespace": "gitlab-group/mojito",
|
17
|
+
"issues_enabled": true,
|
18
|
+
"merge_requests_enabled": true,
|
19
|
+
"wall_enabled": true,
|
20
|
+
"wiki_enabled": true,
|
21
|
+
"created_at": "2013-02-06T16:59:15Z",
|
22
|
+
"namespace": {
|
23
|
+
"created_at": "2013-02-06T16:58:22Z",
|
24
|
+
"id": 10,
|
25
|
+
"name": "GitLab-Group",
|
26
|
+
"owner_id": 6,
|
27
|
+
"path": "gitlab-group",
|
28
|
+
"updated_at": "2013-02-06T16:58:22Z"
|
29
|
+
}
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"id": 10,
|
33
|
+
"name": "gitlabhq",
|
34
|
+
"description": null,
|
35
|
+
"default_branch": null,
|
36
|
+
"owner": {
|
37
|
+
"id": 6,
|
38
|
+
"username": "randx",
|
39
|
+
"email": "randx@github.com",
|
40
|
+
"name": "Dmitry Z",
|
41
|
+
"blocked": false,
|
42
|
+
"created_at": "2013-02-06T06:54:06Z"
|
43
|
+
},
|
44
|
+
"path": "gitlabhq",
|
45
|
+
"path_with_namespace": "gitlab-group/gitlabhq",
|
46
|
+
"issues_enabled": true,
|
47
|
+
"merge_requests_enabled": true,
|
48
|
+
"wall_enabled": true,
|
49
|
+
"wiki_enabled": true,
|
50
|
+
"created_at": "2013-02-06T17:02:31Z",
|
51
|
+
"namespace": {
|
52
|
+
"created_at": "2013-02-06T16:58:22Z",
|
53
|
+
"id": 10,
|
54
|
+
"name": "GitLab-Group",
|
55
|
+
"owner_id": 6,
|
56
|
+
"path": "gitlab-group",
|
57
|
+
"updated_at": "2013-02-06T16:58:22Z"
|
58
|
+
}
|
59
|
+
}
|
60
|
+
]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":3,"name":"Gitlab-Group","path":"gitlab-group","owner_id":1}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":2,"username":"jsmith","email":"jsmith@local.host","name":"John Smith","state":"active","created_at":"2013-09-04T18:15:30Z","access_level":10}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"created_at":"2013-09-04T18:18:15Z","group_access":10,"group_id":3,"id":2,"notification_level":3,"updated_at":"2013-09-04T18:18:15Z","user_id":2}
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"id":1,"username":"eraymond","email":"eraymond@local.host","name":"Edward Raymond","state":"active","created_at":"2013-08-30T16:16:22Z","access_level":50},{"id":1,"username":"jsmith","email":"jsmith@local.host","name":"John Smith","state":"active","created_at":"2013-08-30T16:16:22Z","access_level":50}]
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":1201,"body":"The solution is rather tricky","author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"created_at":"2012-11-27T19:16:44Z"}
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"id":1201,"body":"The solution is rather tricky","author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"created_at":"2012-11-27T19:16:44Z"},{"id":1207,"body":"I know, right?","author":{"id":1,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-09-17T09:42:03Z"},"created_at":"2012-11-27T19:58:21Z"}]
|
data/spec/fixtures/project.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"id":3,"code":"gitlab","name":"Gitlab","description":null,"path":"gitlab","default_branch":null,"owner":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"
|
1
|
+
{"id":3,"code":"gitlab","name":"Gitlab","description":null,"path":"gitlab","default_branch":null,"owner":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"public":false,"issues_enabled":true,"merge_requests_enabled":true,"wall_enabled":true,"wiki_enabled":true,"created_at":"2012-09-17T09:41:58Z"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":1,"code":"brute","name":"Brute","description":null,"path":"brute","default_branch":null,"owner":{"id":1,"email":"john@example.com","name":"John Owner","blocked":false,"created_at":"2012-09-17T09:41:56Z"},"private":true,"issues_enabled":true,"merge_requests_enabled":true,"wall_enabled":true,"wiki_enabled":true,"created_at":"2012-09-17T09:41:56Z"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"created_at":"2013-07-03T13:51:48Z","forked_from_project_id":24,"forked_to_project_id":42,"id":1,"updated_at":"2013-07-03T13:51:48Z"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":1,"target_branch":"master","source_branch":"api","project_id":3,"title":"A different new feature","closed":false,"merged":false,"author":{"id":1,"email":"john@example.com","name":"John Smith","blocked":false,"created_at":"2012-10-19T05:56:05Z"},"assignee":{"id":2,"email":"jack@example.com","name":"Jack Smith","blocked":false,"created_at":"2012-10-19T05:56:14Z"}}
|
@@ -0,0 +1,111 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe ".groups" do
|
5
|
+
before do
|
6
|
+
stub_get("/groups", "groups")
|
7
|
+
stub_get("/groups/3", "group")
|
8
|
+
@group = Gitlab.group(3)
|
9
|
+
@groups = Gitlab.groups
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should get the correct resource" do
|
13
|
+
a_get("/groups").should have_been_made
|
14
|
+
a_get("/groups/3").should have_been_made
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should return an array of Groups" do
|
18
|
+
@groups.should be_an Array
|
19
|
+
@groups.first.path.should == "threegroup"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe ".create_group" do
|
24
|
+
before do
|
25
|
+
stub_post("/groups", "group_create")
|
26
|
+
@group = Gitlab.create_group('GitLab-Group', 'gitlab-path')
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should get the correct resource" do
|
30
|
+
a_post("/groups").
|
31
|
+
with(:body => {:path => 'gitlab-path', :name => 'GitLab-Group'}).should have_been_made
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should return information about a created group" do
|
35
|
+
@group.name.should == "Gitlab-Group"
|
36
|
+
@group.path.should == "gitlab-group"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe ".transfer_project_to_group" do
|
41
|
+
before do
|
42
|
+
stub_post("/projects", "project")
|
43
|
+
@project = Gitlab.create_project('Gitlab')
|
44
|
+
stub_post("/groups", "group_create")
|
45
|
+
@group = Gitlab.create_group('GitLab-Group', 'gitlab-path')
|
46
|
+
|
47
|
+
stub_post("/groups/#{@group.id}/projects/#{@project.id}", "group_create")
|
48
|
+
@group_transfer = Gitlab.transfer_project_to_group(@group.id,@project.id)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should post to the correct resource" do
|
52
|
+
a_post("/groups/#{@group.id}/projects/#{@project.id}").with(:body => {:id => @group.id.to_s, :project_id => @project.id.to_s}).should have_been_made
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should return information about the group" do
|
56
|
+
@group_transfer.name.should == @group.name
|
57
|
+
@group_transfer.path.should == @group.path
|
58
|
+
@group_transfer.id.should == @group.id
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe ".group_members" do
|
63
|
+
before do
|
64
|
+
stub_get("/groups/3/members", "group_members")
|
65
|
+
@members = Gitlab.group_members(3)
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should get the correct resource" do
|
69
|
+
a_get("/groups/3/members").should have_been_made
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should return information about a group members" do
|
73
|
+
@members.should be_an Array
|
74
|
+
@members.size.should == 2
|
75
|
+
@members[1].name.should == "John Smith"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe ".add_group_member" do
|
80
|
+
before do
|
81
|
+
stub_post("/groups/3/members", "group_member")
|
82
|
+
@member = Gitlab.add_group_member(3, 1, 40)
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should get the correct resource" do
|
86
|
+
a_post("/groups/3/members").
|
87
|
+
with(:body => {:user_id => '1', :access_level => '40'}).should have_been_made
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should return information about an added member" do
|
91
|
+
@member.name.should == "John Smith"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe ".remove_group_member" do
|
96
|
+
before do
|
97
|
+
stub_delete("/groups/3/members/1", "group_member_delete")
|
98
|
+
@group = Gitlab.remove_group_member(3, 1)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "should get the correct resource" do
|
102
|
+
a_delete("/groups/3/members/1").should have_been_made
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should return information about the group the member was removed from" do
|
106
|
+
@group.group_id.should == 3
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
end
|
@@ -94,7 +94,7 @@ describe Gitlab::Client do
|
|
94
94
|
|
95
95
|
it "should get the correct resource" do
|
96
96
|
a_put("/projects/3/issues/33").
|
97
|
-
with(:body => {:
|
97
|
+
with(:body => {:state_event => 'close'}).should have_been_made
|
98
98
|
end
|
99
99
|
|
100
100
|
it "should return information about an closed issue" do
|
@@ -111,7 +111,7 @@ describe Gitlab::Client do
|
|
111
111
|
|
112
112
|
it "should get the correct resource" do
|
113
113
|
a_put("/projects/3/issues/33").
|
114
|
-
with(:body => {:
|
114
|
+
with(:body => {:state_event => 'reopen'}).should have_been_made
|
115
115
|
end
|
116
116
|
|
117
117
|
it "should return information about an reopened issue" do
|
@@ -32,4 +32,61 @@ describe Gitlab::Client do
|
|
32
32
|
@merge_request.assignee.name.should == "Jack Smith"
|
33
33
|
end
|
34
34
|
end
|
35
|
+
|
36
|
+
describe ".create_merge_request" do
|
37
|
+
before do
|
38
|
+
stub_post("/projects/3/merge_requests", "create_merge_request")
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should fail if it doesn't have a source_branch" do
|
42
|
+
expect {
|
43
|
+
Gitlab.create_merge_request(3, 'New merge request', :target_branch => 'master')
|
44
|
+
}.to raise_error Gitlab::Error::MissingAttributes
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should fail if it doesn't have a target_branch" do
|
48
|
+
expect {
|
49
|
+
Gitlab.create_merge_request(3, 'New merge request', :source_branch => 'dev')
|
50
|
+
}.to raise_error Gitlab::Error::MissingAttributes
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should return information about a merge request" do
|
54
|
+
@merge_request = Gitlab.create_merge_request(3, 'New feature',
|
55
|
+
:source_branch => 'api',
|
56
|
+
:target_branch => 'master'
|
57
|
+
)
|
58
|
+
@merge_request.project_id.should == 3
|
59
|
+
@merge_request.assignee.name.should == "Jack Smith"
|
60
|
+
@merge_request.title.should == 'New feature'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe ".update_merge_request" do
|
65
|
+
before do
|
66
|
+
stub_put("/projects/3/merge_request/2", "update_merge_request")
|
67
|
+
@merge_request = Gitlab.update_merge_request(3, 2,
|
68
|
+
:assignee_id => '1',
|
69
|
+
:target_branch => 'master',
|
70
|
+
:title => 'A different new feature'
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should return information about a merge request" do
|
75
|
+
@merge_request.project_id.should == 3
|
76
|
+
@merge_request.assignee.name.should == "Jack Smith"
|
77
|
+
@merge_request.title.should == 'A different new feature'
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe ".create_merge_request_comment" do
|
82
|
+
before do
|
83
|
+
stub_post("/projects/3/merge_request/2/comments", "comment_merge_request")
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should return information about a merge request" do
|
87
|
+
@merge_request = Gitlab.create_merge_request_comment(3, 2, 'Cool Merge Request!')
|
88
|
+
@merge_request.note.should == 'Cool Merge Request!'
|
89
|
+
@merge_request.author.id == 1
|
90
|
+
end
|
91
|
+
end
|
35
92
|
end
|
@@ -0,0 +1,156 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gitlab::Client do
|
4
|
+
describe "notes" do
|
5
|
+
context "when wall notes" do
|
6
|
+
before do
|
7
|
+
stub_get("/projects/3/notes", "notes")
|
8
|
+
@notes = Gitlab.notes(3)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should get the correct resource" do
|
12
|
+
a_get("/projects/3/notes").should have_been_made
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should return an array of notes" do
|
16
|
+
@notes.should be_an Array
|
17
|
+
@notes.first.author.name.should == "John Smith"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "when issue notes" do
|
22
|
+
before do
|
23
|
+
stub_get("/projects/3/issues/7/notes", "notes")
|
24
|
+
@notes = Gitlab.issue_notes(3, 7)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should get the correct resource" do
|
28
|
+
a_get("/projects/3/issues/7/notes").should have_been_made
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return an array of notes" do
|
32
|
+
@notes.should be_an Array
|
33
|
+
@notes.first.author.name.should == "John Smith"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when snippet notes" do
|
38
|
+
before do
|
39
|
+
stub_get("/projects/3/snippets/7/notes", "notes")
|
40
|
+
@notes = Gitlab.snippet_notes(3, 7)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should get the correct resource" do
|
44
|
+
a_get("/projects/3/snippets/7/notes").should have_been_made
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return an array of notes" do
|
48
|
+
@notes.should be_an Array
|
49
|
+
@notes.first.author.name.should == "John Smith"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "note" do
|
55
|
+
context "when wall note" do
|
56
|
+
before do
|
57
|
+
stub_get("/projects/3/notes/1201", "note")
|
58
|
+
@note = Gitlab.note(3, 1201)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should get the correct resource" do
|
62
|
+
a_get("/projects/3/notes/1201").should have_been_made
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should return information about a note" do
|
66
|
+
@note.body.should == "The solution is rather tricky"
|
67
|
+
@note.author.name.should == "John Smith"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context "when issue note" do
|
72
|
+
before do
|
73
|
+
stub_get("/projects/3/issues/7/notes/1201", "note")
|
74
|
+
@note = Gitlab.issue_note(3, 7, 1201)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should get the correct resource" do
|
78
|
+
a_get("/projects/3/issues/7/notes/1201").should have_been_made
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should return information about a note" do
|
82
|
+
@note.body.should == "The solution is rather tricky"
|
83
|
+
@note.author.name.should == "John Smith"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context "when snippet note" do
|
88
|
+
before do
|
89
|
+
stub_get("/projects/3/snippets/7/notes/1201", "note")
|
90
|
+
@note = Gitlab.snippet_note(3, 7, 1201)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should get the correct resource" do
|
94
|
+
a_get("/projects/3/snippets/7/notes/1201").should have_been_made
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should return information about a note" do
|
98
|
+
@note.body.should == "The solution is rather tricky"
|
99
|
+
@note.author.name.should == "John Smith"
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "create note" do
|
105
|
+
context "when wall note" do
|
106
|
+
before do
|
107
|
+
stub_post("/projects/3/notes", "note")
|
108
|
+
@note = Gitlab.create_note(3, "The solution is rather tricky")
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should get the correct resource" do
|
112
|
+
a_post("/projects/3/notes").
|
113
|
+
with(:body => {:body => 'The solution is rather tricky'}).should have_been_made
|
114
|
+
end
|
115
|
+
|
116
|
+
it "should return information about a created note" do
|
117
|
+
@note.body.should == "The solution is rather tricky"
|
118
|
+
@note.author.name.should == "John Smith"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
context "when issue note" do
|
123
|
+
before do
|
124
|
+
stub_post("/projects/3/issues/7/notes", "note")
|
125
|
+
@note = Gitlab.create_issue_note(3, 7, "The solution is rather tricky")
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should get the correct resource" do
|
129
|
+
a_post("/projects/3/issues/7/notes").
|
130
|
+
with(:body => {:body => 'The solution is rather tricky'}).should have_been_made
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should return information about a created note" do
|
134
|
+
@note.body.should == "The solution is rather tricky"
|
135
|
+
@note.author.name.should == "John Smith"
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
context "when snippet note" do
|
140
|
+
before do
|
141
|
+
stub_post("/projects/3/snippets/7/notes", "note")
|
142
|
+
@note = Gitlab.create_snippet_note(3, 7, "The solution is rather tricky")
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should get the correct resource" do
|
146
|
+
a_post("/projects/3/snippets/7/notes").
|
147
|
+
with(:body => {:body => 'The solution is rather tricky'}).should have_been_made
|
148
|
+
end
|
149
|
+
|
150
|
+
it "should return information about a created note" do
|
151
|
+
@note.body.should == "The solution is rather tricky"
|
152
|
+
@note.author.name.should == "John Smith"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|