annotate .svn/pristine/89/89021103ecb16e23dc5cc611fa652e5e895e947c.svn-base @ 1519:afce8026aaeb redmine-2.4-integration

Merge from branch "live"
author Chris Cannam
date Tue, 09 Sep 2014 09:34:53 +0100
parents cbb26bc654de
children
rev   line source
Chris@909 1 # Redmine - project management software
Chris@909 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
Chris@909 3 #
Chris@909 4 # This program is free software; you can redistribute it and/or
Chris@909 5 # modify it under the terms of the GNU General Public License
Chris@909 6 # as published by the Free Software Foundation; either version 2
Chris@909 7 # of the License, or (at your option) any later version.
Chris@909 8 #
Chris@909 9 # This program is distributed in the hope that it will be useful,
Chris@909 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@909 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@909 12 # GNU General Public License for more details.
Chris@909 13 #
Chris@909 14 # You should have received a copy of the GNU General Public License
Chris@909 15 # along with this program; if not, write to the Free Software
Chris@909 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Chris@909 17
Chris@909 18 require File.expand_path('../../../test_helper', __FILE__)
Chris@909 19
Chris@909 20 module RedmineMenuTestHelper
Chris@909 21 # Assertions
Chris@909 22 def assert_number_of_items_in_menu(menu_name, count)
Chris@909 23 assert Redmine::MenuManager.items(menu_name).size >= count, "Menu has less than #{count} items"
Chris@909 24 end
Chris@909 25
Chris@909 26 def assert_menu_contains_item_named(menu_name, item_name)
Chris@909 27 assert Redmine::MenuManager.items(menu_name).collect(&:name).include?(item_name.to_sym), "Menu did not have an item named #{item_name}"
Chris@909 28 end
Chris@909 29
Chris@909 30 # Helpers
Chris@909 31 def get_menu_item(menu_name, item_name)
Chris@909 32 Redmine::MenuManager.items(menu_name).find {|item| item.name == item_name.to_sym}
Chris@909 33 end
Chris@909 34 end
Chris@909 35
Chris@909 36 class RedmineTest < ActiveSupport::TestCase
Chris@909 37 include RedmineMenuTestHelper
Chris@909 38
Chris@909 39 def test_top_menu
Chris@909 40 assert_number_of_items_in_menu :top_menu, 5
Chris@909 41 assert_menu_contains_item_named :top_menu, :home
Chris@909 42 assert_menu_contains_item_named :top_menu, :my_page
Chris@909 43 assert_menu_contains_item_named :top_menu, :projects
Chris@909 44 assert_menu_contains_item_named :top_menu, :administration
Chris@909 45 assert_menu_contains_item_named :top_menu, :help
Chris@909 46 end
Chris@909 47
Chris@909 48 def test_account_menu
Chris@909 49 assert_number_of_items_in_menu :account_menu, 4
Chris@909 50 assert_menu_contains_item_named :account_menu, :login
Chris@909 51 assert_menu_contains_item_named :account_menu, :register
Chris@909 52 assert_menu_contains_item_named :account_menu, :my_account
Chris@909 53 assert_menu_contains_item_named :account_menu, :logout
Chris@909 54 end
Chris@909 55
Chris@909 56 def test_application_menu
Chris@909 57 assert_number_of_items_in_menu :application_menu, 0
Chris@909 58 end
Chris@909 59
Chris@909 60 def test_admin_menu
Chris@909 61 assert_number_of_items_in_menu :admin_menu, 0
Chris@909 62 end
Chris@909 63
Chris@909 64 def test_project_menu
Chris@909 65 assert_number_of_items_in_menu :project_menu, 14
Chris@909 66 assert_menu_contains_item_named :project_menu, :overview
Chris@909 67 assert_menu_contains_item_named :project_menu, :activity
Chris@909 68 assert_menu_contains_item_named :project_menu, :roadmap
Chris@909 69 assert_menu_contains_item_named :project_menu, :issues
Chris@909 70 assert_menu_contains_item_named :project_menu, :new_issue
Chris@909 71 assert_menu_contains_item_named :project_menu, :calendar
Chris@909 72 assert_menu_contains_item_named :project_menu, :gantt
Chris@909 73 assert_menu_contains_item_named :project_menu, :news
Chris@909 74 assert_menu_contains_item_named :project_menu, :documents
Chris@909 75 assert_menu_contains_item_named :project_menu, :wiki
Chris@909 76 assert_menu_contains_item_named :project_menu, :boards
Chris@909 77 assert_menu_contains_item_named :project_menu, :files
Chris@909 78 assert_menu_contains_item_named :project_menu, :repository
Chris@909 79 assert_menu_contains_item_named :project_menu, :settings
Chris@909 80 end
Chris@909 81
Chris@909 82 def test_new_issue_should_have_root_as_a_parent
Chris@909 83 new_issue = get_menu_item(:project_menu, :new_issue)
Chris@909 84 assert_equal :root, new_issue.parent.name
Chris@909 85 end
Chris@909 86 end