rails_admin 0.1.2 → 0.2.0

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 (95) hide show
  1. data/Gemfile +18 -20
  2. data/README.md +8 -1
  3. data/app/assets/javascripts/rails_admin/ra.widgets.coffee +5 -4
  4. data/app/assets/stylesheets/rails_admin/base/theming.css.scss +4 -4
  5. data/app/controllers/rails_admin/main_controller.rb +11 -2
  6. data/app/helpers/rails_admin/application_helper.rb +1 -1
  7. data/app/helpers/rails_admin/form_builder.rb +3 -3
  8. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +4 -4
  9. data/app/views/rails_admin/main/_form_filtering_select.html.haml +2 -2
  10. data/app/views/rails_admin/main/_form_nested_one.html.haml +1 -1
  11. data/app/views/rails_admin/main/_form_text.html.haml +2 -1
  12. data/app/views/rails_admin/main/export.html.haml +2 -2
  13. data/app/views/rails_admin/main/index.html.haml +5 -5
  14. data/app/views/rails_admin/main/show.html.haml +1 -1
  15. data/lib/generators/rails_admin/templates/initializer.erb +5 -5
  16. data/lib/rails_admin/abstract_model.rb +1 -0
  17. data/lib/rails_admin/config.rb +1 -1
  18. data/lib/rails_admin/config/actions/base.rb +1 -1
  19. data/lib/rails_admin/config/actions/edit.rb +5 -4
  20. data/lib/rails_admin/config/actions/new.rb +5 -4
  21. data/lib/rails_admin/config/fields/association.rb +10 -10
  22. data/lib/rails_admin/config/fields/base.rb +10 -4
  23. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +2 -2
  24. data/lib/rails_admin/config/fields/types/boolean.rb +4 -4
  25. data/lib/rails_admin/config/fields/types/bson_object_id.rb +4 -4
  26. data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -3
  27. data/lib/rails_admin/config/fields/types/datetime.rb +5 -5
  28. data/lib/rails_admin/config/fields/types/enum.rb +5 -5
  29. data/lib/rails_admin/config/fields/types/file_upload.rb +10 -6
  30. data/lib/rails_admin/config/fields/types/has_many_association.rb +1 -1
  31. data/lib/rails_admin/config/fields/types/has_one_association.rb +3 -3
  32. data/lib/rails_admin/config/fields/types/integer.rb +1 -1
  33. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -2
  34. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +8 -4
  35. data/lib/rails_admin/config/fields/types/serialized.rb +2 -2
  36. data/lib/rails_admin/config/fields/types/string.rb +3 -3
  37. data/lib/rails_admin/config/fields/types/text.rb +22 -15
  38. data/lib/rails_admin/config/fields/types/time.rb +1 -1
  39. data/lib/rails_admin/config/hideable.rb +1 -1
  40. data/lib/rails_admin/config/model.rb +4 -0
  41. data/lib/rails_admin/config/sections/modal.rb +1 -1
  42. data/lib/rails_admin/engine.rb +1 -1
  43. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +2 -1
  44. data/lib/rails_admin/support/csv_converter.rb +1 -1
  45. data/lib/rails_admin/version.rb +2 -2
  46. data/lib/rails_admin/version.rbc +582 -0
  47. data/lib/tasks/rails_admin.rake +2 -2
  48. data/spec/controllers/main_controller_spec.rb +113 -45
  49. data/spec/dummy_app/Gemfile +11 -25
  50. data/spec/dummy_app/Gemfile.lock +214 -0
  51. data/spec/dummy_app/app/active_record/comment.rb +1 -1
  52. data/spec/dummy_app/app/active_record/field_test.rb +0 -1
  53. data/spec/dummy_app/config/initializers/strong_parameters.rb +2 -0
  54. data/spec/dummy_app/db/test.sqlite3 +0 -0
  55. data/spec/dummy_app/log/test.log +97612 -0
  56. data/spec/helpers/application_helper_spec.rb +24 -24
  57. data/spec/helpers/form_builder_spec.rb +4 -4
  58. data/spec/integration/authorization/cancan_spec.rb +3 -3
  59. data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +2 -2
  60. data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +2 -2
  61. data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +9 -9
  62. data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +1 -1
  63. data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +4 -4
  64. data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +9 -9
  65. data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +10 -10
  66. data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +5 -5
  67. data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +32 -25
  68. data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +8 -8
  69. data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +3 -3
  70. data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +6 -6
  71. data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +13 -13
  72. data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +97 -76
  73. data/spec/integration/config/list/rails_admin_config_list_spec.rb +32 -32
  74. data/spec/integration/config/show/rails_admin_config_show_spec.rb +23 -23
  75. data/spec/integration/history/rails_admin_history_spec.rb +6 -6
  76. data/spec/integration/rails_admin_spec.rb +17 -17
  77. data/spec/integration/relation_spec.rb +7 -7
  78. data/spec/unit/abstract_model_spec.rb +11 -5
  79. data/spec/unit/active_record_extension_spec.rb +2 -2
  80. data/spec/unit/adapters/active_record/abstract_object_spec.rb +8 -8
  81. data/spec/unit/adapters/active_record_spec.rb +6 -6
  82. data/spec/unit/adapters/mongoid/abstract_object_spec.rb +1 -1
  83. data/spec/unit/adapters/mongoid_spec.rb +12 -12
  84. data/spec/unit/config/actions/base_spec.rb +2 -2
  85. data/spec/unit/config/actions_spec.rb +16 -16
  86. data/spec/unit/config/fields/base_spec.rb +61 -49
  87. data/spec/unit/config/fields/date_spec.rb +4 -4
  88. data/spec/unit/config/fields/datetime_spec.rb +4 -4
  89. data/spec/unit/config/fields/file_upload_spec.rb +21 -0
  90. data/spec/unit/config/fields/time_spec.rb +3 -3
  91. data/spec/unit/config/fields/timestamp_spec.rb +1 -1
  92. data/spec/unit/config/model_spec.rb +10 -10
  93. data/spec/unit/config/sections_spec.rb +4 -4
  94. data/spec/unit/config_spec.rb +9 -9
  95. metadata +17 -218
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe RailsAdmin::Config::Fields::Base do
4
4
 
5
5
  describe "#required" do
6
- it "should read the :on => :create/:update validate option" do
6
+ it "reads the :on => :create/:update validate option" do
7
7
  RailsAdmin.config Ball do
8
8
  field 'color'
9
9
  end
@@ -14,7 +14,7 @@ describe RailsAdmin::Config::Fields::Base do
14
14
  end
15
15
 
16
16
  describe "#name" do
17
- it 'should be normalized to Symbol' do
17
+ it "is normalized to Symbol" do
18
18
  RailsAdmin.config Team do
19
19
  field 'name'
20
20
  end
@@ -30,19 +30,19 @@ describe RailsAdmin::Config::Fields::Base do
30
30
  [:commentable_id, :commentable_type]
31
31
  end
32
32
 
33
- it 'should be empty by default' do
33
+ it "is empty by default" do
34
34
  expect(RailsAdmin.config(Team).fields.find{ |f| f.name == :name }.children_fields).to eq([])
35
35
  end
36
36
 
37
- it 'should contain child key for belongs to associations' do
37
+ it "contains child key for belongs to associations" do
38
38
  expect(RailsAdmin.config(Team).fields.find{ |f| f.name == :division }.children_fields).to eq([:division_id])
39
39
  end
40
40
 
41
- it 'should contain child keys for polymorphic belongs to associations' do
41
+ it "contains child keys for polymorphic belongs to associations" do
42
42
  expect(RailsAdmin.config(Comment).fields.find{ |f| f.name == :commentable }.children_fields).to match_array POLYMORPHIC_CHILDREN
43
43
  end
44
44
 
45
- it "should have correct fields when polymorphic_type column comes ahead of polymorphic foreign_key column" do
45
+ it "has correct fields when polymorphic_type column comes ahead of polymorphic foreign_key column" do
46
46
  class CommentReversed < Tableless
47
47
  column :commentable_type, :string
48
48
  column :commentable_id, :integer
@@ -51,26 +51,26 @@ describe RailsAdmin::Config::Fields::Base do
51
51
  expect(RailsAdmin.config(CommentReversed).fields.map{|f| f.name.to_s}.select{|f| /^comment/ =~ f}).to match_array ['commentable'].concat(POLYMORPHIC_CHILDREN.map(&:to_s))
52
52
  end
53
53
 
54
- context 'of a Paperclip installation' do
55
- it 'should be a _file_name field' do
54
+ context "of a Paperclip installation" do
55
+ it "is a _file_name field" do
56
56
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :paperclip_asset }.children_fields.include?(:paperclip_asset_file_name)).to be_true
57
57
  end
58
58
 
59
- it 'should be hidden, not filterable' do
59
+ it "is hidden, not filterable" do
60
60
  f = RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :paperclip_asset_file_name }
61
61
  expect(f.hidden?).to be_true
62
62
  expect(f.filterable?).to be_false
63
63
  end
64
64
  end
65
65
 
66
- context 'of a Dragonfly installation' do
67
- it 'should be a _name field and _uid field' do
66
+ context "of a Dragonfly installation" do
67
+ it "is a _name field and _uid field" do
68
68
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :dragonfly_asset }.children_fields).to eq([:dragonfly_asset_name, :dragonfly_asset_uid])
69
69
  end
70
70
  end
71
71
 
72
- context 'of a Carrierwave installation' do
73
- it 'should be the parent field itself' do
72
+ context "of a Carrierwave installation" do
73
+ it "is the parent field itself" do
74
74
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :carrierwave_asset }.children_fields).to eq([:carrierwave_asset])
75
75
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :carrierwave_asset }.hidden?).to be_false
76
76
  end
@@ -78,7 +78,7 @@ describe RailsAdmin::Config::Fields::Base do
78
78
  end
79
79
 
80
80
  describe "#html_default_value" do
81
- it 'should be default_value for new records when value is nil' do
81
+ it "is default_value for new records when value is nil" do
82
82
  RailsAdmin.config Team do
83
83
  list do
84
84
  field :name do
@@ -97,13 +97,13 @@ describe RailsAdmin::Config::Fields::Base do
97
97
  end
98
98
 
99
99
  describe "#default_value" do
100
- it 'should be nil by default' do
100
+ it "is nil by default" do
101
101
  expect(RailsAdmin.config('Team').list.fields.find{|f| f.name == :name}.default_value).to be_nil
102
102
  end
103
103
  end
104
104
 
105
105
  describe "#hint" do
106
- it "should be user customizable" do
106
+ it "is user customizable" do
107
107
  RailsAdmin.config Team do
108
108
  list do
109
109
  field :division do
@@ -118,7 +118,7 @@ describe RailsAdmin::Config::Fields::Base do
118
118
  end
119
119
 
120
120
  describe "#css_class" do
121
- it "should have a default and be user customizable" do
121
+ it "has a default and be user customizable" do
122
122
  RailsAdmin.config Team do
123
123
  list do
124
124
  field :division do
@@ -134,11 +134,11 @@ describe RailsAdmin::Config::Fields::Base do
134
134
  end
135
135
 
136
136
  describe "#associated_collection_cache_all" do
137
- it "should default to true if associated collection count < 100" do
137
+ it "defaults to true if associated collection count < 100" do
138
138
  expect(RailsAdmin.config(Team).edit.fields.find{|f| f.name == :players}.associated_collection_cache_all).to be_true
139
139
  end
140
140
 
141
- it "should default to false if associated collection count >= 100" do
141
+ it "defaults to false if associated collection count >= 100" do
142
142
  @players = 100.times.map do
143
143
  FactoryGirl.create :player
144
144
  end
@@ -146,13 +146,13 @@ describe RailsAdmin::Config::Fields::Base do
146
146
  end
147
147
  end
148
148
 
149
- describe '#searchable_columns' do
150
- describe 'for belongs_to fields' do
151
- it "should find label method on the opposite side for belongs_to associations by default" do
149
+ describe "#searchable_columns" do
150
+ describe "for belongs_to fields" do
151
+ it "finds label method on the opposite side for belongs_to associations by default" do
152
152
  expect(RailsAdmin.config(Team).fields.find{|f| f.name == :division}.searchable_columns.map{|c| c[:column]}).to eq(["divisions.name", "teams.division_id"])
153
153
  end
154
154
 
155
- it "should search on opposite table for belongs_to" do
155
+ it "searches on opposite table for belongs_to" do
156
156
  RailsAdmin.config(Team) do
157
157
  field :division do
158
158
  searchable :custom_id
@@ -161,7 +161,7 @@ describe RailsAdmin::Config::Fields::Base do
161
161
  expect(RailsAdmin.config(Team).fields.find{|f| f.name == :division}.searchable_columns.map{|c| c[:column]}).to eq(["divisions.custom_id"])
162
162
  end
163
163
 
164
- it "should search on asked table with model name" do
164
+ it "searches on asked table with model name" do
165
165
  RailsAdmin.config(Team) do
166
166
  field :division do
167
167
  searchable League => :name
@@ -170,7 +170,7 @@ describe RailsAdmin::Config::Fields::Base do
170
170
  expect(RailsAdmin.config(Team).fields.find{|f| f.name == :division}.searchable_columns).to eq([{:column=>"leagues.name", :type=>:string}])
171
171
  end
172
172
 
173
- it "should search on asked table with table name" do
173
+ it "searches on asked table with table name" do
174
174
  RailsAdmin.config(Team) do
175
175
  field :division do
176
176
  searchable :leagues => :name
@@ -180,14 +180,14 @@ describe RailsAdmin::Config::Fields::Base do
180
180
  end
181
181
  end
182
182
 
183
- describe 'for basic type fields' do
183
+ describe "for basic type fields" do
184
184
 
185
- it 'should use base table and find correct column type' do
185
+ it "uses base table and find correct column type" do
186
186
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :text_field}.searchable_columns).to eq([{:column=>"field_tests.text_field", :type=>:text}])
187
187
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :integer_field}.searchable_columns).to eq([{:column=>"field_tests.integer_field", :type=>:integer}])
188
188
  end
189
189
 
190
- it 'should be customizable to another field on the same table' do
190
+ it "is customizable to another field on the same table" do
191
191
  RailsAdmin.config(FieldTest) do
192
192
  field :time_field do
193
193
  searchable :date_field
@@ -196,7 +196,7 @@ describe RailsAdmin::Config::Fields::Base do
196
196
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :time_field}.searchable_columns).to eq([{:column=>"field_tests.date_field", :type=>:date}])
197
197
  end
198
198
 
199
- it 'should be customizable to another field on another table with :table_name' do
199
+ it "is customizable to another field on another table with :table_name" do
200
200
  RailsAdmin.config(FieldTest) do
201
201
  field :string_field do
202
202
  searchable :nested_field_tests => :title
@@ -205,7 +205,7 @@ describe RailsAdmin::Config::Fields::Base do
205
205
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :string_field}.searchable_columns).to eq([{:column=>"nested_field_tests.title", :type=>:string}])
206
206
  end
207
207
 
208
- it 'should be customizable to another field on another model with ModelClass' do
208
+ it "is customizable to another field on another model with ModelClass" do
209
209
  RailsAdmin.config(FieldTest) do
210
210
  field :string_field do
211
211
  searchable NestedFieldTest => :title
@@ -215,16 +215,16 @@ describe RailsAdmin::Config::Fields::Base do
215
215
  end
216
216
  end
217
217
 
218
- describe 'for mapped fields' do
219
- it 'of paperclip should find the underlying column on the base table' do
218
+ describe "for mapped fields" do
219
+ it "of paperclip should find the underlying column on the base table" do
220
220
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :paperclip_asset}.searchable_columns.map{|c| c[:column]}).to eq(["field_tests.paperclip_asset_file_name"])
221
221
  end
222
222
 
223
- it 'of dragonfly should find the underlying column on the base table' do
223
+ it "of dragonfly should find the underlying column on the base table" do
224
224
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :dragonfly_asset}.searchable_columns.map{|c| c[:column]}).to eq(["field_tests.dragonfly_asset_name"])
225
225
  end
226
226
 
227
- it 'of carrierwave should find the underlying column on the base table' do
227
+ it "of carrierwave should find the underlying column on the base table" do
228
228
  expect(RailsAdmin.config(FieldTest).fields.find{|f| f.name == :carrierwave_asset}.searchable_columns.map{|c| c[:column]}).to eq(["field_tests.carrierwave_asset"])
229
229
  end
230
230
  end
@@ -232,7 +232,7 @@ describe RailsAdmin::Config::Fields::Base do
232
232
 
233
233
 
234
234
  describe "#searchable and #sortable" do
235
- it 'should be false if column is virtual, true otherwise' do
235
+ it "is false if column is virtual, true otherwise" do
236
236
  RailsAdmin.config League do
237
237
  field :virtual_column
238
238
  field :name
@@ -244,18 +244,18 @@ describe RailsAdmin::Config::Fields::Base do
244
244
  expect(RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.searchable).to be_true
245
245
  end
246
246
 
247
- context 'of a virtual field with children fields' do
248
- it 'of paperclip should target the first children field' do
247
+ context "of a virtual field with children fields" do
248
+ it "of paperclip should target the first children field" do
249
249
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :paperclip_asset }.searchable).to eq(:paperclip_asset_file_name)
250
250
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :paperclip_asset }.sortable).to eq(:paperclip_asset_file_name)
251
251
  end
252
252
 
253
- it 'of dragonfly should target the first children field' do
253
+ it "of dragonfly should target the first children field" do
254
254
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :dragonfly_asset }.searchable).to eq(:dragonfly_asset_name)
255
255
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :dragonfly_asset }.sortable).to eq(:dragonfly_asset_name)
256
256
  end
257
257
 
258
- it 'of carrierwave should target the first children field' do
258
+ it "of carrierwave should target the first children field" do
259
259
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :carrierwave_asset }.searchable).to eq(:carrierwave_asset)
260
260
  expect(RailsAdmin.config(FieldTest).fields.find{ |f| f.name == :carrierwave_asset }.sortable).to eq(:carrierwave_asset)
261
261
  end
@@ -263,7 +263,7 @@ describe RailsAdmin::Config::Fields::Base do
263
263
  end
264
264
 
265
265
  describe "#virtual?" do
266
- it 'should be true if column has no properties, false otherwise' do
266
+ it "is true if column has no properties, false otherwise" do
267
267
  RailsAdmin.config League do
268
268
  field :virtual_column
269
269
  field :name
@@ -338,20 +338,20 @@ describe RailsAdmin::Config::Fields::Base do
338
338
  end
339
339
  end
340
340
 
341
- describe '#active' do
342
- it 'is false by default' do
341
+ describe "#active" do
342
+ it "is false by default" do
343
343
  expect(RailsAdmin.config(Team).field(:division).active?).to be_false
344
344
  end
345
345
  end
346
346
 
347
- describe '#associated_collection' do
348
- it 'returns [] when type is blank?' do
347
+ describe "#associated_collection" do
348
+ it "returns [] when type is blank?" do
349
349
  expect(RailsAdmin.config(Comment).fields.find{|f|f.name == :commentable}.associated_collection('')).to be_empty
350
350
  end
351
351
  end
352
352
 
353
- describe '#visible?' do
354
- it "should be false when fields have specific name " do
353
+ describe "#visible?" do
354
+ it "is false when fields have specific name " do
355
355
  class FieldVisibilityTest < Tableless
356
356
  column :id, :integer
357
357
  column :_id, :integer
@@ -371,12 +371,12 @@ describe RailsAdmin::Config::Fields::Base do
371
371
  end
372
372
  end
373
373
 
374
- describe '#editable?' do
374
+ describe "#editable?" do
375
375
  before do
376
376
  Moped.logger.stub!(:debug) if defined?(Moped)
377
377
  end
378
378
 
379
- it 'should yell for non attr_accessible fields if config.yell_for_non_accessible_fields is true' do
379
+ it "yells for non attr_accessible fields if config.yell_for_non_accessible_fields is true" do
380
380
  RailsAdmin.config do |config|
381
381
  config.yell_for_non_accessible_fields = true
382
382
  config.model FieldTest do
@@ -388,7 +388,7 @@ describe RailsAdmin::Config::Fields::Base do
388
388
  expect(editable).to be_false
389
389
  end
390
390
 
391
- it 'should not yell for non attr_accessible fields if config.yell_for_non_accessible_fields is false' do
391
+ it "does not yell for non attr_accessible fields if config.yell_for_non_accessible_fields is false" do
392
392
  RailsAdmin.config do |config|
393
393
  config.yell_for_non_accessible_fields = false
394
394
  config.model FieldTest do
@@ -400,4 +400,16 @@ describe RailsAdmin::Config::Fields::Base do
400
400
  expect(editable).to be_false
401
401
  end
402
402
  end
403
+
404
+ describe "#allowed_methods" do
405
+ it 'includes method_name' do
406
+ RailsAdmin.config do |config|
407
+ config.model Team do
408
+ field :name
409
+ end
410
+ end
411
+
412
+ expect(RailsAdmin.config(Team).field(:name).allowed_methods).to eq [:name]
413
+ end
414
+ end
403
415
  end
@@ -12,19 +12,19 @@ describe RailsAdmin::Config::Fields::Types::Date do
12
12
  Time.zone = 'UTC'
13
13
  end
14
14
 
15
- it "should read %B %d, %Y by default" do
15
+ it "reads %B %d, %Y by default" do
16
16
  @object.date_field = @field.parse_input({ :date_field => @time.strftime("%B %d, %Y") })
17
17
  expect(@object.date_field).to eq(::Date.parse(@time.to_s))
18
18
  end
19
19
 
20
- it "should cover a timezone lag even if in UTC+n:00 timezone." do
20
+ it "covers a timezone lag even if in UTC+n:00 timezone." do
21
21
  Time.zone = 'Tokyo' # +09:00
22
22
 
23
23
  @object.date_field = @field.parse_input({ :date_field => @time.strftime("%B %d, %Y") })
24
24
  expect(@object.date_field).to eq(::Date.parse(@time.to_s))
25
25
  end
26
26
 
27
- it "should have a simple customization option" do
27
+ it "has a simple customization option" do
28
28
  RailsAdmin.config FieldTest do
29
29
  edit do
30
30
  field :date_field do
@@ -37,7 +37,7 @@ describe RailsAdmin::Config::Fields::Types::Date do
37
37
  expect(@object.date_field).to eq(::Date.parse(@time.to_s))
38
38
  end
39
39
 
40
- it "should have a customization option" do
40
+ it "has a customization option" do
41
41
  RailsAdmin.config FieldTest do
42
42
  edit do
43
43
  field :date_field do
@@ -12,13 +12,13 @@ describe RailsAdmin::Config::Fields::Types::Datetime do
12
12
  Time.zone = 'UTC'
13
13
  end
14
14
 
15
- it "should be able to read %B %d, %Y %H:%M" do
15
+ it "is able to read %B %d, %Y %H:%M" do
16
16
  @object = FactoryGirl.create(:field_test)
17
17
  @object.datetime_field = @field.parse_input({ :datetime_field => @time.strftime("%B %d, %Y %H:%M") })
18
18
  expect(@object.datetime_field.strftime("%Y-%m-%d %H:%M")).to eq(@time.strftime("%Y-%m-%d %H:%M"))
19
19
  end
20
20
 
21
- it "should be able to read %a, %d %b %Y %H:%M:%S" do
21
+ it "is able to read %a, %d %b %Y %H:%M:%S" do
22
22
  RailsAdmin.config FieldTest do
23
23
  edit do
24
24
  field :datetime_field do
@@ -31,7 +31,7 @@ describe RailsAdmin::Config::Fields::Types::Datetime do
31
31
  expect(@object.datetime_field.to_s(:rfc822)).to eq(@time.to_s(:rfc822))
32
32
  end
33
33
 
34
- it "should have a customization option" do
34
+ it "has a customization option" do
35
35
  RailsAdmin.config FieldTest do
36
36
  list do
37
37
  field :datetime_field do
@@ -44,7 +44,7 @@ describe RailsAdmin::Config::Fields::Types::Datetime do
44
44
  expect(@object.datetime_field.to_s(:rfc822)).to eq(@time.to_s(:rfc822))
45
45
  end
46
46
 
47
- it "should do round-trip saving properly with non-UTC timezones" do
47
+ it "does round-trip saving properly with non-UTC timezones" do
48
48
  Time.zone = 'Vienna'
49
49
  @object = FactoryGirl.create(:field_test)
50
50
  @object.datetime_field = @field.parse_input({ :datetime_field => '2012-09-01 12:00:00 +02:00' })
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe RailsAdmin::Config::Fields::Types::FileUpload do
4
+ describe "#allowed_methods" do
5
+ it 'includes delete_method and cache_method' do
6
+ RailsAdmin.config do |config|
7
+ config.model FieldTest do
8
+ field :carrierwave_asset
9
+ field :dragonfly_asset
10
+ field :paperclip_asset do
11
+ delete_method :delete_paperclip_asset
12
+ end
13
+ end
14
+ end
15
+ expect(RailsAdmin.config(FieldTest).field(:carrierwave_asset).allowed_methods.map(&:to_s)).to eq ["carrierwave_asset", "remove_carrierwave_asset", "carrierwave_asset_cache"]
16
+ expect(RailsAdmin.config(FieldTest).field(:dragonfly_asset).allowed_methods.map(&:to_s)).to eq ["dragonfly_asset", "remove_dragonfly_asset", "retained_dragonfly_asset"]
17
+ expect(RailsAdmin.config(FieldTest).field(:paperclip_asset).allowed_methods.map(&:to_s)).to eq ["paperclip_asset", "delete_paperclip_asset"]
18
+ end
19
+ end
20
+ end
21
+
@@ -12,18 +12,18 @@ describe RailsAdmin::Config::Fields::Types::Time do
12
12
  Time.zone = 'UTC'
13
13
  end
14
14
 
15
- it "should read %H:%M" do
15
+ it "reads %H:%M" do
16
16
  @object.time_field = @field.parse_input({ :time_field => @time.strftime("%H:%M") })
17
17
  expect(@object.time_field.strftime("%H:%M")).to eq(@time.strftime("%H:%M"))
18
18
  end
19
19
 
20
- it "should interpret time value as UTC when timezone is specified" do
20
+ it "interprets time value as UTC when timezone is specified" do
21
21
  Time.zone = 'Eastern Time (US & Canada)' # -05:00
22
22
  @object.time_field = @field.parse_input({ :time_field => @time.strftime("%H:%M") })
23
23
  expect(@object.time_field.strftime("%H:%M")).to eq(@time.strftime("%H:%M"))
24
24
  end
25
25
 
26
- it "should have a customization option" do
26
+ it "has a customization option" do
27
27
  RailsAdmin.config FieldTest do
28
28
  edit do
29
29
  field :time_field do
@@ -12,7 +12,7 @@ describe RailsAdmin::Config::Fields::Types::Timestamp do
12
12
  Time.zone = 'UTC'
13
13
  end
14
14
 
15
- it "should read %B %d, %Y %H:%M" do
15
+ it "reads %B %d, %Y %H:%M" do
16
16
  @object.timestamp_field = @field.parse_input({ :timestamp_field => @time.strftime("%B %d, %Y %H:%M") })
17
17
  expect(@object.timestamp_field.strftime("%Y-%m-%d %H:%M")).to eq(@time.strftime("%Y-%m-%d %H:%M"))
18
18
  end
@@ -9,7 +9,7 @@ describe RailsAdmin::Config::Model do
9
9
  end
10
10
  end
11
11
 
12
- it "should say false when included, true otherwise" do
12
+ it "returns false when included, true otherwise" do
13
13
  expect(RailsAdmin.config(Player).excluded?).to be_true
14
14
  expect(RailsAdmin.config(Comment).excluded?).to be_false
15
15
  end
@@ -22,53 +22,53 @@ describe RailsAdmin::Config::Model do
22
22
  end
23
23
  end
24
24
 
25
- it "should send object_label_method to binding[:object]" do
25
+ it "sends object_label_method to binding[:object]" do
26
26
  c = Comment.new(:content => 'test')
27
27
  expect(RailsAdmin.config(Comment).with(:object => c).object_label).to eq('test')
28
28
  end
29
29
  end
30
30
 
31
31
  describe "#object_label_method" do
32
- it "should be first of Config.label_methods if found as a column on model, or :rails_admin_default_object_label_method" do
32
+ it "is first of Config.label_methods if found as a column on model, or :rails_admin_default_object_label_method" do
33
33
  expect(RailsAdmin.config(Comment).object_label_method).to eq(:rails_admin_default_object_label_method)
34
34
  expect(RailsAdmin.config(Division).object_label_method).to eq(:name)
35
35
  end
36
36
  end
37
37
 
38
38
  describe "#label" do
39
- it "should be pretty" do
39
+ it "is pretty" do
40
40
  expect(RailsAdmin.config(Comment).label).to eq('Comment')
41
41
  end
42
42
  end
43
43
 
44
44
  describe "#label_plural" do
45
- it "should be pretty" do
45
+ it "is pretty" do
46
46
  expect(RailsAdmin.config(Comment).label_plural).to eq('Comments')
47
47
  end
48
48
  end
49
49
 
50
50
  describe "#weight" do
51
- it "should be 0" do
51
+ it "is 0" do
52
52
  expect(RailsAdmin.config(Comment).weight).to eq(0)
53
53
  end
54
54
  end
55
55
 
56
56
  describe "#parent" do
57
- it "should be nil for ActiveRecord::Base inherited models" do
57
+ it "is nil for ActiveRecord::Base inherited models" do
58
58
  expect(RailsAdmin.config(Comment).parent).to be_nil
59
59
  end
60
60
 
61
- it "should be parent model otherwise" do
61
+ it "is parent model otherwise" do
62
62
  expect(RailsAdmin.config(Hardball).parent).to eq(Ball)
63
63
  end
64
64
  end
65
65
 
66
66
  describe "#navigation_label" do
67
- it "should be nil if parent module is Object" do
67
+ it "is nil if parent module is Object" do
68
68
  expect(RailsAdmin.config(Comment).navigation_label).to be_nil
69
69
  end
70
70
 
71
- it "should be parent module otherwise" do
71
+ it "is parent module otherwise" do
72
72
  expect(RailsAdmin.config(Cms::BasicPage).navigation_label).to eq("Cms")
73
73
  end
74
74
  end