summaryrefslogtreecommitdiff
path: root/features/steps/project/commits/revert.rb
blob: ebfa7a878bb066681b9cc52d2aee488e7d5b12d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Spinach::Features::RevertCommits < Spinach::FeatureSteps
  include SharedAuthentication
  include SharedProject
  include SharedPaths
  include SharedDiffNote
  include RepoHelpers

  step 'I click on commit link' do
    visit project_commit_path(@project, sample_commit.id)
  end

  step 'I click on the revert button' do
    find(".header-action-buttons .dropdown").click
    find("a[href='#modal-revert-commit']").click
  end

  step 'I revert the changes directly' do
    page.within('#modal-revert-commit') do
      uncheck 'create_merge_request'
      click_button 'Revert'
    end
  end

  step 'I should see the revert commit notice' do
    page.should have_content('The commit has been successfully reverted.')
  end

  step 'I should see a revert error' do
    page.should have_content('Sorry, we cannot revert this commit automatically.')
  end

  step 'I revert the changes in a new merge request' do
    page.within('#modal-revert-commit') do
      click_button 'Revert'
    end
  end

  step 'I should see the new merge request notice' do
    page.should have_content('The commit has been successfully reverted. You can now submit a merge request to get this change into the original branch.')
    page.should have_content("From revert-#{Commit.truncate_sha(sample_commit.id)} into master")
  end
end