statistics_plugin_home_controller_test.rb
5.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
require File.dirname(__FILE__) + '/../test_helper'
# Re-raise errors caught by the controller.
class HomeController; def rescue_action(e) raise e end; end
class HomeControllerTest < ActionController::TestCase
def setup
@environment = Environment.default
@environment.enabled_plugins = ['StatisticsPlugin']
@environment.save!
user = create_user('testinguser')
@environment.add_admin(user.person)
StatisticsBlock.delete_all
@box1 = Box.create!(:owner => @environment)
@environment.boxes = [@box1]
@block = StatisticsBlock.new
@block.box = @box1
@block.save!
login_as(user.login)
end
attr_accessor :block
should 'display statistics-block-data class in environment block edition' do
get :index
assert_tag :div, :attributes => {:class => 'statistics-block-data'}
end
should 'display users class in statistics-block-data block' do
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'users'} }
end
should 'not display users class in statistics-block-data block' do
@block.user_counter = false
@block.save!
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'users'} }
end
should 'display communities class in statistics-block-data block' do
@block.community_counter = true
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'communities'} }
end
should 'not display communities class in statistics-block-data block' do
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'communities'} }
end
should 'display enterprises class in statistics-block-data block' do
@block.enterprise_counter = true
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'enterprises'} }
end
should 'not display enterprises class in statistics-block-data block' do
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'enterprises'} }
end
should 'display products class in statistics-block-data block' do
@block.product_counter = true
@environment.enable('products_for_enterprises')
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'products'} }
end
should 'not display products class in statistics-block-data block' do
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'products'} }
end
should 'display categories class in statistics-block-data block' do
@block.category_counter = true
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'categories'} }
end
should 'not display categories class in statistics-block-data block' do
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'categories'} }
end
should 'display tags class in statistics-block-data block' do
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'tags'} }
end
should 'not display tags class in statistics-block-data block' do
@block.tag_counter = false
@block.save!
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'tags'} }
end
should 'display comments class in statistics-block-data block' do
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'comments'} }
end
should 'not display comments class in statistics-block-data block' do
@block.comment_counter = false
@block.save!
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'comments'} }
end
should 'display hits class in statistics-block-data block' do
@block.hit_counter = true
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'hits'} }
end
should 'not display hits class in statistics-block-data block' do
get :index
assert_no_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'hits'} }
end
should 'display template name in class in statistics-block-data block' do
template = fast_create(Community, :name => 'Councils', :is_template => true, :environment_id => @environment.id)
@block.templates_ids_counter = {template.id.to_s => 'true'}
@block.save!
get :index
assert_tag :tag => 'div', :attributes => {:class => 'statistics-block-data'}, :descendant => { :tag => 'li', :attributes => {:class => 'councils'} }
end
end