commit
1c1cc3253a
@ -1,46 +0,0 @@ |
||||
//-- copyright
|
||||
// OpenProject is a project management system.
|
||||
// Copyright (C) 2012-2013 the OpenProject Foundation (OPF)
|
||||
//
|
||||
// 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 is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
|
||||
// Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||
// Copyright (C) 2010-2013 the ChiliProject Team
|
||||
//
|
||||
// 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.
|
||||
//++
|
||||
|
||||
/* |
||||
* Expands Redmine's current menu |
||||
*/ |
||||
(function($) { |
||||
$.menu_expand = function(options) { |
||||
var opts = $.extend({ |
||||
menu: '#main-menu', |
||||
selectedClass: '.selected' |
||||
}, options); |
||||
|
||||
if (options.item !== undefined) { |
||||
options.item.toggleClass("open").siblings("ul").show(); |
||||
} |
||||
else { |
||||
$(opts.menu +' '+ opts.selectedClass).toggleClass("open").siblings("ul").show(); |
||||
} |
||||
|
||||
}})(jQuery); |
@ -0,0 +1,40 @@ |
||||
#-- copyright |
||||
# OpenProject is a project management system. |
||||
# Copyright (C) 2012-2013 the OpenProject Foundation (OPF) |
||||
# |
||||
# 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 is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# 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. |
||||
#++ |
||||
|
||||
class CategoriesPage |
||||
include Rails.application.routes.url_helpers |
||||
include Capybara::DSL |
||||
|
||||
def initialize(project=nil) |
||||
@project = project |
||||
end |
||||
|
||||
def visit_settings |
||||
visit(settings_project_path(@project) + "/categories") |
||||
end |
||||
end |
@ -0,0 +1,78 @@ |
||||
#-- copyright |
||||
# OpenProject is a project management system. |
||||
# Copyright (C) 2012-2013 the OpenProject Foundation (OPF) |
||||
# |
||||
# 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 is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# 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' |
||||
require 'features/categories/categories_page' |
||||
|
||||
describe 'Deletion' do |
||||
let(:current_user) { FactoryGirl.create :admin } |
||||
let(:category) { FactoryGirl.create :category } |
||||
let(:categories_page) { CategoriesPage.new(category.project) } |
||||
let(:delete_button) { 'div#tab-content-categories a.icon-delete' } |
||||
let(:confirm_deletion_button) { 'input[type="submit"]' } |
||||
|
||||
before { User.stub(:current).and_return current_user } |
||||
|
||||
shared_context 'delete category' do |
||||
before do |
||||
categories_page.visit_settings |
||||
|
||||
expect(page).to have_selector(delete_button) |
||||
|
||||
find(delete_button).click |
||||
end |
||||
end |
||||
|
||||
shared_examples_for 'deleted category' do |
||||
it { expect(page).to have_selector('div#tab-content-categories p.nodata') } |
||||
|
||||
it { expect(page).to have_no_selector(delete_button) } |
||||
end |
||||
|
||||
describe 'w/o work package' do |
||||
include_context 'delete category' |
||||
|
||||
it_behaves_like 'deleted category' |
||||
end |
||||
|
||||
describe 'with work package' do |
||||
let!(:work_package) { FactoryGirl.create :work_package, |
||||
project: category.project, |
||||
category: category } |
||||
|
||||
include_context 'delete category' |
||||
|
||||
before do |
||||
expect(page).to have_selector(confirm_deletion_button) |
||||
|
||||
find(confirm_deletion_button).click |
||||
end |
||||
|
||||
it_behaves_like 'deleted category' |
||||
end |
||||
end |
Loading…
Reference in new issue