cirandas.net

ref: master

plugins/statistics/test/functional/statistics_plugin_home_controller_test.rb


  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_relative '../test_helper'

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
    @block.product_counter = true
    @environment.disable('products_for_enterprises')
    @block.save!
    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