summaryrefslogtreecommitdiff
path: root/features/step_definitions/dashboard_steps.rb
blob: 1eec761920152d3725d02c86830033bcc1b64c81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Given /^I visit dashboard page$/ do
  visit dashboard_path
end

Then /^I should see "(.*?)" link$/ do |arg1|
  page.should have_link(arg1)
end

Then /^I should see "(.*?)" project link$/ do |arg1|
  page.should have_link(arg1)
end

Then /^I should see project "(.*?)" activity feed$/ do |arg1|
  project = Project.find_by_name(arg1)
  page.should have_content "#{@user.name} pushed new branch new_design at #{project.name}"
end

Given /^project "(.*?)" has push event$/ do |arg1|
  @project = Project.find_by_name(arg1)

  data = {
    :before => "0000000000000000000000000000000000000000",
    :after => "0220c11b9a3e6c69dc8fd35321254ca9a7b98f7e",
    :ref => "refs/heads/new_design",
    :user_id => @user.id,
    :user_name => @user.name,
    :repository => {
      :name => @project.name,
      :url => "localhost/rubinius",
      :description => "",
      :homepage => "localhost/rubinius",
      :private => true
    }
  }

  @event = Event.create(
    :project => @project,
    :action => Event::Pushed,
    :data => data,
    :author_id => @user.id
  )
end

Then /^I should see last push widget$/ do
  page.should have_content "Your pushed to branch new_design"
  page.should have_link "Create Merge Request"
end

Then /^I click "(.*?)" link$/ do |arg1|
  click_link arg1 #Create Merge Request"
end

Then /^I see prefilled new Merge Request page$/ do
  current_path.should == new_project_merge_request_path(@project) 
  find("#merge_request_source_branch").value.should == "new_design" 
  find("#merge_request_target_branch").value.should == "master" 
  find("#merge_request_title").value.should == "New Design" 
end

Given /^I visit dashboard search page$/ do
  visit search_path
end

Given /^I search for "(.*?)"$/ do |arg1|
  fill_in "dashboard_search", :with => arg1
  click_button "Search"
end

Given /^I visit dashboard issues page$/ do
  visit dashboard_issues_path
end

Then /^I should see issues assigned to me$/ do
  issues = @user.issues
  issues.each do |issue|
    page.should have_content(issue.title[0..10])
    page.should have_content(issue.project.name)
  end
end

Given /^I visit dashboard merge requests page$/ do
  visit dashboard_merge_requests_path
end

Then /^I should see my merge requests$/ do
  merge_requests = @user.merge_requests
  merge_requests.each do |mr|
    page.should have_content(mr.title[0..10])
    page.should have_content(mr.project.name)
  end
end

Given /^I have assigned issues$/ do
  project = Factory :project
  project.add_access(@user, :read, :write)

  issue1 = Factory :issue,
   :author => @user,
   :assignee => @user,
   :project => project

  issue2 = Factory :issue,
   :author => @user,
   :assignee => @user,
   :project => project
end

Given /^I have authored merge requests$/ do
  project1 = Factory :project,
   :path => "project1",
   :code => "gitlabhq_1"

  project2 = Factory :project,
   :path => "project2",
   :code => "gitlabhq_2"

  project1.add_access(@user, :read, :write)
  project2.add_access(@user, :read, :write)

  merge_request1 = Factory :merge_request,
   :author => @user,
   :project => project1

  merge_request2 = Factory :merge_request,
   :author => @user,
   :project => project2
end