Add some spinach specs
This commit is contained in:
parent
28aaef24ad
commit
87b076f2ce
|
@ -0,0 +1,28 @@
|
|||
@project_commits
|
||||
Feature: Revert Commits
|
||||
Background:
|
||||
Given I sign in as a user
|
||||
And I own a project
|
||||
And I visit my project's commits page
|
||||
|
||||
Scenario: I revert a commit
|
||||
Given I click on commit link
|
||||
And I click on the revert button
|
||||
And I revert the changes directly
|
||||
Then I should see the revert commit notice
|
||||
|
||||
Scenario: I revert a commit that was previously reverted
|
||||
Given I click on commit link
|
||||
And I click on the revert button
|
||||
And I revert the changes directly
|
||||
And I visit my project's commits page
|
||||
And I click on commit link
|
||||
And I click on the revert button
|
||||
And I revert the changes directly
|
||||
Then I should see a revert error
|
||||
|
||||
Scenario: I revert a commit in a new merge request
|
||||
Given I click on commit link
|
||||
And I click on the revert button
|
||||
And I revert the changes in a new merge request
|
||||
Then I should see the new merge request notice
|
|
@ -0,0 +1,30 @@
|
|||
@project_merge_requests
|
||||
Feature: Revert Merge Requests
|
||||
Background:
|
||||
Given There is an open Merge Request
|
||||
And I am signed in as a developer of the project
|
||||
And I am on the Merge Request detail page
|
||||
And I click on Accept Merge Request
|
||||
|
||||
@javascript
|
||||
Scenario: I revert a merge request
|
||||
Given I click on the revert button
|
||||
And I revert the changes directly
|
||||
Then I should see the revert merge request notice
|
||||
|
||||
@javascript
|
||||
Scenario: I revert a merge request that was previously reverted
|
||||
Given I click on the revert button
|
||||
And I revert the changes directly
|
||||
And I am on the Merge Request detail page
|
||||
And I click on the revert button
|
||||
And I revert the changes directly
|
||||
Then I should see a revert error
|
||||
|
||||
@javascript
|
||||
Scenario: I revert a merge request in a new merge request
|
||||
Given I click on the revert button
|
||||
And I am on the Merge Request detail page
|
||||
And I click on the revert button
|
||||
And I revert the changes in a new merge request
|
||||
Then I should see the new merge request notice
|
|
@ -0,0 +1,40 @@
|
|||
class Spinach::Features::RevertCommits < Spinach::FeatureSteps
|
||||
include SharedAuthentication
|
||||
include SharedProject
|
||||
include SharedPaths
|
||||
include SharedDiffNote
|
||||
include RepoHelpers
|
||||
|
||||
step 'I click on commit link' do
|
||||
visit namespace_project_commit_path(@project.namespace, @project, sample_commit.id)
|
||||
end
|
||||
|
||||
step 'I click on the revert button' do
|
||||
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.')
|
||||
end
|
||||
end
|
|
@ -0,0 +1,56 @@
|
|||
class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps
|
||||
include LoginHelpers
|
||||
include GitlabRoutingHelper
|
||||
|
||||
step 'I click on the revert button' do
|
||||
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 merge request notice' do
|
||||
page.should have_content('The merge request has been successfully reverted.')
|
||||
end
|
||||
|
||||
step 'I should not see the revert button' do
|
||||
expect(page).not_to have_selector(:xpath, "a[href='#modal-revert-commit']")
|
||||
end
|
||||
|
||||
step 'I am on the Merge Request detail page' do
|
||||
visit merge_request_path(@merge_request)
|
||||
end
|
||||
|
||||
step 'I click on Accept Merge Request' do
|
||||
click_button('Accept Merge Request')
|
||||
end
|
||||
|
||||
step 'I am signed in as a developer of the project' do
|
||||
login_as(@user)
|
||||
end
|
||||
|
||||
step 'There is an open Merge Request' do
|
||||
@user = create(:user)
|
||||
@project = create(:project, :public)
|
||||
@project_member = create(:project_member, user: @user, project: @project, access_level: ProjectMember::DEVELOPER)
|
||||
@merge_request = create(:merge_request, :with_diffs, :simple, source_project: @project)
|
||||
end
|
||||
|
||||
step 'I should see a revert error' do
|
||||
page.should have_content('Sorry, we cannot revert this merge request 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 merge request has been successfully reverted. You can now submit a merge request to get this change into the original branch.')
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue