~michaelforrest/use-case-mapper/trunk

« back to all changes in this revision

Viewing changes to vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb

  • Committer: Richard Lee (Canonical)
  • Date: 2010-10-15 15:17:58 UTC
  • mfrom: (190.1.3 use-case-mapper)
  • Revision ID: richard.lee@canonical.com-20101015151758-wcvmfxrexsongf9d
Merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require 'active_record_unit'
2
 
 
3
 
class RenderPartialWithRecordIdentificationController < ActionController::Base
4
 
  def render_with_has_many_and_belongs_to_association
5
 
    @developer = Developer.find(1)
6
 
    render :partial => @developer.projects
7
 
  end
8
 
 
9
 
  def render_with_has_many_association
10
 
    @topic = Topic.find(1)
11
 
    render :partial => @topic.replies
12
 
  end
13
 
 
14
 
  def render_with_named_scope
15
 
    render :partial => Reply.base
16
 
  end
17
 
 
18
 
  def render_with_has_many_through_association
19
 
    @developer = Developer.find(:first)
20
 
    render :partial => @developer.topics
21
 
  end
22
 
 
23
 
  def render_with_has_one_association
24
 
    @company = Company.find(1)
25
 
    render :partial => @company.mascot
26
 
  end
27
 
 
28
 
  def render_with_belongs_to_association
29
 
    @reply = Reply.find(1)
30
 
    render :partial => @reply.topic
31
 
  end
32
 
 
33
 
  def render_with_record
34
 
    @developer = Developer.find(:first)
35
 
    render :partial => @developer
36
 
  end
37
 
 
38
 
  def render_with_record_collection
39
 
    @developers = Developer.find(:all)
40
 
    render :partial => @developers
41
 
  end
42
 
 
43
 
  def render_with_record_collection_and_spacer_template
44
 
    @developer = Developer.find(1)
45
 
    render :partial => @developer.projects, :spacer_template => 'test/partial_only'
46
 
  end
47
 
end
48
 
 
49
 
class RenderPartialWithRecordIdentificationTest < ActiveRecordTestCase
50
 
  tests RenderPartialWithRecordIdentificationController
51
 
  fixtures :developers, :projects, :developers_projects, :topics, :replies, :companies, :mascots
52
 
 
53
 
  def test_rendering_partial_with_has_many_and_belongs_to_association
54
 
    get :render_with_has_many_and_belongs_to_association
55
 
    assert_template 'projects/_project'
56
 
    assert_equal assigns(:developer).projects.map(&:name).join, @response.body
57
 
  end
58
 
 
59
 
  def test_rendering_partial_with_has_many_association
60
 
    get :render_with_has_many_association
61
 
    assert_template 'replies/_reply'
62
 
    assert_equal 'Birdman is better!', @response.body
63
 
  end
64
 
 
65
 
  def test_rendering_partial_with_named_scope
66
 
    get :render_with_named_scope
67
 
    assert_template 'replies/_reply'
68
 
    assert_equal 'Birdman is better!Nuh uh!', @response.body
69
 
  end
70
 
 
71
 
  def test_render_with_record
72
 
    get :render_with_record
73
 
    assert_template 'developers/_developer'
74
 
    assert_equal 'David', @response.body
75
 
  end
76
 
 
77
 
  def test_render_with_record_collection
78
 
    get :render_with_record_collection
79
 
    assert_template 'developers/_developer'
80
 
    assert_equal 'DavidJamisfixture_3fixture_4fixture_5fixture_6fixture_7fixture_8fixture_9fixture_10Jamis', @response.body
81
 
  end
82
 
 
83
 
  def test_render_with_record_collection_and_spacer_template
84
 
    get :render_with_record_collection_and_spacer_template
85
 
    assert_equal assigns(:developer).projects.map(&:name).join('only partial'), @response.body
86
 
  end
87
 
 
88
 
  def test_rendering_partial_with_has_one_association
89
 
    mascot = Company.find(1).mascot
90
 
    get :render_with_has_one_association
91
 
    assert_template 'mascots/_mascot'
92
 
    assert_equal mascot.name, @response.body
93
 
  end
94
 
end
95
 
 
96
 
class RenderPartialWithRecordIdentificationController < ActionController::Base
97
 
  def render_with_has_many_and_belongs_to_association
98
 
    @developer = Developer.find(1)
99
 
    render :partial => @developer.projects
100
 
  end
101
 
 
102
 
  def render_with_has_many_association
103
 
    @topic = Topic.find(1)
104
 
    render :partial => @topic.replies
105
 
  end
106
 
 
107
 
  def render_with_has_many_through_association
108
 
    @developer = Developer.find(:first)
109
 
    render :partial => @developer.topics
110
 
  end
111
 
 
112
 
  def render_with_belongs_to_association
113
 
    @reply = Reply.find(1)
114
 
    render :partial => @reply.topic
115
 
  end
116
 
 
117
 
  def render_with_record
118
 
    @developer = Developer.find(:first)
119
 
    render :partial => @developer
120
 
  end
121
 
 
122
 
  def render_with_record_collection
123
 
    @developers = Developer.find(:all)
124
 
    render :partial => @developers
125
 
  end
126
 
end
127
 
 
128
 
class Game < Struct.new(:name, :id)
129
 
  def to_param
130
 
    id.to_s
131
 
  end
132
 
end
133
 
 
134
 
module Fun
135
 
  class NestedController < ActionController::Base
136
 
    def render_with_record_in_nested_controller
137
 
      render :partial => Game.new("Pong")
138
 
    end
139
 
 
140
 
    def render_with_record_collection_in_nested_controller
141
 
      render :partial => [ Game.new("Pong"), Game.new("Tank") ]
142
 
    end
143
 
  end
144
 
 
145
 
  module Serious
146
 
    class NestedDeeperController < ActionController::Base
147
 
      def render_with_record_in_deeper_nested_controller
148
 
        render :partial => Game.new("Chess")
149
 
      end
150
 
 
151
 
      def render_with_record_collection_in_deeper_nested_controller
152
 
        render :partial => [ Game.new("Chess"), Game.new("Sudoku"), Game.new("Solitaire") ]
153
 
      end
154
 
    end
155
 
  end
156
 
end
157
 
 
158
 
class RenderPartialWithRecordIdentificationAndNestedControllersTest < ActiveRecordTestCase
159
 
  tests Fun::NestedController
160
 
 
161
 
  def test_render_with_record_in_nested_controller
162
 
    get :render_with_record_in_nested_controller
163
 
    assert_template 'fun/games/_game'
164
 
    assert_equal 'Pong', @response.body
165
 
  end
166
 
 
167
 
  def test_render_with_record_collection_in_nested_controller
168
 
    get :render_with_record_collection_in_nested_controller
169
 
    assert_template 'fun/games/_game'
170
 
    assert_equal 'PongTank', @response.body
171
 
  end
172
 
end
173
 
 
174
 
class RenderPartialWithRecordIdentificationAndNestedDeeperControllersTest < ActiveRecordTestCase
175
 
  tests Fun::Serious::NestedDeeperController
176
 
 
177
 
  def test_render_with_record_in_deeper_nested_controller
178
 
    get :render_with_record_in_deeper_nested_controller
179
 
    assert_template 'fun/serious/games/_game'
180
 
    assert_equal 'Chess', @response.body
181
 
  end
182
 
 
183
 
  def test_render_with_record_collection_in_deeper_nested_controller
184
 
    get :render_with_record_collection_in_deeper_nested_controller
185
 
    assert_template 'fun/serious/games/_game'
186
 
    assert_equal 'ChessSudokuSolitaire', @response.body
187
 
  end
188
 
end