gitlab 4.4.0 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -2
  3. data/gitlab.gemspec +3 -1
  4. data/lib/gitlab/client.rb +1 -0
  5. data/lib/gitlab/client/merge_request_approvals.rb +110 -0
  6. data/lib/gitlab/client/projects.rb +19 -9
  7. data/lib/gitlab/error.rb +10 -3
  8. data/lib/gitlab/version.rb +1 -1
  9. metadata +5 -444
  10. data/.dockerignore +0 -6
  11. data/.rubocop.yml +0 -33
  12. data/.travis.yml +0 -13
  13. data/Dockerfile +0 -8
  14. data/docker-compose.yml +0 -19
  15. data/docker.env +0 -2
  16. data/spec/fixtures/access_request.json +0 -8
  17. data/spec/fixtures/access_requests.json +0 -18
  18. data/spec/fixtures/approved_access_request.json +0 -8
  19. data/spec/fixtures/board_list.json +0 -1
  20. data/spec/fixtures/board_lists.json +0 -1
  21. data/spec/fixtures/boards.json +0 -1
  22. data/spec/fixtures/branch.json +0 -1
  23. data/spec/fixtures/branch_delete.json +0 -3
  24. data/spec/fixtures/branches.json +0 -1
  25. data/spec/fixtures/build.json +0 -38
  26. data/spec/fixtures/build_artifacts.json +0 -0
  27. data/spec/fixtures/build_cancel.json +0 -24
  28. data/spec/fixtures/build_erase.json +0 -24
  29. data/spec/fixtures/build_retry.json +0 -24
  30. data/spec/fixtures/builds.json +0 -78
  31. data/spec/fixtures/builds_commits.json +0 -64
  32. data/spec/fixtures/compare_merge_request_diff.json +0 -31
  33. data/spec/fixtures/default_approved_access_request.json +0 -8
  34. data/spec/fixtures/deployment.json +0 -57
  35. data/spec/fixtures/deployments.json +0 -116
  36. data/spec/fixtures/empty.json +0 -0
  37. data/spec/fixtures/environment.json +0 -6
  38. data/spec/fixtures/environments.json +0 -14
  39. data/spec/fixtures/error_already_exists.json +0 -1
  40. data/spec/fixtures/error_project_not_found.json +0 -1
  41. data/spec/fixtures/get_repository_file.json +0 -1
  42. data/spec/fixtures/group.json +0 -60
  43. data/spec/fixtures/group_create.json +0 -1
  44. data/spec/fixtures/group_create_with_description.json +0 -1
  45. data/spec/fixtures/group_delete.json +0 -1
  46. data/spec/fixtures/group_edit.json +0 -14
  47. data/spec/fixtures/group_member.json +0 -1
  48. data/spec/fixtures/group_member_delete.json +0 -1
  49. data/spec/fixtures/group_member_edit.json +0 -1
  50. data/spec/fixtures/group_members.json +0 -1
  51. data/spec/fixtures/group_milestone.json +0 -1
  52. data/spec/fixtures/group_milestone_issues.json +0 -1
  53. data/spec/fixtures/group_milestone_merge_requests.json +0 -1
  54. data/spec/fixtures/group_milestones.json +0 -1
  55. data/spec/fixtures/group_projects.json +0 -44
  56. data/spec/fixtures/group_search.json +0 -2
  57. data/spec/fixtures/group_subgroups.json +0 -16
  58. data/spec/fixtures/groups.json +0 -2
  59. data/spec/fixtures/issue.json +0 -1
  60. data/spec/fixtures/issue_award_emoji.json +0 -16
  61. data/spec/fixtures/issue_award_emojis.json +0 -34
  62. data/spec/fixtures/issues.json +0 -1
  63. data/spec/fixtures/job.json +0 -43
  64. data/spec/fixtures/job_trace.json +0 -1
  65. data/spec/fixtures/jobs.json +0 -91
  66. data/spec/fixtures/key.json +0 -1
  67. data/spec/fixtures/keys.json +0 -1
  68. data/spec/fixtures/label.json +0 -1
  69. data/spec/fixtures/label_unsubscribe.json +0 -1
  70. data/spec/fixtures/labels.json +0 -1
  71. data/spec/fixtures/merge_request.json +0 -1
  72. data/spec/fixtures/merge_request_award_emoji.json +0 -16
  73. data/spec/fixtures/merge_request_award_emojis.json +0 -34
  74. data/spec/fixtures/merge_request_changes.json +0 -1
  75. data/spec/fixtures/merge_request_closes_issues.json +0 -1
  76. data/spec/fixtures/merge_request_comment.json +0 -1
  77. data/spec/fixtures/merge_request_comments.json +0 -1
  78. data/spec/fixtures/merge_request_commits.json +0 -1
  79. data/spec/fixtures/merge_request_discussion.json +0 -39
  80. data/spec/fixtures/merge_request_discussion_note.json +0 -33
  81. data/spec/fixtures/merge_request_discussions.json +0 -41
  82. data/spec/fixtures/merge_requests.json +0 -1
  83. data/spec/fixtures/milestone.json +0 -1
  84. data/spec/fixtures/milestone_issues.json +0 -1
  85. data/spec/fixtures/milestone_merge_requests.json +0 -1
  86. data/spec/fixtures/milestones.json +0 -1
  87. data/spec/fixtures/namespaces.json +0 -1
  88. data/spec/fixtures/note.json +0 -1
  89. data/spec/fixtures/note_award_emoji.json +0 -16
  90. data/spec/fixtures/note_award_emojis.json +0 -18
  91. data/spec/fixtures/notes.json +0 -1
  92. data/spec/fixtures/pipeline.json +0 -23
  93. data/spec/fixtures/pipeline_cancel.json +0 -23
  94. data/spec/fixtures/pipeline_create.json +0 -23
  95. data/spec/fixtures/pipeline_jobs.json +0 -91
  96. data/spec/fixtures/pipeline_retry.json +0 -23
  97. data/spec/fixtures/pipeline_schedule.json +0 -32
  98. data/spec/fixtures/pipeline_schedule_create.json +0 -21
  99. data/spec/fixtures/pipeline_schedule_update.json +0 -26
  100. data/spec/fixtures/pipeline_schedule_variable.json +0 -5
  101. data/spec/fixtures/pipeline_schedule_variable_update.json +0 -5
  102. data/spec/fixtures/pipeline_schedules.json +0 -22
  103. data/spec/fixtures/pipelines.json +0 -48
  104. data/spec/fixtures/project.json +0 -1
  105. data/spec/fixtures/project_commit.json +0 -13
  106. data/spec/fixtures/project_commit_comment.json +0 -1
  107. data/spec/fixtures/project_commit_comments.json +0 -1
  108. data/spec/fixtures/project_commit_create.json +0 -22
  109. data/spec/fixtures/project_commit_diff.json +0 -10
  110. data/spec/fixtures/project_commit_merge_requests.json +0 -1
  111. data/spec/fixtures/project_commit_status.json +0 -42
  112. data/spec/fixtures/project_commits.json +0 -1
  113. data/spec/fixtures/project_edit.json +0 -21
  114. data/spec/fixtures/project_events.json +0 -81
  115. data/spec/fixtures/project_for_user.json +0 -1
  116. data/spec/fixtures/project_fork.json +0 -50
  117. data/spec/fixtures/project_fork_link.json +0 -1
  118. data/spec/fixtures/project_forked_for_user.json +0 -50
  119. data/spec/fixtures/project_forks.json +0 -50
  120. data/spec/fixtures/project_hook.json +0 -1
  121. data/spec/fixtures/project_hooks.json +0 -1
  122. data/spec/fixtures/project_issues.json +0 -1
  123. data/spec/fixtures/project_key.json +0 -6
  124. data/spec/fixtures/project_keys.json +0 -6
  125. data/spec/fixtures/project_runner_enable.json +0 -7
  126. data/spec/fixtures/project_runners.json +0 -16
  127. data/spec/fixtures/project_search.json +0 -1
  128. data/spec/fixtures/project_star.json +0 -44
  129. data/spec/fixtures/project_tag_annotated.json +0 -1
  130. data/spec/fixtures/project_tag_lightweight.json +0 -1
  131. data/spec/fixtures/project_tags.json +0 -1
  132. data/spec/fixtures/project_unstar.json +0 -44
  133. data/spec/fixtures/project_update_commit_status.json +0 -20
  134. data/spec/fixtures/projects.json +0 -1
  135. data/spec/fixtures/push_rule.json +0 -1
  136. data/spec/fixtures/raw_file.json +0 -2
  137. data/spec/fixtures/release_create.json +0 -1
  138. data/spec/fixtures/release_update.json +0 -1
  139. data/spec/fixtures/repository_file.json +0 -1
  140. data/spec/fixtures/run_trigger.json +0 -1
  141. data/spec/fixtures/runner.json +0 -26
  142. data/spec/fixtures/runner_delete.json +0 -7
  143. data/spec/fixtures/runner_edit.json +0 -26
  144. data/spec/fixtures/runner_jobs.json +0 -63
  145. data/spec/fixtures/runners.json +0 -16
  146. data/spec/fixtures/runners_all.json +0 -30
  147. data/spec/fixtures/service.json +0 -1
  148. data/spec/fixtures/session.json +0 -1
  149. data/spec/fixtures/shell_history.json +0 -2
  150. data/spec/fixtures/sidekiq_compound_metrics.json +0 -36
  151. data/spec/fixtures/sidekiq_job_stats.json +0 -7
  152. data/spec/fixtures/sidekiq_process_metrics.json +0 -25
  153. data/spec/fixtures/sidekiq_queue_metrics.json +0 -8
  154. data/spec/fixtures/snippet.json +0 -1
  155. data/spec/fixtures/snippet_award_emoji.json +0 -16
  156. data/spec/fixtures/snippet_award_emojis.json +0 -34
  157. data/spec/fixtures/snippet_content.json +0 -3
  158. data/spec/fixtures/snippets.json +0 -1
  159. data/spec/fixtures/system_hook.json +0 -1
  160. data/spec/fixtures/system_hooks.json +0 -1
  161. data/spec/fixtures/tag.json +0 -1
  162. data/spec/fixtures/tag_create.json +0 -1
  163. data/spec/fixtures/tag_create_with_description.json +0 -1
  164. data/spec/fixtures/tag_delete.json +0 -1
  165. data/spec/fixtures/tags.json +0 -1
  166. data/spec/fixtures/team_member.json +0 -1
  167. data/spec/fixtures/team_members.json +0 -1
  168. data/spec/fixtures/todo.json +0 -73
  169. data/spec/fixtures/todos.json +0 -148
  170. data/spec/fixtures/tree.json +0 -1
  171. data/spec/fixtures/trigger.json +0 -10
  172. data/spec/fixtures/triggers.json +0 -12
  173. data/spec/fixtures/user.json +0 -1
  174. data/spec/fixtures/user_block_unblock.json +0 -1
  175. data/spec/fixtures/user_contribution_events.json +0 -101
  176. data/spec/fixtures/user_email.json +0 -1
  177. data/spec/fixtures/user_emails.json +0 -1
  178. data/spec/fixtures/user_events.json +0 -40
  179. data/spec/fixtures/user_projects.json +0 -153
  180. data/spec/fixtures/user_search.json +0 -1
  181. data/spec/fixtures/users.json +0 -1
  182. data/spec/fixtures/variable.json +0 -4
  183. data/spec/fixtures/variables.json +0 -10
  184. data/spec/gitlab/api_spec.rb +0 -11
  185. data/spec/gitlab/cli_helpers_spec.rb +0 -56
  186. data/spec/gitlab/cli_spec.rb +0 -119
  187. data/spec/gitlab/client/access_requests_spec.rb +0 -141
  188. data/spec/gitlab/client/award_emojis_spec.rb +0 -391
  189. data/spec/gitlab/client/boards_spec.rb +0 -94
  190. data/spec/gitlab/client/branches_spec.rb +0 -118
  191. data/spec/gitlab/client/build_variables_spec.rb +0 -169
  192. data/spec/gitlab/client/builds_spec.rb +0 -148
  193. data/spec/gitlab/client/client_spec.rb +0 -11
  194. data/spec/gitlab/client/commits_spec.rb +0 -190
  195. data/spec/gitlab/client/deployments_spec.rb +0 -38
  196. data/spec/gitlab/client/environments_spec.rb +0 -132
  197. data/spec/gitlab/client/events_spec.rb +0 -48
  198. data/spec/gitlab/client/group_milestones_spec.rb +0 -98
  199. data/spec/gitlab/client/groups_spec.rb +0 -246
  200. data/spec/gitlab/client/issues_spec.rb +0 -285
  201. data/spec/gitlab/client/jobs_spec.rb +0 -135
  202. data/spec/gitlab/client/keys_spec.rb +0 -19
  203. data/spec/gitlab/client/labels_spec.rb +0 -100
  204. data/spec/gitlab/client/merge_requests_spec.rb +0 -351
  205. data/spec/gitlab/client/milestones_spec.rb +0 -98
  206. data/spec/gitlab/client/namespaces_spec.rb +0 -22
  207. data/spec/gitlab/client/notes_spec.rb +0 -333
  208. data/spec/gitlab/client/pipeline_schedules_spec.rb +0 -158
  209. data/spec/gitlab/client/pipeline_triggers_spec.rb +0 -157
  210. data/spec/gitlab/client/pipelines_spec.rb +0 -95
  211. data/spec/gitlab/client/projects_spec.rb +0 -630
  212. data/spec/gitlab/client/repositories_spec.rb +0 -94
  213. data/spec/gitlab/client/repository_files_spec.rb +0 -95
  214. data/spec/gitlab/client/runners_spec.rb +0 -193
  215. data/spec/gitlab/client/services_spec.rb +0 -55
  216. data/spec/gitlab/client/sidekiq_spec.rb +0 -64
  217. data/spec/gitlab/client/snippets_spec.rb +0 -100
  218. data/spec/gitlab/client/system_hooks_spec.rb +0 -69
  219. data/spec/gitlab/client/tags_spec.rb +0 -152
  220. data/spec/gitlab/client/todos_spec.rb +0 -45
  221. data/spec/gitlab/client/users_spec.rb +0 -418
  222. data/spec/gitlab/error_spec.rb +0 -72
  223. data/spec/gitlab/file_response_spec.rb +0 -33
  224. data/spec/gitlab/help_spec.rb +0 -46
  225. data/spec/gitlab/objectified_hash_spec.rb +0 -48
  226. data/spec/gitlab/page_links_spec.rb +0 -16
  227. data/spec/gitlab/paginated_response_spec.rb +0 -60
  228. data/spec/gitlab/request_spec.rb +0 -73
  229. data/spec/gitlab/shell_history_spec.rb +0 -53
  230. data/spec/gitlab/shell_spec.rb +0 -80
  231. data/spec/gitlab_spec.rb +0 -96
  232. data/spec/spec_helper.rb +0 -39
@@ -1,246 +0,0 @@
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 "gets the correct resource" do
13
- expect(a_get("/groups")).to have_been_made
14
- expect(a_get("/groups/3")).to have_been_made
15
- end
16
-
17
- it "returns a paginated response of groups" do
18
- expect(@groups).to be_a Gitlab::PaginatedResponse
19
- expect(@groups.first.path).to eq("threegroup")
20
- end
21
- end
22
-
23
- describe ".create_group" do
24
- context "without description" do
25
- before do
26
- stub_post("/groups", "group_create")
27
- @group = Gitlab.create_group('GitLab-Group', 'gitlab-path')
28
- end
29
-
30
- it "gets the correct resource" do
31
- expect(a_post("/groups").
32
- with(body: { path: 'gitlab-path', name: 'GitLab-Group' })).to have_been_made
33
- end
34
-
35
- it "returns information about a created group" do
36
- expect(@group.name).to eq("Gitlab-Group")
37
- expect(@group.path).to eq("gitlab-group")
38
- end
39
- end
40
-
41
- context "with description" do
42
- before do
43
- stub_post("/groups", "group_create_with_description")
44
- @group = Gitlab.create_group('GitLab-Group', 'gitlab-path', description: 'gitlab group description')
45
- end
46
-
47
- it "gets the correct resource" do
48
- expect(a_post("/groups").
49
- with(body: { path: 'gitlab-path', name: 'GitLab-Group',
50
- description: 'gitlab group description' })).to have_been_made
51
- end
52
-
53
- it "returns information about a created group" do
54
- expect(@group.name).to eq("Gitlab-Group")
55
- expect(@group.path).to eq("gitlab-group")
56
- expect(@group.description).to eq("gitlab group description")
57
- end
58
- end
59
- end
60
-
61
- describe ".delete_group" do
62
- before do
63
- stub_delete("/groups/42", "group_delete")
64
- @group = Gitlab.delete_group(42)
65
- end
66
-
67
- it "gets the correct resource" do
68
- expect(a_delete("/groups/42")).to have_been_made
69
- end
70
-
71
- it "returns information about a deleted group" do
72
- expect(@group.name).to eq("Gitlab-Group")
73
- expect(@group.path).to eq("gitlab-group")
74
- end
75
- end
76
-
77
- describe ".transfer_project_to_group" do
78
- before do
79
- stub_post("/projects", "project")
80
- @project = Gitlab.create_project('Gitlab')
81
- stub_post("/groups", "group_create")
82
- @group = Gitlab.create_group('GitLab-Group', 'gitlab-path')
83
-
84
- stub_post("/groups/#{@group.id}/projects/#{@project.id}", "group_create")
85
- @group_transfer = Gitlab.transfer_project_to_group(@group.id, @project.id)
86
- end
87
-
88
- it "posts to the correct resource" do
89
- expect(a_post("/groups/#{@group.id}/projects/#{@project.id}").with(body: { id: @group.id.to_s, project_id: @project.id.to_s })).to have_been_made
90
- end
91
-
92
- it "returns information about the group" do
93
- expect(@group_transfer.name).to eq(@group.name)
94
- expect(@group_transfer.path).to eq(@group.path)
95
- expect(@group_transfer.id).to eq(@group.id)
96
- end
97
- end
98
-
99
- describe ".group_members" do
100
- before do
101
- stub_get("/groups/3/members", "group_members")
102
- @members = Gitlab.group_members(3)
103
- end
104
-
105
- it "gets the correct resource" do
106
- expect(a_get("/groups/3/members")).to have_been_made
107
- end
108
-
109
- it "returns information about a group's members" do
110
- expect(@members).to be_a Gitlab::PaginatedResponse
111
- expect(@members.size).to eq(2)
112
- expect(@members[1].name).to eq("John Smith")
113
- end
114
- end
115
-
116
- describe ".group_member" do
117
- before do
118
- stub_get("/groups/3/members/2", "group_member")
119
- @member = Gitlab.group_member(3, 2)
120
- end
121
-
122
- it "gets the correct resource" do
123
- expect(a_get("/groups/3/members/2")).to have_been_made
124
- end
125
-
126
- it "returns information about a group member" do
127
- expect(@member).to be_a Gitlab::ObjectifiedHash
128
- expect(@member.access_level).to eq(10)
129
- expect(@member.name).to eq("John Smith")
130
- end
131
- end
132
-
133
- describe ".add_group_member" do
134
- before do
135
- stub_post("/groups/3/members", "group_member")
136
- @member = Gitlab.add_group_member(3, 1, 40)
137
- end
138
-
139
- it "gets the correct resource" do
140
- expect(a_post("/groups/3/members").
141
- with(body: { user_id: '1', access_level: '40' })).to have_been_made
142
- end
143
-
144
- it "returns information about the added member" do
145
- expect(@member.name).to eq("John Smith")
146
- end
147
- end
148
-
149
- describe ".edit_group_member" do
150
- before do
151
- stub_put("/groups/3/members/1", "group_member_edit")
152
- @member = Gitlab.edit_group_member(3, 1, 50)
153
- end
154
-
155
- it "gets the correct resource" do
156
- expect(a_put("/groups/3/members/1")
157
- .with(body: { access_level: '50'})).to have_been_made
158
- end
159
-
160
- it "returns information about the edited member" do
161
- expect(@member.access_level).to eq(50)
162
- end
163
- end
164
-
165
- describe ".remove_group_member" do
166
- before do
167
- stub_delete("/groups/3/members/1", "group_member_delete")
168
- @group = Gitlab.remove_group_member(3, 1)
169
- end
170
-
171
- it "gets the correct resource" do
172
- expect(a_delete("/groups/3/members/1")).to have_been_made
173
- end
174
-
175
- it "returns information about the group the member was removed from" do
176
- expect(@group.group_id).to eq(3)
177
- end
178
- end
179
-
180
- describe ".group_projects" do
181
- before do
182
- stub_get("/groups/4/projects", "group_projects")
183
- @projects = Gitlab.group_projects(4)
184
- end
185
-
186
- it "gets the list of projects" do
187
- expect(a_get("/groups/4/projects")).to have_been_made
188
- end
189
-
190
- it "returns a list of of projects under a group" do
191
- expect(@projects).to be_a Gitlab::PaginatedResponse
192
- expect(@projects.size).to eq(1)
193
- expect(@projects[0].name).to eq("Diaspora Client")
194
- end
195
- end
196
-
197
- describe ".group_search" do
198
- before do
199
- stub_get("/groups?search=Group", "group_search")
200
- @groups = Gitlab.group_search('Group')
201
- end
202
-
203
- it "gets the correct resource" do
204
- expect(a_get("/groups?search=Group")).to have_been_made
205
- end
206
-
207
- it "returns an array of groups found" do
208
- expect(@groups.first.id).to eq(5)
209
- expect(@groups.last.id).to eq(8)
210
- end
211
- end
212
-
213
- describe ".group_subgroups" do
214
- before do
215
- stub_get("/groups/4/subgroups", "group_subgroups")
216
- @subgroups = Gitlab.group_subgroups(4)
217
- end
218
-
219
- it "gets the list of subroups" do
220
- expect(a_get("/groups/4/subgroups")).to have_been_made
221
- end
222
-
223
- it "returns an array of subgroups under a group" do
224
- expect(@subgroups).to be_a Gitlab::PaginatedResponse
225
- expect(@subgroups.size).to eq(1)
226
- expect(@subgroups[0].name).to eq("Foobar Group")
227
- end
228
- end
229
-
230
- describe ".edit_group" do
231
- context "using group ID" do
232
- before do
233
- stub_put("/groups/1", "group_edit").with(body: { description: "An interesting group" })
234
- @edited_project = Gitlab.edit_group(1, description: "An interesting group")
235
- end
236
-
237
- it "gets the correct resource" do
238
- expect(a_put("/groups/1").with(body: { description: "An interesting group" })).to have_been_made
239
- end
240
-
241
- it "returns information about an edited group" do
242
- expect(@edited_project.description).to eq("An interesting group")
243
- end
244
- end
245
- end
246
- end
@@ -1,285 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Gitlab::Client do
4
- describe ".issues" do
5
- context "with project ID passed" do
6
- before do
7
- stub_get("/projects/3/issues", "project_issues")
8
- @issues = Gitlab.issues(3)
9
- end
10
-
11
- it "gets the correct resource" do
12
- expect(a_get("/projects/3/issues")).to have_been_made
13
- end
14
-
15
- it "returns a paginated response of project's issues" do
16
- expect(@issues).to be_a Gitlab::PaginatedResponse
17
- expect(@issues.first.project_id).to eq(3)
18
- end
19
- end
20
-
21
- context 'with literal project ID passed' do
22
- before do
23
- stub_get("/projects/gitlab-org%2Fgitlab-ce/issues", "project_issues")
24
- @issues = Gitlab.issues('gitlab-org/gitlab-ce')
25
- end
26
-
27
- it "gets the correct resource" do
28
- expect(a_get("/projects/gitlab-org%2Fgitlab-ce/issues")).to have_been_made
29
- end
30
-
31
- it "returns a paginated response of project's issues" do
32
- expect(@issues).to be_a Gitlab::PaginatedResponse
33
- expect(@issues.first.project_id).to eq(3)
34
- end
35
- end
36
-
37
- context "without project ID passed" do
38
- before do
39
- stub_get("/issues", "issues")
40
- @issues = Gitlab.issues
41
- end
42
-
43
- it "gets the correct resource" do
44
- expect(a_get("/issues")).to have_been_made
45
- end
46
-
47
- it "returns a paginated response of user's issues" do
48
- expect(@issues).to be_a Gitlab::PaginatedResponse
49
- expect(@issues.first.closed).to be_falsey
50
- expect(@issues.first.author.name).to eq("John Smith")
51
- end
52
- end
53
- end
54
-
55
- describe ".issue" do
56
- before do
57
- stub_get("/projects/3/issues/33", "issue")
58
- @issue = Gitlab.issue(3, 33)
59
- end
60
-
61
- it "gets the correct resource" do
62
- expect(a_get("/projects/3/issues/33")).to have_been_made
63
- end
64
-
65
- it "returns information about an issue" do
66
- expect(@issue.project_id).to eq(3)
67
- expect(@issue.assignee.name).to eq("Jack Smith")
68
- end
69
- end
70
-
71
- describe ".create_issue" do
72
- before do
73
- stub_post("/projects/3/issues", "issue")
74
- @issue = Gitlab.create_issue(3, 'title')
75
- end
76
-
77
- it "gets the correct resource" do
78
- expect(a_post("/projects/3/issues").
79
- with(body: { title: 'title' })).to have_been_made
80
- end
81
-
82
- it "returns information about a created issue" do
83
- expect(@issue.project_id).to eq(3)
84
- expect(@issue.assignee.name).to eq("Jack Smith")
85
- end
86
- end
87
-
88
- describe ".edit_issue" do
89
- before do
90
- stub_put("/projects/3/issues/33", "issue")
91
- @issue = Gitlab.edit_issue(3, 33, title: 'title')
92
- end
93
-
94
- it "gets the correct resource" do
95
- expect(a_put("/projects/3/issues/33").
96
- with(body: { title: 'title' })).to have_been_made
97
- end
98
-
99
- it "returns information about an edited issue" do
100
- expect(@issue.project_id).to eq(3)
101
- expect(@issue.assignee.name).to eq("Jack Smith")
102
- end
103
- end
104
-
105
- describe ".close_issue" do
106
- before do
107
- stub_put("/projects/3/issues/33", "issue")
108
- @issue = Gitlab.close_issue(3, 33)
109
- end
110
-
111
- it "gets the correct resource" do
112
- expect(a_put("/projects/3/issues/33").
113
- with(body: { state_event: 'close' })).to have_been_made
114
- end
115
-
116
- it "returns information about an closed issue" do
117
- expect(@issue.project_id).to eq(3)
118
- expect(@issue.assignee.name).to eq("Jack Smith")
119
- end
120
- end
121
-
122
- describe ".reopen_issue" do
123
- before do
124
- stub_put("/projects/3/issues/33", "issue")
125
- @issue = Gitlab.reopen_issue(3, 33)
126
- end
127
-
128
- it "gets the correct resource" do
129
- expect(a_put("/projects/3/issues/33").
130
- with(body: { state_event: 'reopen' })).to have_been_made
131
- end
132
-
133
- it "returns information about an reopened issue" do
134
- expect(@issue.project_id).to eq(3)
135
- expect(@issue.assignee.name).to eq("Jack Smith")
136
- end
137
- end
138
-
139
- describe ".subscribe_to_issue" do
140
- before do
141
- stub_post("/projects/3/issues/33/subscribe", "issue")
142
- @issue = Gitlab.subscribe_to_issue(3, 33)
143
- end
144
-
145
- it "gets the correct resource" do
146
- expect(a_post("/projects/3/issues/33/subscribe")).to have_been_made
147
- end
148
-
149
- it "returns information about the subscribed issue" do
150
- expect(@issue.project_id).to eq(3)
151
- expect(@issue.assignee.name).to eq("Jack Smith")
152
- end
153
- end
154
-
155
- describe ".unsubscribe_from_issue" do
156
- before do
157
- stub_post("/projects/3/issues/33/unsubscribe", "issue")
158
- @issue = Gitlab.unsubscribe_from_issue(3, 33)
159
- end
160
-
161
- it "gets the correct resource" do
162
- expect(a_post("/projects/3/issues/33/unsubscribe")).to have_been_made
163
- end
164
-
165
- it "returns information about the unsubscribed issue" do
166
- expect(@issue.project_id).to eq(3)
167
- expect(@issue.assignee.name).to eq("Jack Smith")
168
- end
169
- end
170
-
171
- describe ".delete_issue" do
172
- before do
173
- stub_delete("/projects/3/issues/33", "issue")
174
- @issue = Gitlab.delete_issue(3, 33)
175
- end
176
-
177
- it "gets the correct resource" do
178
- expect(a_delete("/projects/3/issues/33")).to have_been_made
179
- end
180
-
181
- it "returns information about a deleted issue" do
182
- expect(@issue.project_id).to eq(3)
183
- expect(@issue.id).to eq(33)
184
- end
185
- end
186
-
187
- describe ".move_issue" do
188
- before do
189
- stub_post("/projects/3/issues/33/move", "issue")
190
- @issue = Gitlab.move_issue(3, 33, to_project_id: '4')
191
- end
192
-
193
- it "gets the correct resource" do
194
- expect(a_post("/projects/3/issues/33/move").
195
- with(body: { to_project_id: '4' })).to have_been_made
196
- end
197
-
198
- it "returns information about the moved issue" do
199
- expect(@issue.project_id).to eq(3)
200
- expect(@issue.assignee.name).to eq("Jack Smith")
201
- end
202
- end
203
-
204
- describe ".estimate_time_of_issue" do
205
- before do
206
- stub_post("/projects/3/issues/33/time_estimate", "issue")
207
- @issue = Gitlab.estimate_time_of_issue(3, 33, '3h30m')
208
- end
209
-
210
- it "gets the correct resource" do
211
- expect(a_post("/projects/3/issues/33/time_estimate").
212
- with(body: { duration: '3h30m' })).to have_been_made
213
- end
214
-
215
- it "returns information about the estimated issue" do
216
- expect(@issue.project_id).to eq(3)
217
- expect(@issue.assignee.name).to eq("Jack Smith")
218
- end
219
- end
220
-
221
- describe ".reset_time_estimate_of_issue" do
222
- before do
223
- stub_post("/projects/3/issues/33/reset_time_estimate", "issue")
224
- @issue = Gitlab.reset_time_estimate_of_issue(3, 33)
225
- end
226
-
227
- it "gets the correct resource" do
228
- expect(a_post("/projects/3/issues/33/reset_time_estimate")).to have_been_made
229
- end
230
-
231
- it "returns information about the estimated issue" do
232
- expect(@issue.project_id).to eq(3)
233
- expect(@issue.assignee.name).to eq("Jack Smith")
234
- end
235
- end
236
-
237
- describe ".add_time_spent_on_issue" do
238
- before do
239
- stub_post("/projects/3/issues/33/add_spent_time", "issue")
240
- @issue = Gitlab.add_time_spent_on_issue(3, 33, '3h30m')
241
- end
242
-
243
- it "gets the correct resource" do
244
- expect(a_post("/projects/3/issues/33/add_spent_time").
245
- with(body: { duration: '3h30m' })).to have_been_made
246
- end
247
-
248
- it "returns information about the estimated issue" do
249
- expect(@issue.project_id).to eq(3)
250
- expect(@issue.assignee.name).to eq("Jack Smith")
251
- end
252
- end
253
-
254
- describe ".reset_time_spent_on_issue" do
255
- before do
256
- stub_post("/projects/3/issues/33/reset_spent_time", "issue")
257
- @issue = Gitlab.reset_time_spent_on_issue(3, 33)
258
- end
259
-
260
- it "gets the correct resource" do
261
- expect(a_post("/projects/3/issues/33/reset_spent_time")).to have_been_made
262
- end
263
-
264
- it "returns information about the estimated issue" do
265
- expect(@issue.project_id).to eq(3)
266
- expect(@issue.assignee.name).to eq("Jack Smith")
267
- end
268
- end
269
-
270
- describe ".time_stats_for_issue" do
271
- before do
272
- stub_get("/projects/3/issues/33/time_stats", "issue")
273
- @issue = Gitlab.time_stats_for_issue(3, 33)
274
- end
275
-
276
- it "gets the correct resource" do
277
- expect(a_get("/projects/3/issues/33/time_stats")).to have_been_made
278
- end
279
-
280
- it "returns information about the issue" do
281
- expect(@issue.project_id).to eq(3)
282
- expect(@issue.assignee.name).to eq("Jack Smith")
283
- end
284
- end
285
- end