tb_core 1.3.10 → 1.4.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -20
  3. data/app/controllers/admin/application_controller.rb +2 -2
  4. data/app/controllers/admin/dashboard_controller.rb +4 -4
  5. data/app/controllers/admin/password_resets_controller.rb +9 -9
  6. data/app/controllers/admin/roles_controller.rb +8 -8
  7. data/app/controllers/admin/settings_controller.rb +11 -9
  8. data/app/controllers/admin/setup_controller.rb +5 -5
  9. data/app/controllers/admin/user_sessions_controller.rb +2 -2
  10. data/app/controllers/admin/users_controller.rb +13 -13
  11. data/app/controllers/password_resets_controller.rb +7 -7
  12. data/app/controllers/spud/admin/application_controller.rb +5 -1
  13. data/app/controllers/spud/application_controller.rb +15 -11
  14. data/app/controllers/user_sessions_controller.rb +11 -5
  15. data/app/helpers/admin/application_helper.rb +20 -14
  16. data/app/helpers/tb_core/application_helper.rb +20 -16
  17. data/app/mailers/tb_core_mailer.rb +9 -3
  18. data/app/models/spud/spud_user_model.rb +7 -13
  19. data/app/models/spud_role.rb +4 -4
  20. data/app/models/spud_user_setting.rb +2 -2
  21. data/config/routes.rb +3 -3
  22. data/lib/generators/spud/controller_spec_generator.rb +6 -3
  23. data/lib/generators/spud/module_generator.rb +56 -41
  24. data/lib/generators/spud/setup_generator.rb +26 -22
  25. data/lib/generators/spud/templates/admin_controller.rb.erb +9 -13
  26. data/lib/generators/spud/templates/controller.rb.erb +4 -6
  27. data/lib/generators/spud/templates/controller_spec.rb.erb +16 -21
  28. data/lib/generators/spud/templates/views/layouts/application.html.erb +1 -1
  29. data/lib/spud_core/catch_all_route.rb +1 -1
  30. data/lib/spud_core/configuration.rb +7 -3
  31. data/lib/spud_core/engine.rb +5 -18
  32. data/lib/spud_core/errors.rb +3 -4
  33. data/lib/spud_core/test_files.rb +3 -3
  34. data/lib/spud_core/version.rb +1 -1
  35. data/lib/tb_core/belongs_to_app.rb +6 -3
  36. data/lib/tb_core/form_builder.rb +40 -33
  37. data/lib/tb_core/responder.rb +2 -2
  38. data/lib/tb_core/test_helper.rb +2 -2
  39. data/spec/controllers/admin/application_controller_spec.rb +14 -14
  40. data/spec/controllers/admin/dashboard_controller_spec.rb +26 -23
  41. data/spec/controllers/admin/password_reset_controller_spec.rb +29 -30
  42. data/spec/controllers/admin/settings_controller_spec.rb +13 -13
  43. data/spec/controllers/admin/setup_controller_spec.rb +12 -12
  44. data/spec/controllers/admin/user_sessions_controller_spec.rb +3 -3
  45. data/spec/controllers/admin/users_controller_spec.rb +68 -65
  46. data/spec/controllers/spud/application_controller_spec.rb +1 -1
  47. data/spec/dummy/config/application.rb +6 -7
  48. data/spec/dummy/config/database.yml +7 -16
  49. data/spec/dummy/config/environments/production.rb +1 -1
  50. data/spec/dummy/config/environments/test.rb +5 -2
  51. data/spec/dummy/config/routes.rb +1 -1
  52. data/spec/dummy/db/schema.rb +53 -54
  53. data/spec/factories/spud_user_factories.rb +2 -2
  54. data/spec/helpers/spud/admin/application_helper_spec.rb +4 -4
  55. data/spec/lib/spud_core/configuration_spec.rb +2 -2
  56. data/spec/lib/tb_core/belongs_to_app_spec.rb +4 -4
  57. data/spec/models/spud_role_spec.rb +9 -9
  58. data/spec/models/spud_user_spec.rb +19 -32
  59. data/spec/rails_helper.rb +5 -6
  60. metadata +67 -77
  61. data/lib/responds_to_parent.rb +0 -69
  62. data/lib/tb_core/mysql2_extensions.rb +0 -45
  63. data/spec/dummy/db/migrate/20141214200804_create_spud_admin_permissions.tb_core.rb +0 -12
  64. data/spec/dummy/db/migrate/20141214200805_create_spud_users.tb_core.rb +0 -30
  65. data/spec/dummy/db/migrate/20141214200806_add_time_zone_to_spud_user.tb_core.rb +0 -7
  66. data/spec/dummy/db/migrate/20141214200807_add_scope_to_spud_admin_permissions.tb_core.rb +0 -7
  67. data/spec/dummy/db/migrate/20141214200808_create_spud_user_settings.tb_core.rb +0 -12
  68. data/spec/dummy/db/migrate/20141214200809_create_spud_roles.tb_core.rb +0 -11
  69. data/spec/dummy/db/migrate/20141214200810_create_spud_permissions.tb_core.rb +0 -11
  70. data/spec/dummy/db/migrate/20141214200811_create_spud_role_permissions.tb_core.rb +0 -12
  71. data/spec/dummy/db/migrate/20141214200812_drop_spud_admin_permissions.tb_core.rb +0 -16
  72. data/spec/dummy/db/migrate/20150610180845_add_requires_password_change_to_spud_users.tb_core.rb +0 -6
  73. data/spec/lib/tb_core/mysql2_extensions_spec.rb +0 -59
@@ -5,12 +5,12 @@ module Spud
5
5
  :javascripts, :stylesheets, :admin_javascripts, :admin_stylesheets,
6
6
  :permissions, :production_alert_domain, :use_email_as_login
7
7
  self.admin_applications = []
8
- self.site_name = "Company Name"
8
+ self.site_name = 'Company Name'
9
9
  self.site_id = 0
10
10
  self.short_name = 'default'
11
11
  self.javascripts = []
12
12
  self.stylesheets = []
13
- self.from_address = "no-reply@companyname.com"
13
+ self.from_address = 'no-reply@companyname.com'
14
14
  self.permissions = []
15
15
  self.admin_javascripts = ['admin/core/application', 'admin/application']
16
16
  self.admin_stylesheets = ['admin/core/application', 'admin/application']
@@ -29,7 +29,11 @@ module Spud
29
29
 
30
30
  def self.default_site_config
31
31
  ActiveSupport::Deprecation.warn 'Spud::Core.default_site_config is deprecated and will be removed in the future'
32
- return {:site_id => Spud::Core.config.site_id, :site_name => Spud::Core.config.site_name, :short_name => Spud::Core.config.short_name}
32
+ return {
33
+ site_id: Spud::Core.config.site_id,
34
+ site_name: Spud::Core.config.site_name,
35
+ short_name: Spud::Core.config.short_name
36
+ }
33
37
  end
34
38
 
35
39
  def self.append_admin_javascripts(*args)
@@ -17,7 +17,6 @@ module Spud
17
17
  class Engine < ::Rails::Engine
18
18
  require "#{root}/lib/spud_core/errors"
19
19
  require "#{root}/lib/spud_core/searchable"
20
- require "#{root}/lib/responds_to_parent"
21
20
 
22
21
  engine_name :tb_core
23
22
  config.autoload_paths << "#{root}/lib"
@@ -34,7 +33,7 @@ module Spud
34
33
  end
35
34
  end
36
35
 
37
- initializer 'tb_core.admin', :after => :admin do |config|
36
+ initializer 'tb_core.admin', after: :admin do |config|
38
37
  # Translate Hash configured permissions into SpudPermission objects
39
38
  Spud::Core.permissions.collect! do |p|
40
39
  if p.class == Hash
@@ -43,12 +42,10 @@ module Spud
43
42
  p
44
43
  end
45
44
  # Append Users admin module
46
- Spud::Core.config.admin_applications.unshift({
47
- :name => "Users",
48
- :thumbnail => "admin/users_thumb.png",
49
- :url => '/admin/users',
50
- :order => 100
51
- })
45
+ Spud::Core.config.admin_applications.unshift(name: 'Users',
46
+ thumbnail: 'admin/users_thumb.png',
47
+ url: '/admin/users',
48
+ order: 100)
52
49
  # Create default permissions for modules
53
50
  Spud::Core.admin_applications.each do |admin_application|
54
51
  admin_application[:key] ||= admin_application[:name].gsub(' ', '_').downcase.to_sym
@@ -66,16 +63,6 @@ module Spud
66
63
  end
67
64
  end
68
65
 
69
- initializer 'tb_core.mysql2_extensions' do
70
- ActiveSupport.on_load(:active_record) do
71
- if defined?(ActiveRecord::ConnectionAdapters::Mysql2Adapter)
72
- ActiveRecord::ConnectionAdapters::Mysql2Adapter.class_eval do
73
- include TbCore::Mysql2Extensions
74
- end
75
- end
76
- end
77
- end
78
-
79
66
  initializer 'tb_core.assets' do
80
67
  Rails.application.config.assets.precompile += ['admin/users_thumb.png', 'admin/module_icon.png']
81
68
  end
@@ -4,13 +4,12 @@ class Spud::RequestError < StandardError
4
4
 
5
5
  # For compatability reasons, this method accepts multiple styles of inputs
6
6
  # Going forward the expected input will be:
7
- #
7
+ #
8
8
  # * item: The item that could not be found. String. (default = page)
9
9
  # * template (named): ERB template you wish to render
10
10
  #
11
11
  def initialize(item_or_opts='page', opts={})
12
12
  if item_or_opts.is_a?(Hash)
13
- # ActiveSupport::Deprecation.warn("Passing the :item as a key/value pair to #{self.class.to_s} is deprecated; Pass it as the first argument instead.")
14
13
  @item = item_or_opts[:item]
15
14
  @template = item_or_opts[:template]
16
15
  else
@@ -18,8 +17,8 @@ class Spud::RequestError < StandardError
18
17
  @template = opts[:template]
19
18
  end
20
19
  @template ||= 'layouts/error_page'
21
- @title = I18n.t(:title, :scope => [:tb_core, :errors, @i18n])
22
- super(I18n.t(:message, :scope => [:tb_core, :errors, @i18n], :item => @item))
20
+ @title = I18n.t(:title, scope: [:tb_core, :errors, @i18n])
21
+ super(I18n.t(:message, scope: [:tb_core, :errors, @i18n], item: @item))
23
22
  end
24
23
  end
25
24
 
@@ -9,15 +9,15 @@ module Spud
9
9
  end
10
10
 
11
11
  def load_specs
12
- Dir[File.join(File.expand_path('../../../', __FILE__), "spec/**/*_spec.rb")].each {|f| require f}
12
+ Dir[File.join(File.expand_path('../../../', __FILE__), 'spec/**/*_spec.rb')].each {|f| require f}
13
13
  end
14
14
 
15
15
  def load_factories
16
- Dir[File.join(File.expand_path('../../../', __FILE__), "factories/*")].each {|f| require f}
16
+ Dir[File.join(File.expand_path('../../../', __FILE__), 'factories/*')].each {|f| require f}
17
17
  end
18
18
 
19
19
  def load_support
20
- Dir[File.join(File.expand_path('../../../', __FILE__), "spec/support/**/*.rb")].each {|f| require f}
20
+ Dir[File.join(File.expand_path('../../../', __FILE__), 'spec/support/**/*.rb')].each {|f| require f}
21
21
  end
22
22
  end
23
23
  end
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Core
3
- VERSION = "1.3.10"
3
+ VERSION = '1.4.beta1'
4
4
  end
5
5
  end
@@ -3,7 +3,10 @@ module TbCore::BelongsToApp
3
3
 
4
4
  module ClassMethods
5
5
  def belongs_to_spud_app(name, options={})
6
- ActiveSupport::Deprecation.warn 'ApplicationController#belongs_to_spud_app is deprecated. Please use #belongs_to_app instead.', caller
6
+ ActiveSupport::Deprecation.warn(
7
+ 'ApplicationController#belongs_to_spud_app is deprecated. Please use #belongs_to_app instead.',
8
+ caller
9
+ )
7
10
  belongs_to_app(name, page_title: options[:page_title])
8
11
  end
9
12
 
@@ -16,7 +19,7 @@ module TbCore::BelongsToApp
16
19
  def belongs_to_app(name, page_title: nil, only: nil)
17
20
  before_action ->(){
18
21
  act_as_app(name, page_title: page_title)
19
- }, :only => only
22
+ }, only: only
20
23
  end
21
24
  end
22
25
 
@@ -32,7 +35,7 @@ private
32
35
  if @page_application.blank?
33
36
  raise "Requested application '#{symbol}' could not be found"
34
37
  elsif !current_user.can_view_app?(@page_application)
35
- raise Spud::AccessDeniedError.new(:item => 'module', :template => '/layouts/admin/error_page')
38
+ raise Spud::AccessDeniedError.new(item: 'module', template: '/layouts/admin/error_page')
36
39
  end
37
40
  @page_thumbnail = @page_application[:thumbnail]
38
41
  @page_name = determine_page_name(page_title || @page_application[:name], action_name)
@@ -9,7 +9,7 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
9
9
  # Build a form group
10
10
  #
11
11
  def tb_form_group(content=nil, options={})
12
- content_tag :div, options.merge(:class => 'form-group') do
12
+ content_tag :div, options.merge(class: 'form-group') do
13
13
  if block_given?
14
14
  yield
15
15
  else
@@ -24,15 +24,15 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
24
24
  if options[:label_text] != nil
25
25
  text = options[:label_text]
26
26
  else
27
- text = @object.class.human_attribute_name(attribute)
27
+ text = @object.class.human_attribute_name(attribute)
28
28
  end
29
- label(attribute, text, :class => 'col-sm-2 control-label')
29
+ label(attribute, text, class: 'col-sm-2 control-label')
30
30
  end
31
31
 
32
32
  # Builds an input field with error message
33
33
  #
34
34
  def tb_input_field_tag(attribute, input_type=nil, options={})
35
- content_tag(:div, :class => 'col-sm-10') do
35
+ content_tag(:div, class: 'col-sm-10') do
36
36
  if block_given?
37
37
  concat(yield(attribute))
38
38
  else
@@ -42,10 +42,10 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
42
42
  end
43
43
  error_message = @object.errors[attribute].first
44
44
  if options[:help_text]
45
- concat content_tag(:p, @template.raw(options[:help_text]), :class => 'help-block')
45
+ concat content_tag(:p, @template.raw(options[:help_text]), class: 'help-block')
46
46
  end
47
47
  if error_message
48
- concat content_tag(:p, error_message, :class => 'form-error form-error-inline')
48
+ concat content_tag(:p, error_message, class: 'form-error form-error-inline')
49
49
  end
50
50
  end
51
51
  end
@@ -84,7 +84,7 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
84
84
  #
85
85
  def tb_select_tag(attribute, option_tags, options={}, html_options={})
86
86
  tb_input_field_tag(attribute) do
87
- select(attribute, option_tags, objectify_options(options), html_options.merge(:class => 'form-control'))
87
+ select(attribute, option_tags, objectify_options(options), html_options.merge(class: 'form-control'))
88
88
  end
89
89
  end
90
90
 
@@ -93,16 +93,16 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
93
93
  def tb_date_select_tag(attribute, options={}, html_options={})
94
94
  options[:with_css_classes] = true
95
95
  tb_input_field_tag(attribute) do
96
- date_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control date-select'))
96
+ date_select(attribute, objectify_options(options), html_options.merge(class: 'form-control date-select'))
97
97
  end
98
- end
98
+ end
99
99
 
100
100
  # Builds a date select tag
101
101
  #
102
102
  def tb_datetime_select_tag(attribute, options={}, html_options={})
103
103
  options[:with_css_classes] = true
104
104
  tb_input_field_tag(attribute) do
105
- datetime_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control datetime-select'))
105
+ datetime_select(attribute, objectify_options(options), html_options.merge(class: 'form-control datetime-select'))
106
106
  end
107
107
  end
108
108
 
@@ -111,21 +111,26 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
111
111
  def tb_time_select_tag(attribute, options={}, html_options={})
112
112
  options[:with_css_classes] = true
113
113
  tb_input_field_tag(attribute) do
114
- time_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control datetime-select'))
114
+ time_select(attribute, objectify_options(options), html_options.merge(class: 'form-control datetime-select'))
115
115
  end
116
- end
116
+ end
117
117
 
118
118
  # Builds a row of save/cancel buttons
119
119
  #
120
120
  def tb_save_buttons(model_name, cancel_path, delete_path=nil)
121
- content_tag :div, :class => 'form-group' do
122
- content_tag :div, :class => 'col-sm-offset-2 col-sm-10' do
123
- concat submit "Save #{model_name}", :class => 'btn btn-primary', :data => {:disable_with => "Saving #{model_name}...", :enable_with => 'Saved!'}
121
+ content_tag :div, class: 'form-group' do
122
+ content_tag :div, class: 'col-sm-offset-2 col-sm-10' do
123
+ concat submit "Save #{model_name}",
124
+ class: 'btn btn-primary',
125
+ data: { disable_with: "Saving #{model_name}...", enable_with: 'Saved!' }
124
126
  concat ' '
125
- concat @template.link_to 'Cancel', cancel_path, :class => 'btn btn-default', :data => {:dismiss => :modal}
127
+ concat @template.link_to 'Cancel', cancel_path, class: 'btn btn-default', data: {dismiss: :modal}
126
128
  if delete_path != nil
127
129
  concat ' '
128
- concat @template.link_to 'Delete', delete_path, :class => 'btn btn-danger', :data => {:confirm => "This action can't be undone. Would you like to delete the #{model_name.downcase}?"}, :method => :delete
130
+ concat @template.link_to 'Delete', delete_path,
131
+ class: 'btn btn-danger',
132
+ data: {confirm: "This action can't be undone. Would you like to delete the #{model_name.downcase}?"},
133
+ method: :delete
129
134
  end
130
135
  end
131
136
  end
@@ -139,9 +144,9 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
139
144
  #
140
145
 
141
146
  def tb_sub_title(text)
142
- content_tag :div, options.merge(:class => 'form-group') do
143
- content_tag :div, :class => 'col-sm-offset-2 col-sm-10' do
144
- content_tag :h4, text, :class => 'form-sub-title'
147
+ content_tag :div, options.merge(class: 'form-group') do
148
+ content_tag :div, class: 'col-sm-offset-2 col-sm-10' do
149
+ content_tag :h4, text, class: 'form-sub-title'
145
150
  end
146
151
  end
147
152
  end
@@ -223,7 +228,7 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
223
228
  #
224
229
  def tb_select(attribute, option_tags, options={}, html_options={})
225
230
  tb_input_field(attribute) do
226
- select(attribute, option_tags, objectify_options(options), html_options.merge(:class => 'form-control'))
231
+ select(attribute, option_tags, objectify_options(options), html_options.merge(class: 'form-control'))
227
232
  end
228
233
  end
229
234
 
@@ -232,7 +237,7 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
232
237
  def tb_date_select(attribute, options={}, html_options={})
233
238
  options[:with_css_classes] = true
234
239
  tb_input_field(attribute) do
235
- date_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control date-select'))
240
+ date_select(attribute, objectify_options(options), html_options.merge(class: 'form-control date-select'))
236
241
  end
237
242
  end
238
243
 
@@ -241,7 +246,7 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
241
246
  def tb_datetime_select(attribute, options={}, html_options={})
242
247
  options[:with_css_classes] = true
243
248
  tb_input_field(attribute) do
244
- datetime_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control datetime-select'))
249
+ datetime_select(attribute, objectify_options(options), html_options.merge(class: 'form-control datetime-select'))
245
250
  end
246
251
  end
247
252
 
@@ -250,15 +255,15 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
250
255
  def tb_time_select(attribute, options={}, html_options={})
251
256
  options[:with_css_classes] = true
252
257
  tb_input_field(attribute) do
253
- time_select(attribute, objectify_options(options), html_options.merge(:class => 'form-control datetime-select'))
258
+ time_select(attribute, objectify_options(options), html_options.merge(class: 'form-control datetime-select'))
254
259
  end
255
- end
260
+ end
256
261
 
257
262
  # Builds a time zone select group
258
263
  #
259
264
  def tb_time_zone_select(attribute, priority_zones, options={}, html_options={})
260
265
  tb_input_field(attribute) do
261
- time_zone_select(attribute, priority_zones, objectify_options(options), html_options.merge(:class => 'form-control'))
266
+ time_zone_select(attribute, priority_zones, objectify_options(options), html_options.merge(class: 'form-control'))
262
267
  end
263
268
  end
264
269
 
@@ -271,17 +276,19 @@ class TbCore::FormBuilder < ActionView::Helpers::FormBuilder
271
276
  #
272
277
  def tb_user_select(attribute = :spud_user_id, users: SpudUser.ordered, selected: nil, default_text: 'Select User')
273
278
  selected = @object[attribute] if selected.nil?
274
- return content_tag :div, :class => 'form-group' do
275
- concat label attribute, :class => 'control-label col-sm-2'
276
- concat content_tag(:div, :class => 'col-sm-10'){
279
+ return content_tag :div, class: 'form-group' do
280
+ concat label attribute, class: 'control-label col-sm-2'
281
+ concat content_tag(:div, class: 'col-sm-10'){
277
282
  concat select(
278
283
  attribute,
279
284
  @template.options_from_collection_for_select(users, :id, :full_name_with_email, selected),
280
- {:include_blank => default_text},
281
- {:class => 'form-control tb-user-select'}
285
+ {include_blank: default_text},
286
+ class: 'form-control tb-user-select'
282
287
  )
283
- concat @template.link_to 'Edit User', @template.edit_admin_user_path(':id'), :class => 'btn btn-default tb-user-select-btn tb-user-select-edit'
284
- concat @template.link_to 'New User', @template.new_admin_user_path, :class => 'btn btn-default tb-user-select-btn tb-user-select-add'
288
+ concat @template.link_to 'Edit User', @template.edit_admin_user_path(':id'),
289
+ class: 'btn btn-default tb-user-select-btn tb-user-select-edit'
290
+ concat @template.link_to 'New User', @template.new_admin_user_path,
291
+ class: 'btn btn-default tb-user-select-btn tb-user-select-add'
285
292
  }
286
293
  end
287
294
  end
@@ -4,7 +4,7 @@ class TbCore::Responder < ActionController::Responder
4
4
  super
5
5
 
6
6
  # Don't require a :location parameter for redirecting
7
- if !@options.has_key?(:location)
7
+ if !@options.key?(:location)
8
8
  @options[:location] = nil
9
9
  end
10
10
  end
@@ -16,7 +16,7 @@ class TbCore::Responder < ActionController::Responder
16
16
  if get?
17
17
  display resource
18
18
  elsif post? || patch?
19
- display resource, :status => :created, :location => api_location
19
+ display resource, status: :created, location: api_location
20
20
  else
21
21
  head :no_content
22
22
  end
@@ -11,11 +11,11 @@ module TbCore::SessionHelper
11
11
  activate_authlogic()
12
12
  if permissions
13
13
  permissions = [permissions] unless permissions.is_a?(Array)
14
- role = SpudRole.create(:name => 'New Role', :permission_tags => permissions)
14
+ role = SpudRole.create(name: 'New Role', permission_tags: permissions)
15
15
  else
16
16
  role = nil
17
17
  end
18
- @user = FactoryGirl.create(:spud_user, {super_admin: admin, role: role})
18
+ @user = FactoryGirl.create(:spud_user, super_admin: admin, role: role)
19
19
  SpudUserSession.create(@user)
20
20
  return @user
21
21
  end
@@ -1,27 +1,27 @@
1
1
  require 'rails_helper'
2
2
 
3
- RSpec.describe Admin::ApplicationController, :type => :controller do
4
-
3
+ RSpec.describe Admin::ApplicationController, type: :controller do
4
+
5
5
  before :each do
6
6
  activate_authlogic
7
7
  @user = FactoryGirl.create(:spud_user)
8
8
  @role = FactoryGirl.create(:spud_role)
9
9
  @session = SpudUserSession.create(@user)
10
10
  end
11
-
11
+
12
12
  describe 'require_user' do
13
13
  controller(Admin::ApplicationController) do
14
14
  def index
15
- render :nothing => true
15
+ head :ok
16
16
  end
17
17
  end
18
- it "should respond successfully if the current user is a super admin" do
18
+ it 'should respond successfully if the current user is a super admin' do
19
19
  @user.update_attribute(:super_admin, true)
20
20
  get :index
21
21
  expect(response).to be_success
22
22
  end
23
-
24
- it "should respond successfully if the current user has admin permissions" do
23
+
24
+ it 'should respond successfully if the current user has admin permissions' do
25
25
  @role.permission_tags = ['admin.users.full_access']
26
26
  @role.save()
27
27
  @user.role = @role
@@ -29,14 +29,14 @@ RSpec.describe Admin::ApplicationController, :type => :controller do
29
29
  get :index
30
30
  expect(response).to be_success
31
31
  end
32
-
33
- it "should redirect to the login if the current user is not logged in" do
32
+
33
+ it 'should redirect to the login if the current user is not logged in' do
34
34
  @session.destroy
35
35
  get :index
36
- expect(response).to redirect_to(admin_login_path(:return_to => '/admin/application'))
36
+ expect(response).to redirect_to(admin_login_path(return_to: '/admin/application'))
37
37
  end
38
-
39
- it "should redirect to the root for a user without administrative priviledges" do
38
+
39
+ it 'should redirect to the root for a user without administrative priviledges' do
40
40
  @user.super_admin = false
41
41
  @user.role = nil
42
42
  @user.save
@@ -44,6 +44,6 @@ RSpec.describe Admin::ApplicationController, :type => :controller do
44
44
  expect(response.code).to eq('403')
45
45
  expect(response).to render_template('layouts/admin/error_page')
46
46
  end
47
-
47
+
48
48
  end
49
- end
49
+ end
@@ -1,17 +1,17 @@
1
1
  require 'rails_helper'
2
2
 
3
- RSpec.describe Admin::DashboardController, :type => :controller do
3
+ RSpec.describe Admin::DashboardController, type: :controller do
4
4
 
5
5
  before(:all) do
6
6
  Spud::Core.admin_applications += [{
7
- :name => 'Test App',
8
- :url => '/test/app',
9
- :permissions => ["admin.test_app.full_access"]
7
+ name: 'Test App',
8
+ url: '/test/app',
9
+ permissions: ['admin.test_app.full_access']
10
10
  },
11
11
  {
12
- :name => "dash app",
13
- :key => 'dash_app',
14
- :badge => ->(user){ 1 }
12
+ name: 'dash app',
13
+ key: 'dash_app',
14
+ badge: ->(user){ 1 }
15
15
  }]
16
16
  end
17
17
 
@@ -20,67 +20,70 @@ RSpec.describe Admin::DashboardController, :type => :controller do
20
20
  end
21
21
 
22
22
  describe 'index' do
23
- it "should display applications the current user has access to given that the current user is not a super admin" do
23
+ it 'should display applications the current user has access to given that the current user is not a super admin' do
24
24
  @user.super_admin = false
25
- @user.role = FactoryGirl.create(:spud_role, :permission_tags => ['admin.users.full_access'])
25
+ @user.role = FactoryGirl.create(:spud_role, permission_tags: ['admin.users.full_access'])
26
26
  @user.save()
27
27
  get :index
28
28
 
29
29
  expect(assigns(:admin_applications).collect{|app| app[:name] }).to include('Users')
30
30
  end
31
31
 
32
- it "should not display applications the current user does not have access to given that the current user is not a super admin" do
32
+ it 'should not display applications the current user does not have access
33
+ to given that the current user is not a super admin' do
33
34
  @user.super_admin = false
34
- @user.role = FactoryGirl.create(:spud_role, :permission_tags => ['admin.users.full_access'])
35
+ @user.role = FactoryGirl.create(:spud_role, permission_tags: ['admin.users.full_access'])
35
36
  @user.save()
36
37
  get :index
37
38
 
38
39
  expect(assigns(:admin_applications).collect{|app| app[:name] }).to_not include('Test App')
39
40
  end
40
41
 
41
- it "should display all the applications despite the users permissions given the current user is a super admin" do
42
+ it 'should display all the applications despite the users permissions given
43
+ the current user is a super admin' do
42
44
  @user.super_admin = true
43
45
  @user.role = nil
44
46
  @user.save
45
47
  get :index
46
48
 
47
- expect(assigns(:admin_applications).collect{|app| app[:name] }).to eq(Spud::Core.admin_applications.collect{|app| app[:name] })
49
+ excectation = Spud::Core.admin_applications.collect{|app| app[:name] }
50
+ expect(assigns(:admin_applications).collect{|app| app[:name] }).to eq(excectation)
48
51
  end
49
52
  end
50
53
 
51
54
  describe 'badges' do
52
55
  before(:each) do
53
- request.accept = "application/json"
56
+ request.accept = 'application/json'
54
57
  Spud::Core.configure do |config|
55
- config.site_name = "Test Site"
58
+ config.site_name = 'Test Site'
56
59
  end
57
60
  @user.super_admin = true
58
61
  @user.save
59
62
  end
60
63
 
61
- it "should respond with a json content type" do
64
+ it 'should respond with a json content type' do
62
65
  get :badges
63
-
66
+
64
67
  end
65
68
 
66
- it "should contain data array in reponse" do
69
+ it 'should contain data array in reponse' do
67
70
  get :badges
68
71
  json = JSON.parse(response.body)
69
- expect(response.content_type).to eq("application/json")
72
+ expect(response.content_type).to eq('application/json')
70
73
  expect(json).to have_key('data')
71
74
  end
72
75
 
73
- it "should have badge count 1 for dash app" do
76
+ it 'should have badge count 1 for dash app' do
74
77
  get :badges
75
78
  json = JSON.parse(response.body)
76
- data = json["data"]
79
+ data = json['data']
77
80
  assert data.size == 1
78
81
  app_found = false
79
82
  badge_count = 0
80
83
  data.each do |app|
81
- if app["key"] == "dash_app"
84
+ if app['key'] == 'dash_app'
82
85
  app_found = true
83
- badge_count = app["badge_count"]
86
+ badge_count = app['badge_count']
84
87
  end
85
88
  end
86
89
  assert app_found && badge_count == 1