diff options
Diffstat (limited to 'features/steps/project/issues.rb')
-rw-r--r-- | features/steps/project/issues.rb | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/features/steps/project/issues.rb b/features/steps/project/issues.rb new file mode 100644 index 00000000000..a92fd50584d --- /dev/null +++ b/features/steps/project/issues.rb @@ -0,0 +1,145 @@ +class ProjectIssues < Spinach::FeatureSteps + include SharedAuthentication + include SharedProject + include SharedNote + include SharedPaths + include SharedMarkdown + + Given 'I should see "Release 0.4" in issues' do + page.should have_content "Release 0.4" + end + + And 'I should not see "Release 0.3" in issues' do + page.should_not have_content "Release 0.3" + end + + And 'I should not see "Tweet control" in issues' do + page.should_not have_content "Tweet control" + end + + Given 'I click link "Closed"' do + click_link "Closed" + end + + Then 'I should see "Release 0.3" in issues' do + page.should have_content "Release 0.3" + end + + And 'I should not see "Release 0.4" in issues' do + page.should_not have_content "Release 0.4" + end + + Given 'I click link "All"' do + click_link "All" + end + + Given 'I click link "Release 0.4"' do + click_link "Release 0.4" + end + + Then 'I should see issue "Release 0.4"' do + page.should have_content "Release 0.4" + end + + Given 'I click link "New Issue"' do + click_link "New Issue" + end + + And 'I submit new issue "500 error on profile"' do + fill_in "issue_title", with: "500 error on profile" + click_button "Submit new issue" + end + + Given 'I click link "500 error on profile"' do + click_link "500 error on profile" + end + + Then 'I should see issue "500 error on profile"' do + issue = Issue.find_by(title: "500 error on profile") + page.should have_content issue.title + page.should have_content issue.author_name + page.should have_content issue.project.name + end + + Given 'I fill in issue search with "Re"' do + fill_in 'issue_search', with: "Re" + end + + Given 'I fill in issue search with "Bu"' do + fill_in 'issue_search', with: "Bu" + end + + And 'I fill in issue search with ".3"' do + fill_in 'issue_search', with: ".3" + end + + And 'I fill in issue search with "Something"' do + fill_in 'issue_search', with: "Something" + end + + And 'I fill in issue search with ""' do + fill_in 'issue_search', with: "" + end + + Given 'project "Shop" has milestone "v2.2"' do + project = Project.find_by(name: "Shop") + milestone = create(:milestone, title: "v2.2", project: project) + + 3.times { create(:issue, project: project, milestone: milestone) } + end + + And 'project "Shop" has milestone "v3.0"' do + project = Project.find_by(name: "Shop") + milestone = create(:milestone, title: "v3.0", project: project) + + 3.times { create(:issue, project: project, milestone: milestone) } + end + + When 'I select milestone "v3.0"' do + select "v3.0", from: "milestone_id" + end + + Then 'I should see selected milestone with title "v3.0"' do + issues_milestone_selector = "#issue_milestone_id_chzn > a" + page.find(issues_milestone_selector).should have_content("v3.0") + end + + When 'I select first assignee from "Shop" project' do + project = Project.find_by(name: "Shop") + first_assignee = project.users.first + select first_assignee.name, from: "assignee_id" + end + + Then 'I should see first assignee from "Shop" as selected assignee' do + issues_assignee_selector = "#issue_assignee_id_chzn > a" + project = Project.find_by(name: "Shop") + assignee_name = project.users.first.name + page.find(issues_assignee_selector).should have_content(assignee_name) + end + + And 'project "Shop" have "Release 0.4" open issue' do + project = Project.find_by(name: "Shop") + create(:issue, + title: "Release 0.4", + project: project, + author: project.users.first, + description: "# Description header" + ) + end + + And 'project "Shop" have "Tweet control" open issue' do + project = Project.find_by(name: "Shop") + create(:issue, + title: "Tweet control", + project: project, + author: project.users.first) + end + + And 'project "Shop" have "Release 0.3" closed issue' do + project = Project.find_by(name: "Shop") + create(:closed_issue, + title: "Release 0.3", + project: project, + author: project.users.first) + end +end |