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 1 module SharedPaths
2 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 9 # Dashboard
6 10 # ----------------------------------------
... ... @@ -81,10 +85,50 @@ module SharedPaths
81 85 visit admin_resque_path
82 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 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 132 And 'I visit project "Shop" page' do
89 133 project = Project.find_by_name("Shop")
90 134 visit project_path(project)
... ...
features/steps/shared/project.rb
1 1 module SharedProject
2 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 11 And 'I own project "Shop"' do
5 12 @project = Factory :project, :name => "Shop"
6 13 @project.add_access(@user, :admin)
... ...
features/support/env.rb
... ... @@ -23,5 +23,7 @@ Spinach.hooks.after_scenario { DatabaseCleaner.clean }
23 23 Spinach.hooks.before_run do
24 24 RSpec::Mocks::setup self
25 25  
  26 + include FactoryGirl::Syntax::Methods
  27 +
26 28 stub_gitolite!
27 29 end
... ...