Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / radiant_specs / test / helpers / .svn / text-base / page_test_helper.rb.svn-base
blobe50a32d92dceac697fb5c1114137547a617d4886
1 class NoCachePage < Page
2   description 'Turns caching off for testing.'
3   
4   def cache?
5     false
6   end
7 end
9 class CustomFileNotFoundPage < FileNotFoundPage
10 end
12 class TestPage < Page
13   description 'this is just a test page'
14   
15   tag 'test1' do
16     'Hello world!'
17   end
18   
19   tag 'test2' do
20     'Another test.'
21   end
22   
23   def headers
24     {
25       'cool' => 'beans',
26       'request' => @request.inspect[20..30],
27       'response' => @response.inspect[20..31]
28     }
29   end
30   
31 end
33 class VirtualPage < Page
34   def virtual?
35     true
36   end
37 end
39 module PageTestHelper
40   
41   VALID_PAGE_PARAMS = {
42     :title => 'New Page',
43     :slug => 'page',
44     :breadcrumb => 'New Page',
45     :status_id => '1',
46     :parent_id => nil
47   }
48   
49   def page_params(options = {})
50     params = VALID_PAGE_PARAMS.dup
51     params.merge!(:title => @page_title) if @page_title
52     params.merge!(:status_id => '5')
53     params.merge!(options)
54   end
55   
56   def destroy_test_page(title = @page_title)
57     while page = get_test_page(title) do
58       page.destroy
59     end
60   end
61   
62   def get_test_page(title = @page_title)
63     Page.find_by_title(title)
64   end
65   
66   def create_test_page(options = {})
67     options[:title] ||= @page_title
68     klass = options.delete(:class_name) || Page
69     klass = Kernel.eval(klass) if klass.kind_of? String
70     page = klass.new page_params(options)
71     if page.save
72       page
73     else
74       raise "page <#{page.inspect}> could not be saved"
75     end
76   end
77 end