replace some cukes with specs for that sweet, sweet speed

pull/6827/head
Johannes Wollert 11 years ago
parent 30e6d871ac
commit 23ccb8d9c7
  1. 24
      features/edit_story.feature
  2. 100
      spec/controllers/work_packages_controller_spec.rb

@ -162,18 +162,6 @@ Feature: Edit story on backlogs view
And I close the "Sprint 001" menu
Then I should not see "Epic" within_hidden ".type_id.helper"
@javascript
Scenario: Story duplication without copying tasks
Given the project has the following tasks:
| subject | parent |
| Task 1 | Story A |
And I am on the work package index page for the project called "ecookbook"
And I follow "Story A"
And I select "Duplicate" from the action menu
And I choose "copy_tasks_none" within "#backlogs-attributes"
And I press "Create"
Then I should not see "Task 1"
@javascript
Scenario: Story duplication with copying all tasks
Given the project has the following tasks:
@ -185,15 +173,3 @@ Feature: Edit story on backlogs view
And I choose "copy_tasks_all" within "#backlogs-attributes"
And I press "Create"
Then I should see "Task 1"
@javascript
Scenario: Story duplication with copying open tasks
Given the project has the following tasks:
| subject | parent |
| Task 1 | Story A |
And I am on the work package index page for the project called "ecookbook"
And I follow "Story A"
And I select "Duplicate" from the action menu
And I choose "copy_tasks_open" within "#backlogs-attributes"
And I press "Create"
Then I should see "Task 1"

@ -0,0 +1,100 @@
#-- copyright
# OpenProject Backlogs Plugin
#
# Copyright (C)2013 the OpenProject Foundation (OPF)
# Copyright (C)2011 Stephan Eckardt, Tim Felgentreff, Marnen Laibow-Koser, Sandro Munda
# Copyright (C)2010-2011 friflaj
# Copyright (C)2010 Maxime Guilbot, Andrew Vit, Joakim Kolsjö, ibussieres, Daniel Passos, Jason Vasquez, jpic, Emiliano Heyns
# Copyright (C)2009-2010 Mark Maglana
# Copyright (C)2009 Joe Heck, Nate Lowrie
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 3.
#
# OpenProject Backlogs is a derivative work based on ChiliProject Backlogs.
# The copyright follows:
# Copyright (C) 2010-2011 - Emiliano Heyns, Mark Maglana, friflaj
# Copyright (C) 2011 - Jens Ulferts, Gregor Schmidt - Finn GmbH - Berlin, Germany
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See doc/COPYRIGHT.rdoc for more details.
#++
require 'spec_helper'
describe WorkPackagesController do
before do
User.stub(:current).and_return current_user
# disables sending mails
UserMailer.stub(:new).and_return(double('mailer').as_null_object)
Setting.stub(:plugin_openproject_backlogs).and_return({"points_burn_direction" => "down",
"wiki_template" => "",
"card_spec" => "Sattleford VM-5040",
"story_types" => [story_type.id.to_s],
"task_type" => task_type.id.to_s })
[task, story, closed_task].collect(&:reload)
end
let(:current_user) { FactoryGirl.create(:admin) }
let(:project) { FactoryGirl.create(:project, :identifier => 'test_project', :is_public => true) }
let(:status) { FactoryGirl.create :default_status }
let(:closed) { FactoryGirl.create :closed_status }
let(:story_type) { FactoryGirl.create(:type_feature) }
let(:task_type) { FactoryGirl.create(:type_feature) }
let(:story) { FactoryGirl.create(:story, type: story_type, author: current_user, project: project, status: status) }
let(:task) { FactoryGirl.create(:story, type: task_type, author: current_user, project: project, status: status, parent: story) }
let(:closed_task) { FactoryGirl.create(:story, type: task_type, author: current_user, project: project, status: closed, parent: story) }
let(:params) { { copy_from: story.id, project_id: project.id } }
describe 'create with copy_from' do
describe do 'copying no tasks'
before do
post('create', params.merge({copy_tasks: "none"}))
end
subject { response }
it { assigns["new_work_package"].children(true).should be_empty }
end
describe do 'copying no tasks'
before do
post('create', params.merge({copy_tasks: "open:#{story.id}"}))
end
subject { response }
it do
assigns["new_work_package"].children(true).should_not be_empty
assigns["new_work_package"].children(true).count.should == 1
end
end
describe do 'copying no tasks'
before do
post('create', params.merge({copy_tasks: "all:#{story.id}"}))
end
subject { response }
it do
assigns["new_work_package"].children(true).should_not be_empty
assigns["new_work_package"].children(true).count.should == 2
end
end
end
end
Loading…
Cancel
Save