Commit 4252ea90c0ab757fce538af1f03ce5f6d48f7814

Authored by Robert Speicher
1 parent 6b90f36f

Add feature steps for a generic, non-"Shop" project

This group is better for features that only deal with one project.
features/steps/shared/paths.rb
1 module SharedPaths 1 module SharedPaths
2 include Spinach::DSL 2 include Spinach::DSL
3 3
  4 + When 'I visit new project page' do
  5 + visit new_project_path
  6 + end
  7 +
4 # ---------------------------------------- 8 # ----------------------------------------
5 # Dashboard 9 # Dashboard
6 # ---------------------------------------- 10 # ----------------------------------------
@@ -81,10 +85,50 @@ module SharedPaths @@ -81,10 +85,50 @@ module SharedPaths
81 visit admin_resque_path 85 visit admin_resque_path
82 end 86 end
83 87
84 - When 'I visit new project page' do  
85 - visit new_project_path 88 + # ----------------------------------------
  89 + # Generic Project
  90 + # ----------------------------------------
  91 +
  92 + Given "I visit my project's home page" do
  93 + visit project_path(@project)
  94 + end
  95 +
  96 + Given "I visit my project's files page" do
  97 + visit project_tree_path(@project, @project.root_ref)
  98 + end
  99 +
  100 + Given "I visit my project's commits page" do
  101 + visit project_commits_path(@project, @project.root_ref, {limit: 5})
86 end 102 end
87 103
  104 + Given "I visit my project's network page" do
  105 + # Stub out find_all to speed this up (10 commits vs. 650)
  106 + commits = Grit::Commit.find_all(@project.repo, nil, {max_count: 10})
  107 + Grit::Commit.stub(:find_all).and_return(commits)
  108 +
  109 + visit graph_project_path(@project)
  110 + end
  111 +
  112 + Given "I visit my project's issues page" do
  113 + visit project_issues_path(@project)
  114 + end
  115 +
  116 + Given "I visit my project's merge requests page" do
  117 + visit project_merge_requests_path(@project)
  118 + end
  119 +
  120 + Given "I visit my project's wall page" do
  121 + visit wall_project_path(@project)
  122 + end
  123 +
  124 + Given "I visit my project's wiki page" do
  125 + visit project_wiki_path(@project, :index)
  126 + end
  127 +
  128 + # ----------------------------------------
  129 + # "Shop" Project
  130 + # ----------------------------------------
  131 +
88 And 'I visit project "Shop" page' do 132 And 'I visit project "Shop" page' do
89 project = Project.find_by_name("Shop") 133 project = Project.find_by_name("Shop")
90 visit project_path(project) 134 visit project_path(project)
features/steps/shared/project.rb
1 module SharedProject 1 module SharedProject
2 include Spinach::DSL 2 include Spinach::DSL
3 3
  4 + # Create a project without caring about what it's called
  5 + And "I own a project" do
  6 + @project = create(:project)
  7 + @project.add_access(@user, :admin)
  8 + end
  9 +
  10 + # Create a specific project called "Shop"
4 And 'I own project "Shop"' do 11 And 'I own project "Shop"' do
5 @project = Factory :project, :name => "Shop" 12 @project = Factory :project, :name => "Shop"
6 @project.add_access(@user, :admin) 13 @project.add_access(@user, :admin)
features/support/env.rb
@@ -23,5 +23,7 @@ Spinach.hooks.after_scenario { DatabaseCleaner.clean } @@ -23,5 +23,7 @@ Spinach.hooks.after_scenario { DatabaseCleaner.clean }
23 Spinach.hooks.before_run do 23 Spinach.hooks.before_run do
24 RSpec::Mocks::setup self 24 RSpec::Mocks::setup self
25 25
  26 + include FactoryGirl::Syntax::Methods
  27 +
26 stub_gitolite! 28 stub_gitolite!
27 end 29 end