class ProjectBrowseCommits < Spinach::FeatureSteps Then 'I see project commits' do current_path.should == project_commits_path(@project) commit = @project.commit page.should have_content(@project.name) page.should have_content(commit.message) page.should have_content(commit.id.to_s[0..5]) end Given 'I click atom feed link' do click_link "Feed" end Then 'I see commits atom feed' do commit = CommitDecorator.decorate(@project.commit) page.response_headers['Content-Type'].should have_content("application/atom+xml") page.body.should have_selector("title", :text => "Recent commits to #{@project.name}") page.body.should have_selector("author email", :text => commit.author_email) 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 And 'I fill compare fields with refs' do fill_in "from", :with => "master" fill_in "to", :with => "stable" click_button "Compare" end And 'I see compared refs' do page.should have_content "Commits (27)" page.should have_content "Compare View" page.should have_content "Showing 73 changed files" end Given 'I sign in as a user' do login_as :user end And 'I own project "Shop"' do @project = Factory :project, :name => "Shop" @project.add_access(@user, :admin) end Given 'I visit project commits page' do visit project_commits_path(@project) end end