Replace the 'project/merge_requests/revert.feature' spinach test with an rspec analog
This commit is contained in:
parent
021724eef2
commit
44a1759f19
4 changed files with 65 additions and 85 deletions
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: Replace the 'project/merge_requests/revert.feature' spinach test with an rspec
|
||||
analog
|
||||
merge_request: 14201
|
||||
author: Vitaliy @blackst0ne Klachkov
|
||||
type: other
|
|
@ -1,29 +0,0 @@
|
|||
@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
|
||||
And I am on the Merge Request detail page
|
||||
|
||||
@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 revert the changes in a new merge request
|
||||
Then I should see the new merge request notice
|
|
@ -1,56 +0,0 @@
|
|||
class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps
|
||||
include LoginHelpers
|
||||
include WaitForRequests
|
||||
|
||||
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.')
|
||||
wait_for_requests
|
||||
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('Merge')
|
||||
end
|
||||
|
||||
step 'I am signed in as a developer of the project' do
|
||||
@user = create(:user) { |u| @project.add_developer(u) }
|
||||
sign_in(@user)
|
||||
end
|
||||
|
||||
step 'There is an open Merge Request' do
|
||||
@merge_request = create(:merge_request, :with_diffs, :simple)
|
||||
@project = @merge_request.source_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
|
|
@ -0,0 +1,59 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'User reverts a merge request', :js do
|
||||
let(:merge_request) { create(:merge_request, :with_diffs, :simple, source_project: project) }
|
||||
let(:project) { create(:project, :public, :repository) }
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
project.add_developer(user)
|
||||
sign_in(user)
|
||||
|
||||
visit(merge_request_path(merge_request))
|
||||
|
||||
click_button('Merge')
|
||||
|
||||
visit(merge_request_path(merge_request))
|
||||
end
|
||||
|
||||
it 'reverts a merge request' do
|
||||
find("a[href='#modal-revert-commit']").click
|
||||
|
||||
page.within('#modal-revert-commit') do
|
||||
uncheck('create_merge_request')
|
||||
click_button('Revert')
|
||||
end
|
||||
|
||||
expect(page).to have_content('The merge request has been successfully reverted.')
|
||||
|
||||
wait_for_requests
|
||||
end
|
||||
|
||||
it 'does not revert a merge request that was previously reverted' do
|
||||
find("a[href='#modal-revert-commit']").click
|
||||
|
||||
page.within('#modal-revert-commit') do
|
||||
uncheck('create_merge_request')
|
||||
click_button('Revert')
|
||||
end
|
||||
|
||||
find("a[href='#modal-revert-commit']").click
|
||||
|
||||
page.within('#modal-revert-commit') do
|
||||
uncheck('create_merge_request')
|
||||
click_button('Revert')
|
||||
end
|
||||
|
||||
expect(page).to have_content('Sorry, we cannot revert this merge request automatically.')
|
||||
end
|
||||
|
||||
it 'reverts a merge request in a new merge request' do
|
||||
find("a[href='#modal-revert-commit']").click
|
||||
|
||||
page.within('#modal-revert-commit') do
|
||||
click_button('Revert')
|
||||
end
|
||||
|
||||
expect(page).to 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 a new issue