paths.rb 10.7 KB
Newer Older
N
Nihad Abbasov 已提交
1 2
module SharedPaths
  include Spinach::DSL
3
  include RepoHelpers
4
  include DashboardHelper
5
  include WaitForRequests
N
Nihad Abbasov 已提交
6

7
  step 'I visit new project page' do
8 9 10
    visit new_project_path
  end

11 12 13 14
  step 'I visit login page' do
    visit new_user_session_path
  end

15 16 17 18 19 20 21 22
  # ----------------------------------------
  # User
  # ----------------------------------------

  step 'I visit user "John Doe" page' do
    visit user_path("john_doe")
  end

R
randx 已提交
23 24 25 26
  # ----------------------------------------
  # Group
  # ----------------------------------------

27
  step 'I visit group "Owned" page' do
28
    visit group_path(Group.find_by(name: "Owned"))
R
randx 已提交
29 30
  end

31 32 33 34
  step 'I visit group "Owned" activity page' do
    visit activity_group_path(Group.find_by(name: "Owned"))
  end

35
  step 'I visit group "Owned" issues page' do
36
    visit issues_group_path(Group.find_by(name: "Owned"))
R
randx 已提交
37 38
  end

39
  step 'I visit group "Owned" merge requests page' do
40
    visit merge_requests_group_path(Group.find_by(name: "Owned"))
R
randx 已提交
41 42
  end

43 44 45 46
  step 'I visit group "Owned" milestones page' do
    visit group_milestones_path(Group.find_by(name: "Owned"))
  end

47
  step 'I visit group "Owned" members page' do
48
    visit group_group_members_path(Group.find_by(name: "Owned"))
A
Andrey Kumanyaev 已提交
49 50
  end

51
  step 'I visit group "Owned" settings page' do
52
    visit edit_group_path(Group.find_by(name: "Owned"))
53 54
  end

A
Artem Sidorenko 已提交
55 56 57 58
  step 'I visit group "Owned" projects page' do
    visit projects_group_path(Group.find_by(name: "Owned"))
  end

59
  step 'I visit group "Guest" page' do
60
    visit group_path(Group.find_by(name: "Guest"))
61 62 63
  end

  step 'I visit group "Guest" issues page' do
64
    visit issues_group_path(Group.find_by(name: "Guest"))
65 66 67
  end

  step 'I visit group "Guest" merge requests page' do
68
    visit merge_requests_group_path(Group.find_by(name: "Guest"))
69 70 71
  end

  step 'I visit group "Guest" members page' do
72
    visit group_group_members_path(Group.find_by(name: "Guest"))
73 74 75
  end

  step 'I visit group "Guest" settings page' do
76
    visit edit_group_path(Group.find_by(name: "Guest"))
77 78
  end

79 80 81 82
  # ----------------------------------------
  # Dashboard
  # ----------------------------------------

83
  step 'I visit dashboard page' do
D
Douwe Maan 已提交
84
    visit dashboard_projects_path
85 86
  end

87 88 89 90
  step 'I visit dashboard activity page' do
    visit activity_dashboard_path
  end

91
  step 'I visit dashboard projects page' do
D
Dmitriy Zaporozhets 已提交
92 93 94
    visit projects_dashboard_path
  end

95
  step 'I visit dashboard issues page' do
96
    visit assigned_issues_dashboard_path
N
Nihad Abbasov 已提交
97 98
  end

99
  step 'I visit dashboard search page' do
100
    visit search_path
N
Nihad Abbasov 已提交
101 102
  end

103 104 105 106
  step 'I visit dashboard help page' do
    visit help_path
  end

107 108 109 110 111
  step 'I visit dashboard groups page' do
    visit dashboard_groups_path
  end

  step 'I should be redirected to the dashboard groups page' do
112
    expect(current_path).to eq dashboard_groups_path
113 114 115 116
  end

  step 'I visit dashboard starred projects page' do
    visit starred_dashboard_projects_path
117 118
  end

119 120 121 122
  # ----------------------------------------
  # Profile
  # ----------------------------------------

123
  step 'I visit profile page' do
N
Nihad Abbasov 已提交
124 125 126
    visit profile_path
  end

127 128 129 130
  step 'I visit profile applications page' do
    visit applications_profile_path
  end

D
Dmitriy Zaporozhets 已提交
131 132 133 134
  step 'I visit profile password page' do
    visit edit_profile_password_path
  end

135
  step 'I visit profile account page' do
D
Dmitriy Zaporozhets 已提交
136
    visit profile_account_path
N
Nihad Abbasov 已提交
137 138
  end

139
  step 'I visit profile SSH keys page' do
140
    visit profile_keys_path
141 142
  end

143 144
  step 'I visit profile preferences page' do
    visit profile_preferences_path
145 146
  end

T
Tim Zallmann 已提交
147
  step 'I visit Authentication log page' do
V
Valery Sizov 已提交
148
    visit audit_log_profile_path
N
Nihad Abbasov 已提交
149 150
  end

151 152 153 154
  # ----------------------------------------
  # Admin
  # ----------------------------------------

155
  step 'I visit admin page' do
156 157 158
    visit admin_root_path
  end

159 160 161 162
  step 'I visit abuse reports page' do
    visit admin_abuse_reports_path
  end

163
  step 'I visit admin projects page' do
164
    visit admin_projects_path
165 166
  end

167
  step 'I visit admin users page' do
168 169 170
    visit admin_users_path
  end

171
  step 'I visit admin logs page' do
172 173 174
    visit admin_logs_path
  end

175 176 177 178
  step 'I visit admin messages page' do
    visit admin_broadcast_messages_path
  end

179
  step 'I visit admin hooks page' do
180 181 182
    visit admin_hooks_path
  end

183
  step 'I visit admin Resque page' do
184
    visit admin_background_jobs_path
185 186
  end

187
  step 'I visit admin teams page' do
A
Andrey Kumanyaev 已提交
188 189 190
    visit admin_teams_path
  end

191 192 193 194
  step 'I visit spam logs page' do
    visit admin_spam_logs_path
  end

195 196 197 198
  # ----------------------------------------
  # Generic Project
  # ----------------------------------------

199
  step "I visit my project's settings page" do
200
    visit edit_project_path(@project)
201 202
  end

203
  step "I visit my project's files page" do
204
    visit project_tree_path(@project, root_ref)
N
Nihad Abbasov 已提交
205 206
  end

207
  step 'I visit a binary file in the repo' do
208
    visit project_blob_path(@project,
G
Gabriel Mazetto 已提交
209
      File.join(root_ref, 'files/images/logo-black.png'))
210 211
  end

212
  step "I visit my project's commits page" do
213
    visit project_commits_path(@project, root_ref, { limit: 5 })
214 215
  end

216
  step "I visit my project's commits page for a specific path" do
217
    visit project_commits_path(@project, root_ref + "/files/ruby/regex.rb", { limit: 5 })
218 219
  end

220
  step 'I visit my project\'s commits stats page' do
221
    visit stats_project_repository_path(@project)
R
randx 已提交
222 223
  end

224
  step "I visit my project's graph page" do
225 226
    # Stub Graph max_size to speed up test (10 commits vs. 650)
    Network::Graph.stub(max_count: 10)
227

228
    visit project_network_path(@project, root_ref)
229 230
  end

231
  step "I visit my project's issues page" do
232
    visit project_issues_path(@project)
233 234
  end

235
  step "I visit my project's merge requests page" do
236
    visit project_merge_requests_path(@project)
237 238
  end

239
  step "I visit my project's members page" do
240
    visit project_project_members_path(@project)
241 242
  end

243
  step "I visit my project's wiki page" do
244
    visit project_wiki_path(@project, :home)
245 246
  end

247
  step 'I visit project hooks page' do
248
    visit project_settings_integrations_path(@project)
249 250
  end

251
  step 'I visit project deploy keys page' do
252
    visit project_deploy_keys_path(@project)
253 254
  end

255
  step 'I visit project find file page' do
256
    visit project_find_file_path(@project, root_ref)
257 258
  end

259 260 261 262
  # ----------------------------------------
  # "Shop" Project
  # ----------------------------------------

263
  step 'I visit project "Shop" page' do
264
    visit project_path(project)
N
Nihad Abbasov 已提交
265 266
  end

I
Izaak Alpert 已提交
267
  step 'I visit project "Forked Shop" merge requests page' do
268
    visit project_merge_requests_path(@forked_project)
I
Izaak Alpert 已提交
269 270
  end

271
  step 'I visit edit project "Shop" page' do
272
    visit edit_project_path(project)
D
Dmitriy Zaporozhets 已提交
273 274
  end

275
  step 'I visit compare refs page' do
276
    visit project_compare_index_path(@project)
N
Nihad Abbasov 已提交
277 278
  end

279
  step 'I visit project commits page' do
280
    visit project_commits_path(@project, root_ref, { limit: 5 })
281 282
  end

283
  step 'I visit project commits page for stable branch' do
284
    visit project_commits_path(@project, 'stable', { limit: 5 })
N
Nihad Abbasov 已提交
285 286
  end

287
  step 'I visit blob file from repo' do
288
    visit project_blob_path(@project, File.join(sample_commit.id, sample_blob.path))
N
Nihad Abbasov 已提交
289 290
  end

291
  step 'I visit ".gitignore" file in repo' do
292
    visit project_blob_path(@project, File.join(root_ref, '.gitignore'))
D
Dmitriy Zaporozhets 已提交
293 294
  end

295
  step 'I am on the new file page' do
296
    expect(current_path).to eq(project_create_blob_path(@project, root_ref))
297 298 299
  end

  step 'I am on the ".gitignore" edit file page' do
G
Gabriel Mazetto 已提交
300
    expect(current_path).to eq(
301
      project_edit_blob_path(@project, File.join(root_ref, '.gitignore')))
302 303
  end

304
  step 'I visit project source page for "6d39438"' do
305
    visit project_tree_path(@project, "6d39438")
N
Nihad Abbasov 已提交
306 307
  end

308 309
  step 'I visit project source page for' \
       ' "6d394385cf567f80a8fd85055db1ab4c5295806f"' do
310
    visit project_tree_path(@project,
311 312 313
                            '6d394385cf567f80a8fd85055db1ab4c5295806f')
  end

314
  step 'I visit project tags page' do
315
    visit project_tags_path(@project)
N
Nihad Abbasov 已提交
316 317
  end

318
  step 'I visit project commit page' do
319
    visit project_commit_path(@project, sample_commit.id)
N
Nihad Abbasov 已提交
320 321
  end

322
  step 'I visit issue page "Release 0.4"' do
S
skv 已提交
323
    issue = Issue.find_by(title: "Release 0.4")
324
    visit project_issue_path(issue.project, issue)
N
Nihad Abbasov 已提交
325 326
  end

327 328
  step 'I visit project "Forum" labels page' do
    project = Project.find_by(name: 'Forum')
329
    visit project_labels_path(project)
330 331 332 333
  end

  step 'I visit project "Shop" new label page' do
    project = Project.find_by(name: 'Shop')
334
    visit new_project_label_path(project)
335 336 337 338
  end

  step 'I visit project "Forum" new label page' do
    project = Project.find_by(name: 'Forum')
339
    visit new_project_label_path(project)
D
Dmitriy Zaporozhets 已提交
340 341
  end

342
  step 'I visit merge request page "Bug NS-04"' do
343
    visit merge_request_path("Bug NS-04")
344
    wait_for_requests
N
Nihad Abbasov 已提交
345 346
  end

347
  step 'I visit merge request page "Bug NS-05"' do
348
    visit merge_request_path("Bug NS-05")
349
    wait_for_requests
R
Riyad Preukschas 已提交
350 351
  end

352 353
  step 'I visit merge request page "Bug NS-07"' do
    visit merge_request_path("Bug NS-07")
354
    wait_for_requests
355 356 357 358
  end

  step 'I visit merge request page "Bug NS-08"' do
    visit merge_request_path("Bug NS-08")
359
    wait_for_requests
360 361
  end

362 363
  step 'I visit merge request page "Bug CO-01"' do
    mr = MergeRequest.find_by(title: "Bug CO-01")
364
    visit project_merge_request_path(mr.target_project, mr)
365
    wait_for_requests
366 367
  end

I
Izaak Alpert 已提交
368
  step 'I visit forked project "Shop" merge requests page' do
369
    visit project_merge_requests_path(project)
I
Izaak Alpert 已提交
370 371
  end

372
  step 'I visit project "Shop" team page' do
373
    visit project_project_members_path(project)
N
Nihad Abbasov 已提交
374 375
  end

376
  step 'I visit project wiki page' do
377
    visit project_wiki_path(@project, :home)
N
Nihad Abbasov 已提交
378
  end
379

C
Ciro Santilli 已提交
380 381 382 383
  # ----------------------------------------
  # Visibility Projects
  # ----------------------------------------

384 385
  step 'I visit project "Community" source page' do
    project = Project.find_by(name: 'Community')
386
    visit project_tree_path(project, root_ref)
387 388
  end

C
Ciro Santilli 已提交
389 390
  step 'I visit project "Internal" page' do
    project = Project.find_by(name: "Internal")
391
    visit project_path(project)
C
Ciro Santilli 已提交
392 393 394 395
  end

  step 'I visit project "Enterprise" page' do
    project = Project.find_by(name: "Enterprise")
396
    visit project_path(project)
C
Ciro Santilli 已提交
397 398 399 400 401 402
  end

  # ----------------------------------------
  # Empty Projects
  # ----------------------------------------

403 404 405 406
  step "I should not see command line instructions" do
    expect(page).not_to have_css('.empty_wrapper')
  end

S
Stephen Lottermoser 已提交
407 408 409
  # ----------------------------------------
  # Public Projects
  # ----------------------------------------
410
  step 'I visit the public groups area' do
411
    visit explore_groups_path
412 413
  end

414 415 416 417
  # ----------------------------------------
  # Snippets
  # ----------------------------------------

418
  step 'I visit project "Shop" snippets page' do
419
    visit project_snippets_path(project)
420 421
  end

422
  step 'I visit snippets page' do
D
Douwe Maan 已提交
423
    visit explore_snippets_path
A
Andrew8xx8 已提交
424 425
  end

426 427 428
  def root_ref
    @project.repository.root_ref
  end
429 430

  def project
C
Ciro Santilli 已提交
431
    Project.find_by!(name: 'Shop')
432
  end
433

434 435
  def merge_request_path(title)
    mr = MergeRequest.find_by(title: title)
436
    project_merge_request_path(mr.target_project, mr)
437
  end
N
Nihad Abbasov 已提交
438
end