Cucumber refactoring
This commit is contained in:
parent
21bfd1e7fc
commit
e4447de23f
13 changed files with 163 additions and 119 deletions
|
@ -4,7 +4,7 @@ Feature: Issues
|
|||
And I own project "Shop"
|
||||
And project "Shop" have "Release 0.4" open issue
|
||||
And project "Shop" have "Release 0.3" closed issue
|
||||
And I visit project "Shop" issues page
|
||||
And I visit project "Shop" issues page
|
||||
|
||||
Scenario: I should see open issues
|
||||
Given I should see "Release 0.4" in issues
|
||||
|
@ -36,3 +36,31 @@ Feature: Issues
|
|||
Given I visit issue page "Release 0.4"
|
||||
And I leave a comment like "XML attached"
|
||||
Then I should see comment "XML attached"
|
||||
|
||||
@javascript
|
||||
Scenario: I search issue
|
||||
Given I fill in issue search with "Release"
|
||||
Then I should see "Release 0.4" in issues
|
||||
And I should not see "Release 0.3" in issues
|
||||
|
||||
@javascript
|
||||
Scenario: I search issue that not exist
|
||||
Given I fill in issue search with "Bug"
|
||||
Then I should not see "Release 0.4" in issues
|
||||
And I should not see "Release 0.3" in issues
|
||||
|
||||
|
||||
@javascript
|
||||
Scenario: I search all issues
|
||||
Given I click link "All"
|
||||
And I fill in issue search with "0.3"
|
||||
Then I should see "Release 0.3" in issues
|
||||
And I should not see "Release 0.4" in issues
|
||||
|
||||
@javascript
|
||||
Scenario: I clear search
|
||||
Given I click link "All"
|
||||
And I fill in issue search with "Something"
|
||||
And I fill in issue search with ""
|
||||
Then I should see "Release 0.4" in issues
|
||||
And I should see "Release 0.3" in issues
|
||||
|
|
21
features/step_definitions/common_steps.rb
Normal file
21
features/step_definitions/common_steps.rb
Normal file
|
@ -0,0 +1,21 @@
|
|||
include LoginHelpers
|
||||
|
||||
Given /^I signin as a user$/ do
|
||||
login_as :user
|
||||
end
|
||||
|
||||
When /^I click link "(.*?)"$/ do |link|
|
||||
click_link link
|
||||
end
|
||||
|
||||
When /^I click button "(.*?)"$/ do |button|
|
||||
click_button button
|
||||
end
|
||||
|
||||
When /^I fill in "(.*?)" with "(.*?)"$/ do |field, value|
|
||||
fill_in field, :with => value
|
||||
end
|
||||
|
||||
Given /^show me page$/ do
|
||||
save_and_open_page
|
||||
end
|
|
@ -1,7 +1,3 @@
|
|||
Given /^I visit dashboard page$/ do
|
||||
visit dashboard_path
|
||||
end
|
||||
|
||||
Then /^I should see "(.*?)" link$/ do |arg1|
|
||||
page.should have_link(arg1)
|
||||
end
|
||||
|
@ -51,10 +47,10 @@ Then /^I click "(.*?)" link$/ do |arg1|
|
|||
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"
|
||||
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
|
||||
|
@ -66,10 +62,6 @@ Given /^I search for "(.*?)"$/ do |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|
|
||||
|
@ -78,10 +70,6 @@ Then /^I should see issues assigned to me$/ do
|
|||
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|
|
||||
|
|
|
@ -1,17 +1,9 @@
|
|||
Given /^I visit profile page$/ do
|
||||
visit profile_path
|
||||
end
|
||||
|
||||
Then /^I should see my profile info$/ do
|
||||
page.should have_content "Profile"
|
||||
page.should have_content @user.name
|
||||
page.should have_content @user.email
|
||||
end
|
||||
|
||||
Given /^I visit profile password page$/ do
|
||||
visit profile_password_path
|
||||
end
|
||||
|
||||
Then /^I change my password$/ do
|
||||
fill_in "user_password", :with => "222333"
|
||||
fill_in "user_password_confirmation", :with => "222333"
|
||||
|
@ -22,10 +14,6 @@ Then /^I should be redirected to sign in page$/ do
|
|||
current_path.should == new_user_session_path
|
||||
end
|
||||
|
||||
Given /^I visit profile token page$/ do
|
||||
visit profile_token_path
|
||||
end
|
||||
|
||||
Then /^I reset my token$/ do
|
||||
@old_token = @user.private_token
|
||||
click_button "Reset"
|
||||
|
|
|
@ -1,17 +1,9 @@
|
|||
Given /^I visit project source page$/ do
|
||||
visit tree_project_ref_path(@project, @project.root_ref)
|
||||
end
|
||||
|
||||
Then /^I should see files from repository$/ do
|
||||
page.should have_content("app")
|
||||
page.should have_content("History")
|
||||
page.should have_content("Gemfile")
|
||||
end
|
||||
|
||||
Given /^I visit project source page for "(.*?)"$/ do |arg1|
|
||||
visit tree_project_ref_path(@project, arg1)
|
||||
end
|
||||
|
||||
Then /^I should see files from repository for "(.*?)"$/ do |arg1|
|
||||
current_path.should == tree_project_ref_path(@project, arg1)
|
||||
page.should have_content("app")
|
||||
|
@ -31,10 +23,6 @@ Given /^I click on raw button$/ do
|
|||
click_link "raw"
|
||||
end
|
||||
|
||||
Given /^I visit blob file from repo$/ do
|
||||
visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH)
|
||||
end
|
||||
|
||||
Then /^I should see raw file content$/ do
|
||||
page.source.should == ValidCommit::BLOB_FILE
|
||||
end
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
Given /^I visit project commits page$/ do
|
||||
visit project_commits_path(@project)
|
||||
end
|
||||
|
||||
Then /^I see project commits$/ do
|
||||
current_path.should == project_commits_path(@project)
|
||||
|
||||
|
@ -23,19 +19,11 @@ Then /^I see commits atom feed$/ do
|
|||
page.body.should have_selector("entry summary", :text => commit.description)
|
||||
end
|
||||
|
||||
Given /^I click on commit link$/ do
|
||||
visit project_commit_path(@project, ValidCommit::ID)
|
||||
end
|
||||
|
||||
Then /^I see commit info$/ do
|
||||
page.should have_content ValidCommit::MESSAGE
|
||||
page.should have_content "Showing 1 changed file"
|
||||
end
|
||||
|
||||
Given /^I visit compare refs page$/ do
|
||||
visit compare_project_commits_path(@project)
|
||||
end
|
||||
|
||||
Given /^I fill compare fields with refs$/ do
|
||||
fill_in "from", :with => "master"
|
||||
fill_in "to", :with => "stable"
|
||||
|
@ -48,18 +36,6 @@ Given /^I see compared refs$/ do
|
|||
page.should have_content "Showing 73 changed files"
|
||||
end
|
||||
|
||||
Given /^I visit project branches page$/ do
|
||||
visit branches_project_repository_path(@project)
|
||||
end
|
||||
|
||||
Given /^I visit project commit page$/ do
|
||||
visit project_commit_path(@project, ValidCommit::ID)
|
||||
end
|
||||
|
||||
Given /^I visit project tags page$/ do
|
||||
visit tags_project_repository_path(@project)
|
||||
end
|
||||
|
||||
Then /^I should see "(.*?)" recent branches list$/ do |arg1|
|
||||
page.should have_content("Branches")
|
||||
page.should have_content("master")
|
||||
|
@ -76,7 +52,7 @@ Then /^I should see "(.*?)" all tags list$/ do |arg1|
|
|||
end
|
||||
|
||||
Then /^I should see "(.*?)" protected branches list$/ do |arg1|
|
||||
within "table" do
|
||||
within "table" do
|
||||
page.should have_content "stable"
|
||||
page.should_not have_content "master"
|
||||
end
|
||||
|
|
|
@ -8,16 +8,12 @@ Given /^project "(.*?)" have "(.*?)" closed issue$/ do |arg1, arg2|
|
|||
Factory.create(:issue, :title => arg2, :project => project, :author => project.users.first, :closed => true)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" issues page$/ do |arg1|
|
||||
visit project_issues_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Given /^I should see "(.*?)" in issues$/ do |arg1|
|
||||
page.should have_content arg1
|
||||
page.should have_content arg1
|
||||
end
|
||||
|
||||
Given /^I should not see "(.*?)" in issues$/ do |arg1|
|
||||
page.should_not have_content arg1
|
||||
page.should_not have_content arg1
|
||||
end
|
||||
|
||||
Then /^I should see issue "(.*?)"$/ do |arg1|
|
||||
|
@ -27,11 +23,6 @@ Then /^I should see issue "(.*?)"$/ do |arg1|
|
|||
page.should have_content issue.project.name
|
||||
end
|
||||
|
||||
Given /^I visit issue page "(.*?)"$/ do |arg1|
|
||||
issue = Issue.find_by_title(arg1)
|
||||
visit project_issue_path(issue.project, issue)
|
||||
end
|
||||
|
||||
Given /^I submit new issue "(.*?)"$/ do |arg1|
|
||||
fill_in "issue_title", with: arg1
|
||||
click_button "Submit new issue"
|
||||
|
@ -51,7 +42,16 @@ Given /^I visit project "(.*?)" labels page$/ do |arg1|
|
|||
end
|
||||
|
||||
Then /^I should see label "(.*?)"$/ do |arg1|
|
||||
within ".labels-table" do
|
||||
within ".labels-table" do
|
||||
page.should have_content arg1
|
||||
end
|
||||
end
|
||||
|
||||
Given /^I fill in issue search with "(.*?)"$/ do |arg1|
|
||||
# Because fill_in, with: "" triggers nothing
|
||||
# we need to trigger a keyup event
|
||||
if arg1 == ''
|
||||
page.execute_script("$('.issue_search').val('').keyup();");
|
||||
end
|
||||
fill_in 'issue_search', with: arg1
|
||||
end
|
||||
|
|
|
@ -8,21 +8,17 @@ Given /^project "(.*?)" have "(.*?)" closed merge request$/ do |arg1, arg2|
|
|||
Factory.create(:merge_request, :title => arg2, :project => project, :author => project.users.first, :closed => true)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" merge requests page$/ do |arg1|
|
||||
visit project_merge_requests_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Then /^I should see "(.*?)" in merge requests$/ do |arg1|
|
||||
page.should have_content arg1
|
||||
page.should have_content arg1
|
||||
end
|
||||
|
||||
Then /^I should not see "(.*?)" in merge requests$/ do |arg1|
|
||||
page.should_not have_content arg1
|
||||
page.should_not have_content arg1
|
||||
end
|
||||
|
||||
Then /^I should see merge request "(.*?)"$/ do |arg1|
|
||||
merge_request = MergeRequest.find_by_title(arg1)
|
||||
page.should have_content(merge_request.title[0..10])
|
||||
page.should have_content(merge_request.title[0..10])
|
||||
page.should have_content(merge_request.target_branch)
|
||||
page.should have_content(merge_request.source_branch)
|
||||
end
|
||||
|
@ -34,11 +30,6 @@ Given /^I submit new merge request "(.*?)"$/ do |arg1|
|
|||
click_button "Save"
|
||||
end
|
||||
|
||||
Given /^I visit merge request page "(.*?)"$/ do |arg1|
|
||||
mr = MergeRequest.find_by_title(arg1)
|
||||
visit project_merge_request_path(mr.project, mr)
|
||||
end
|
||||
|
||||
Then /^I should see closed merge request "(.*?)"$/ do |arg1|
|
||||
mr = MergeRequest.find_by_title(arg1)
|
||||
mr.closed.should be_true
|
||||
|
|
|
@ -12,11 +12,6 @@ Given /^project "(.*?)" has milestone "(.*?)"$/ do |arg1, arg2|
|
|||
end
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" milestones page$/ do |arg1|
|
||||
@project = Project.find_by_name(arg1)
|
||||
visit project_milestones_path(@project)
|
||||
end
|
||||
|
||||
Then /^I should see active milestones$/ do
|
||||
milestone = @project.milestones.first
|
||||
page.should have_content(milestone.title[0..10])
|
||||
|
|
|
@ -8,10 +8,6 @@ Given /^"(.*?)" is "(.*?)" developer$/ do |arg1, arg2|
|
|||
project.add_access(user, :write)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" team page$/ do |arg1|
|
||||
visit team_project_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Then /^I should be able to see myself in team$/ do
|
||||
page.should have_content(@user.name)
|
||||
page.should have_content(@user.email)
|
||||
|
@ -23,13 +19,9 @@ Then /^I should see "(.*?)" in team list$/ do |arg1|
|
|||
page.should have_content(user.email)
|
||||
end
|
||||
|
||||
Given /^I click link "(.*?)"$/ do |arg1|
|
||||
click_link arg1
|
||||
end
|
||||
|
||||
Given /^I select "(.*?)" as "(.*?)"$/ do |arg1, arg2|
|
||||
user = User.find_by_name(arg1)
|
||||
within "#new_team_member" do
|
||||
within "#new_team_member" do
|
||||
select user.name, :from => "team_member_user_id"
|
||||
select arg2, :from => "team_member_project_access"
|
||||
end
|
||||
|
@ -44,7 +36,7 @@ end
|
|||
|
||||
Given /^I change "(.*?)" role to "(.*?)"$/ do |arg1, arg2|
|
||||
user = User.find_by_name(arg1)
|
||||
within ".user_#{user.id}" do
|
||||
within ".user_#{user.id}" do
|
||||
select arg2, :from => "team_member_project_access"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
Given /^I visit project wiki page$/ do
|
||||
visit project_wiki_path(@project, :index)
|
||||
end
|
||||
|
||||
Given /^I create Wiki page$/ do
|
||||
fill_in "Title", :with => 'Test title'
|
||||
fill_in "Content", :with => '[link test](test)'
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
include LoginHelpers
|
||||
|
||||
Given /^I signin as a user$/ do
|
||||
login_as :user
|
||||
end
|
||||
|
||||
When /^I visit new project page$/ do
|
||||
visit new_project_path
|
||||
end
|
||||
|
@ -65,10 +59,6 @@ Given /^I visit project "(.*?)" network page$/ do |arg1|
|
|||
visit graph_project_path(project)
|
||||
end
|
||||
|
||||
Given /^show me page$/ do
|
||||
save_and_open_page
|
||||
end
|
||||
|
||||
Given /^page should have network graph$/ do
|
||||
page.should have_content "Project Network Graph"
|
||||
within ".graph" do
|
||||
|
|
91
features/step_definitions/visit_steps.rb
Normal file
91
features/step_definitions/visit_steps.rb
Normal file
|
@ -0,0 +1,91 @@
|
|||
Given /^I visit project "(.*?)" issues page$/ do |arg1|
|
||||
visit project_issues_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Given /^I visit issue page "(.*?)"$/ do |arg1|
|
||||
issue = Issue.find_by_title(arg1)
|
||||
visit project_issue_path(issue.project, issue)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" merge requests page$/ do |arg1|
|
||||
visit project_merge_requests_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Given /^I visit merge request page "(.*?)"$/ do |arg1|
|
||||
mr = MergeRequest.find_by_title(arg1)
|
||||
visit project_merge_request_path(mr.project, mr)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" milestones page$/ do |arg1|
|
||||
@project = Project.find_by_name(arg1)
|
||||
visit project_milestones_path(@project)
|
||||
end
|
||||
|
||||
Given /^I visit project commits page$/ do
|
||||
visit project_commits_path(@project)
|
||||
end
|
||||
|
||||
Given /^I visit compare refs page$/ do
|
||||
visit compare_project_commits_path(@project)
|
||||
end
|
||||
|
||||
Given /^I visit project branches page$/ do
|
||||
visit branches_project_repository_path(@project)
|
||||
end
|
||||
|
||||
Given /^I visit project commit page$/ do
|
||||
visit project_commit_path(@project, ValidCommit::ID)
|
||||
end
|
||||
|
||||
Given /^I visit project tags page$/ do
|
||||
visit tags_project_repository_path(@project)
|
||||
end
|
||||
|
||||
Given /^I click on commit link$/ do
|
||||
visit project_commit_path(@project, ValidCommit::ID)
|
||||
end
|
||||
|
||||
Given /^I visit project source page$/ do
|
||||
visit tree_project_ref_path(@project, @project.root_ref)
|
||||
end
|
||||
|
||||
Given /^I visit project source page for "(.*?)"$/ do |arg1|
|
||||
visit tree_project_ref_path(@project, arg1)
|
||||
end
|
||||
|
||||
Given /^I visit blob file from repo$/ do
|
||||
visit tree_project_ref_path(@project, ValidCommit::ID, :path => ValidCommit::BLOB_FILE_PATH)
|
||||
end
|
||||
|
||||
Given /^I visit project "(.*?)" team page$/ do |arg1|
|
||||
visit team_project_path(Project.find_by_name(arg1))
|
||||
end
|
||||
|
||||
Given /^I visit project wiki page$/ do
|
||||
visit project_wiki_path(@project, :index)
|
||||
end
|
||||
|
||||
Given /^I visit profile page$/ do
|
||||
visit profile_path
|
||||
end
|
||||
|
||||
Given /^I visit profile token page$/ do
|
||||
visit profile_token_path
|
||||
end
|
||||
|
||||
Given /^I visit profile password page$/ do
|
||||
visit profile_password_path
|
||||
end
|
||||
|
||||
Given /^I visit dashboard page$/ do
|
||||
visit dashboard_path
|
||||
end
|
||||
|
||||
Given /^I visit dashboard issues page$/ do
|
||||
visit dashboard_issues_path
|
||||
end
|
||||
|
||||
Given /^I visit dashboard merge requests page$/ do
|
||||
visit dashboard_merge_requests_path
|
||||
end
|
||||
|
Loading…
Reference in a new issue