To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / test / functional / .svn / text-base / reports_controller_test.rb.svn-base @ 442:753f1380d6bc

History | View | Annotate | Download (2.48 KB)

1
# Redmine - project management software
2
# Copyright (C) 2006-2009  Jean-Philippe Lang
3
#
4
# This program is free software; you can redistribute it and/or
5
# modify it under the terms of the GNU General Public License
6
# as published by the Free Software Foundation; either version 2
7
# of the License, or (at your option) any later version.
8
# 
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
# 
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17

    
18
require File.expand_path('../../test_helper', __FILE__)
19
require 'reports_controller'
20

    
21
# Re-raise errors caught by the controller.
22
class ReportsController; def rescue_action(e) raise e end; end
23

    
24

    
25
class ReportsControllerTest < ActionController::TestCase
26
  fixtures :all
27
  
28
  def setup
29
    @controller = ReportsController.new
30
    @request    = ActionController::TestRequest.new
31
    @response   = ActionController::TestResponse.new
32
    User.current = nil
33
  end
34
  
35
  context "GET :issue_report without details" do
36
    setup do
37
      get :issue_report, :id => 1
38
    end
39

    
40
    should_respond_with :success
41
    should_render_template :issue_report
42

    
43
    [:issues_by_tracker, :issues_by_version, :issues_by_category, :issues_by_assigned_to,
44
     :issues_by_author, :issues_by_subproject].each do |ivar|
45
      should_assign_to ivar
46
      should "set a value for #{ivar}" do
47
        assert assigns[ivar.to_s].present?
48
      end
49
    end
50
  end
51

    
52
  context "GET :issue_report_details" do
53
    %w(tracker version priority category assigned_to author subproject).each do |detail|
54
      context "for #{detail}" do
55
        setup do
56
          get :issue_report_details, :id => 1, :detail => detail
57
        end
58

    
59
        should_respond_with :success
60
        should_render_template :issue_report_details
61
        should_assign_to :field
62
        should_assign_to :rows
63
        should_assign_to :data
64
        should_assign_to :report_title
65
      end
66
    end
67

    
68
    context "with an invalid detail" do
69
      setup do
70
        get :issue_report_details, :id => 1, :detail => 'invalid'
71
      end
72

    
73
      should_respond_with :redirect
74
      should_redirect_to('the issue report') {{:controller => 'reports', :action => 'issue_report', :id => 'ecookbook'}}
75
    end
76
    
77
  end
78
  
79
end