activeadmin 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +20 -0
  3. data/.mdlrc +1 -0
  4. data/.rubocop.yml +52 -3
  5. data/.simplecov +13 -0
  6. data/.travis.yml +9 -24
  7. data/.yardopts +0 -1
  8. data/CHANGELOG.md +85 -4
  9. data/CONTRIBUTING.md +33 -57
  10. data/Gemfile +26 -17
  11. data/Rakefile +1 -12
  12. data/activeadmin.gemspec +9 -11
  13. data/app/assets/javascripts/active_admin/base.js.coffee +6 -2
  14. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +5 -1
  15. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +5 -1
  16. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +5 -1
  17. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +5 -1
  18. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +6 -3
  19. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +9 -7
  20. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +5 -2
  21. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +6 -2
  22. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +3 -5
  23. data/app/assets/stylesheets/active_admin/_base.scss +2 -2
  24. data/app/assets/stylesheets/active_admin/_forms.scss +6 -12
  25. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  26. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  27. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -0
  28. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  29. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  32. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  33. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  34. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  35. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  36. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  37. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  38. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  39. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  40. data/codecov.yml +14 -12
  41. data/config/i18n-tasks.yml +26 -0
  42. data/config/locales/ar.yml +1 -3
  43. data/config/locales/bg.yml +0 -2
  44. data/config/locales/bs.yml +0 -2
  45. data/config/locales/ca.yml +0 -2
  46. data/config/locales/cs.yml +0 -2
  47. data/config/locales/da.yml +1 -3
  48. data/config/locales/de-CH.yml +1 -3
  49. data/config/locales/de.yml +1 -3
  50. data/config/locales/el.yml +1 -3
  51. data/config/locales/en-CA.yml +138 -0
  52. data/config/locales/en-GB.yml +43 -3
  53. data/config/locales/en.yml +8 -4
  54. data/config/locales/es-MX.yml +3 -2
  55. data/config/locales/es.yml +10 -4
  56. data/config/locales/fa.yml +0 -2
  57. data/config/locales/fi.yml +0 -2
  58. data/config/locales/fr.yml +9 -2
  59. data/config/locales/he.yml +53 -7
  60. data/config/locales/hr.yml +0 -2
  61. data/config/locales/hu.yml +0 -2
  62. data/config/locales/id.yml +1 -3
  63. data/config/locales/it.yml +2 -4
  64. data/config/locales/ja.yml +1 -3
  65. data/config/locales/ko.yml +0 -2
  66. data/config/locales/lt.yml +24 -4
  67. data/config/locales/lv.yml +0 -2
  68. data/config/locales/nb.yml +0 -2
  69. data/config/locales/nl.yml +1 -3
  70. data/config/locales/pl.yml +3 -2
  71. data/config/locales/pt-BR.yml +1 -3
  72. data/config/locales/pt-PT.yml +0 -2
  73. data/config/locales/ro.yml +0 -2
  74. data/config/locales/ru.yml +1 -3
  75. data/config/locales/sk.yml +0 -2
  76. data/config/locales/sv-SE.yml +1 -3
  77. data/config/locales/tr.yml +0 -2
  78. data/config/locales/uk.yml +1 -3
  79. data/config/locales/vi.yml +0 -2
  80. data/config/locales/zh-CN.yml +0 -2
  81. data/config/locales/zh-TW.yml +1 -3
  82. data/config/mdl_style.rb +9 -0
  83. data/cucumber.yml +3 -3
  84. data/docs/0-installation.md +15 -12
  85. data/docs/1-general-configuration.md +10 -3
  86. data/docs/10-custom-pages.md +10 -5
  87. data/docs/11-decorators.md +1 -0
  88. data/docs/12-arbre-components.md +7 -9
  89. data/docs/13-authorization-adapter.md +39 -24
  90. data/docs/14-gotchas.md +41 -22
  91. data/docs/2-resource-customization.md +41 -18
  92. data/docs/3-index-pages.md +30 -12
  93. data/docs/3-index-pages/custom-index.md +1 -0
  94. data/docs/3-index-pages/index-as-block.md +0 -5
  95. data/docs/3-index-pages/index-as-blog.md +0 -5
  96. data/docs/3-index-pages/index-as-grid.md +0 -5
  97. data/docs/3-index-pages/index-as-table.md +1 -9
  98. data/docs/4-csv-format.md +2 -1
  99. data/docs/5-forms.md +45 -21
  100. data/docs/6-show-pages.md +2 -1
  101. data/docs/7-sidebars.md +2 -1
  102. data/docs/8-custom-actions.md +4 -1
  103. data/docs/9-batch-actions.md +4 -2
  104. data/docs/documentation.md +19 -21
  105. data/features/comments/commenting.feature +20 -0
  106. data/features/index/filters.feature +41 -1
  107. data/features/index/format_as_csv.feature +17 -0
  108. data/features/index/index_scopes.feature +15 -0
  109. data/features/registering_assets.feature +8 -4
  110. data/features/show/attributes_table_title.feature +54 -0
  111. data/features/show/tabs.feature +10 -4
  112. data/features/step_definitions/action_link_steps.rb +0 -1
  113. data/features/step_definitions/attributes_table_title_steps.rb +11 -0
  114. data/features/step_definitions/batch_action_steps.rb +2 -2
  115. data/features/step_definitions/comment_steps.rb +21 -1
  116. data/features/step_definitions/configuration_steps.rb +1 -1
  117. data/features/step_definitions/filter_steps.rb +9 -0
  118. data/features/step_definitions/format_steps.rb +1 -1
  119. data/features/step_definitions/index_scope_steps.rb +4 -0
  120. data/features/support/env.rb +5 -4
  121. data/features/support/regular_env.rb +7 -0
  122. data/features/support/reload_env.rb +7 -0
  123. data/gemfiles/rails_42.gemfile +2 -37
  124. data/gemfiles/rails_50.gemfile +5 -40
  125. data/gemfiles/rails_51.gemfile +5 -40
  126. data/lib/active_admin.rb +0 -3
  127. data/lib/active_admin/application.rb +6 -4
  128. data/lib/active_admin/asset_registration.rb +8 -0
  129. data/lib/active_admin/authorization_adapter.rb +0 -3
  130. data/lib/active_admin/base_controller.rb +1 -2
  131. data/lib/active_admin/base_controller/authorization.rb +0 -1
  132. data/lib/active_admin/base_controller/menu.rb +9 -9
  133. data/lib/active_admin/batch_actions/controller.rb +1 -1
  134. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  135. data/lib/active_admin/csv_builder.rb +3 -3
  136. data/lib/active_admin/dependency.rb +1 -1
  137. data/lib/active_admin/devise.rb +2 -2
  138. data/lib/active_admin/dsl.rb +2 -2
  139. data/lib/active_admin/filters.rb +2 -0
  140. data/lib/active_admin/filters/active.rb +13 -14
  141. data/lib/active_admin/filters/active_filter.rb +87 -0
  142. data/lib/active_admin/filters/active_sidebar.rb +50 -0
  143. data/lib/active_admin/filters/forms.rb +1 -2
  144. data/lib/active_admin/filters/resource_extension.rb +2 -30
  145. data/lib/active_admin/helpers/settings.rb +0 -1
  146. data/lib/active_admin/inputs/datepicker_input.rb +5 -5
  147. data/lib/active_admin/inputs/filters/date_range_input.rb +12 -4
  148. data/lib/active_admin/inputs/filters/text_input.rb +0 -1
  149. data/lib/active_admin/menu.rb +4 -4
  150. data/lib/active_admin/menu_collection.rb +0 -2
  151. data/lib/active_admin/namespace.rb +1 -1
  152. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -5
  153. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -2
  154. data/lib/active_admin/page_controller.rb +1 -1
  155. data/lib/active_admin/resource/action_items.rb +4 -0
  156. data/lib/active_admin/resource/attributes.rb +1 -1
  157. data/lib/active_admin/resource/page_presenters.rb +1 -1
  158. data/lib/active_admin/resource/routes.rb +0 -1
  159. data/lib/active_admin/resource/scopes.rb +2 -1
  160. data/lib/active_admin/resource_controller.rb +1 -1
  161. data/lib/active_admin/resource_controller/data_access.rb +8 -9
  162. data/lib/active_admin/resource_dsl.rb +10 -10
  163. data/lib/active_admin/router.rb +1 -1
  164. data/lib/active_admin/scope.rb +3 -3
  165. data/lib/active_admin/version.rb +1 -1
  166. data/lib/active_admin/view_helpers.rb +1 -0
  167. data/lib/active_admin/view_helpers/display_helper.rb +1 -1
  168. data/lib/active_admin/view_helpers/form_helper.rb +1 -1
  169. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  170. data/lib/active_admin/views/action_items.rb +1 -1
  171. data/lib/active_admin/views/components/active_admin_form.rb +1 -1
  172. data/lib/active_admin/views/components/dropdown_menu.rb +2 -2
  173. data/lib/active_admin/views/components/index_list.rb +0 -2
  174. data/lib/active_admin/views/components/paginated_collection.rb +1 -1
  175. data/lib/active_admin/views/components/scopes.rb +2 -10
  176. data/lib/active_admin/views/components/status_tag.rb +19 -11
  177. data/lib/active_admin/views/components/tabs.rb +2 -2
  178. data/lib/active_admin/views/header.rb +0 -1
  179. data/lib/active_admin/views/index_as_blog.rb +1 -2
  180. data/lib/active_admin/views/index_as_grid.rb +2 -2
  181. data/lib/active_admin/views/index_as_table.rb +19 -1
  182. data/lib/active_admin/views/pages/base.rb +4 -4
  183. data/lib/active_admin/views/pages/show.rb +6 -1
  184. data/lib/active_admin/views/title_bar.rb +4 -4
  185. data/lib/bug_report_templates/{rails_5_master.rb → active_admin_master.rb} +35 -40
  186. data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
  187. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
  188. data/spec/bug_report_templates_spec.rb +2 -3
  189. data/spec/rails_helper.rb +0 -3
  190. data/spec/spec_helper.rb +1 -12
  191. data/spec/support/active_admin_integration_spec_helper.rb +1 -1
  192. data/spec/support/rails_template.rb +5 -37
  193. data/spec/support/rails_template_with_data.rb +262 -3
  194. data/spec/support/templates/policies/active_admin/comment_policy.rb +1 -1
  195. data/spec/support/templates/policies/active_admin/page_policy.rb +1 -1
  196. data/spec/support/templates/policies/application_policy.rb +1 -2
  197. data/spec/support/templates/post_decorator.rb +0 -1
  198. data/spec/unit/abstract_view_factory_spec.rb +0 -1
  199. data/spec/unit/application_spec.rb +4 -0
  200. data/spec/unit/asset_registration_spec.rb +29 -0
  201. data/spec/unit/belongs_to_spec.rb +1 -2
  202. data/spec/unit/config_shared_examples.rb +1 -1
  203. data/spec/unit/csv_builder_spec.rb +2 -4
  204. data/spec/unit/dependency_spec.rb +7 -7
  205. data/spec/unit/dsl_spec.rb +0 -2
  206. data/spec/unit/filters/active_filter_spec.rb +135 -0
  207. data/spec/unit/filters/active_spec.rb +11 -1
  208. data/spec/unit/filters/filter_form_builder_spec.rb +9 -7
  209. data/spec/unit/form_builder_spec.rb +14 -14
  210. data/spec/unit/helpers/scope_chain_spec.rb +0 -1
  211. data/spec/unit/i18n_spec.rb +17 -0
  212. data/spec/unit/menu_item_spec.rb +1 -3
  213. data/spec/unit/namespace/register_page_spec.rb +1 -1
  214. data/spec/unit/namespace_spec.rb +0 -1
  215. data/spec/unit/page_spec.rb +0 -3
  216. data/spec/unit/resource/action_items_spec.rb +5 -1
  217. data/spec/unit/resource/attributes_spec.rb +1 -2
  218. data/spec/unit/resource/ordering_spec.rb +0 -3
  219. data/spec/unit/resource/scopes_spec.rb +1 -1
  220. data/spec/unit/resource_controller/data_access_spec.rb +2 -2
  221. data/spec/unit/resource_controller_spec.rb +1 -2
  222. data/spec/unit/resource_spec.rb +9 -2
  223. data/spec/unit/routing_spec.rb +0 -2
  224. data/spec/unit/scope_spec.rb +3 -3
  225. data/spec/unit/settings_spec.rb +0 -1
  226. data/spec/unit/view_factory_spec.rb +1 -1
  227. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -1
  228. data/spec/unit/view_helpers/form_helper_spec.rb +3 -4
  229. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -1
  230. data/spec/unit/views/components/attributes_table_spec.rb +0 -1
  231. data/spec/unit/views/components/columns_spec.rb +0 -2
  232. data/spec/unit/views/components/site_title_spec.rb +0 -2
  233. data/spec/unit/views/components/status_tag_spec.rb +23 -7
  234. data/spec/unit/views/components/tabs_spec.rb +29 -1
  235. data/spec/unit/views/pages/index_spec.rb +1 -1
  236. data/tasks/docs.rake +37 -10
  237. data/tasks/lint.rake +14 -1
  238. data/tasks/local.rake +2 -2
  239. data/tasks/test.rake +8 -25
  240. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  241. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  242. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  243. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  244. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  245. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  246. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  247. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  248. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  249. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  250. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  251. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  252. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  253. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  254. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  255. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  256. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
  257. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  258. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  259. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  260. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  261. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  262. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  263. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  264. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  265. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  266. metadata +62 -51
  267. data/.hound.yml +0 -14
  268. data/Appraisals +0 -41
  269. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  270. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
  271. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  272. data/lib/active_admin/filters/humanized.rb +0 -68
  273. data/spec/requests/javascript_spec.rb +0 -22
  274. data/spec/support/jslint.yml +0 -80
  275. data/spec/unit/filters/humanized_spec.rb +0 -64
  276. data/tasks/yard.rake +0 -9
@@ -33,4 +33,3 @@ RSpec.describe ActiveAdmin::ScopeChain do
33
33
  end
34
34
  end
35
35
  end
36
-
@@ -1,4 +1,5 @@
1
1
  require 'rails_helper'
2
+ require 'i18n/tasks'
2
3
 
3
4
  Dir.glob('config/locales/*.yml') do |locale_file|
4
5
  RSpec.describe locale_file do
@@ -10,3 +11,19 @@ Dir.glob('config/locales/*.yml') do |locale_file|
10
11
  it { is_expected.to be_a_subset_of 'config/locales/en.yml' }
11
12
  end
12
13
  end
14
+
15
+ RSpec.describe 'I18n' do
16
+ let(:i18n) { I18n::Tasks::BaseTask.new }
17
+ let(:unused_keys) { i18n.unused_keys }
18
+
19
+ let(:failure_msg) do
20
+ <<-MSG.squish
21
+ #{unused_keys.leaves.count} unused i18n keys, run `i18n-tasks unused' to
22
+ show them
23
+ MSG
24
+ end
25
+
26
+ it 'does not have unused keys' do
27
+ expect(unused_keys).to be_empty, failure_msg
28
+ end
29
+ end
@@ -1,4 +1,3 @@
1
- require 'spec_helper'
2
1
  require 'active_admin/menu'
3
2
  require 'active_admin/menu_item'
4
3
 
@@ -97,7 +96,7 @@ module ActiveAdmin
97
96
 
98
97
  context "with no parent" do
99
98
  it "should return an empty array" do
100
- expect(item.ancestors).to eq []
99
+ expect(item.ancestors).to eq []
101
100
  end
102
101
  end
103
102
 
@@ -128,7 +127,6 @@ module ActiveAdmin
128
127
  end
129
128
  end # accessing ancestory
130
129
 
131
-
132
130
  describe "#id" do
133
131
  it "should be normalized" do
134
132
  expect(MenuItem.new(id: "Foo Bar").id).to eq "foo_bar"
@@ -50,7 +50,7 @@ RSpec.describe ActiveAdmin::Namespace, "registering a page" do
50
50
  end
51
51
 
52
52
  it "should generate the parent menu item" do
53
- expect( menu['Extra']).to_not eq nil
53
+ expect(menu['Extra']).to_not eq nil
54
54
  end
55
55
 
56
56
  it "should generate its own child item" do
@@ -61,7 +61,6 @@ RSpec.describe ActiveAdmin::Namespace do
61
61
  end
62
62
  end
63
63
 
64
-
65
64
  describe "#fetch_menu" do
66
65
  let(:namespace){ ActiveAdmin::Namespace.new(application, :admin) }
67
66
 
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require 'rails_helper'
4
2
  require File.expand_path('config_shared_examples', File.dirname(__FILE__))
5
3
 
@@ -71,7 +69,6 @@ module ActiveAdmin
71
69
  expect(config.belongs_to?).to eq false
72
70
  end
73
71
 
74
-
75
72
  it "should not have any action_items" do
76
73
  expect(config.action_items?).to eq false
77
74
  end
@@ -11,7 +11,7 @@ RSpec.describe ActiveAdmin::Resource::ActionItems do
11
11
 
12
12
  before do
13
13
  resource.clear_action_items!
14
- resource.add_action_item :empty do
14
+ resource.add_action_item :empty, class: :test do
15
15
  # Empty ...
16
16
  end
17
17
  end
@@ -28,6 +28,10 @@ RSpec.describe ActiveAdmin::Resource::ActionItems do
28
28
  expect(resource.action_items.first.block).to_not eq nil
29
29
  end
30
30
 
31
+ it "should include class from options" do
32
+ expect(resource.action_items.first.html_class).to eq("action_item test")
33
+ end
34
+
31
35
  end
32
36
 
33
37
  describe "setting an action item to only display on specific controller actions" do
@@ -12,7 +12,7 @@ module ActiveAdmin
12
12
  end
13
13
 
14
14
  it 'should return attributes hash' do
15
- expect(subject).to eq( author_id: :author,
15
+ expect(subject).to eq(author_id: :author,
16
16
  body: :body,
17
17
  created_at: :created_at,
18
18
  custom_category_id: :category,
@@ -47,4 +47,3 @@ module ActiveAdmin
47
47
 
48
48
  end
49
49
  end
50
-
@@ -20,7 +20,6 @@ module ActiveAdmin
20
20
  expect(resource_config.ordering.size).to eq(1)
21
21
  end
22
22
 
23
-
24
23
  it "should allow to setup custom ordering class" do
25
24
  MyOrderClause = Class.new(ActiveAdmin::OrderClause)
26
25
  dsl.run_registration_block do
@@ -34,5 +33,3 @@ module ActiveAdmin
34
33
  end
35
34
  end
36
35
  end
37
-
38
-
@@ -41,7 +41,7 @@ module ActiveAdmin
41
41
  it "should update a scope with the same id" do
42
42
  config.scope :published
43
43
  expect(config.scopes.first.scope_block).to eq nil
44
- config.scope(:published){ }
44
+ config.scope(:published){ }
45
45
  expect(config.scopes.first.scope_block).to_not eq nil
46
46
  end
47
47
 
@@ -40,7 +40,7 @@ RSpec.describe ActiveAdmin::ResourceController::DataAccess do
40
40
  end
41
41
  it "should return relation without empty filters" do
42
42
  expect(Post).to receive(:ransack).with(params[:q]).once.and_wrap_original do |original, *args|
43
- chain = original.call(*args)
43
+ chain = original.call(*args)
44
44
  expect(chain.conditions.size).to eq(1)
45
45
  chain
46
46
  end
@@ -209,7 +209,7 @@ RSpec.describe ActiveAdmin::ResourceController::DataAccess do
209
209
  end
210
210
 
211
211
  before do
212
- expect(Post).to receive(:new).with(a_hash_including(:body, :taggings_attributes )).and_call_original
212
+ expect(Post).to receive(:new).with(a_hash_including(:body, :taggings_attributes)).and_call_original
213
213
  end
214
214
 
215
215
  subject do
@@ -161,7 +161,7 @@ RSpec.describe "A specific resource controller", type: :controller do
161
161
  before do
162
162
  allow(Post).to receive(:find).and_return(post)
163
163
  controller.class_eval { public :resource }
164
- allow(controller).to receive(:params).and_return( ActionController::Parameters.new(http_params) )
164
+ allow(controller).to receive(:params).and_return(ActionController::Parameters.new(http_params))
165
165
  end
166
166
 
167
167
  subject { controller.resource }
@@ -217,7 +217,6 @@ RSpec.describe "A specific resource controller", type: :controller do
217
217
  end
218
218
  end
219
219
 
220
-
221
220
  describe "performing batch_action" do
222
221
  let(:batch_action) { ActiveAdmin::BatchAction.new :flag, "Flag", &batch_action_block }
223
222
  let(:batch_action_block) { proc { } }
@@ -49,7 +49,6 @@ module ActiveAdmin
49
49
  end
50
50
  end
51
51
 
52
-
53
52
  describe "controller name" do
54
53
  it "should return a namespaced controller name" do
55
54
  expect(config.controller_name).to eq "Admin::CategoriesController"
@@ -146,7 +145,6 @@ module ActiveAdmin
146
145
  end
147
146
  end
148
147
 
149
-
150
148
  describe "sort order" do
151
149
  class MockResource
152
150
  end
@@ -179,6 +177,15 @@ module ActiveAdmin
179
177
  config.scope :published
180
178
  expect(config.scopes.first).to be_a(ActiveAdmin::Scope)
181
179
  expect(config.scopes.first.name).to eq "Published"
180
+ expect(config.scopes.first.show_count).to eq true
181
+ end
182
+
183
+ context 'when show_count disabled' do
184
+ it "should add a scope show_count = false" do
185
+ namespace.scopes_show_count = false
186
+ config.scope :published
187
+ expect(config.scopes.first.show_count).to eq false
188
+ end
182
189
  end
183
190
 
184
191
  it "should retrive a scope by its id" do
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require 'rails_helper'
4
2
 
5
3
  RSpec.describe ActiveAdmin, "Routing", type: :routing do
@@ -145,16 +145,16 @@ RSpec.describe ActiveAdmin::Scope do
145
145
  allow(loc).to receive(:t).with(:published, scope: 'scopes').and_return("All published")
146
146
  loc
147
147
  end
148
- let(:scope) { ActiveAdmin::Scope.new :published, :published, localizer: localizer }
148
+ let(:scope) { ActiveAdmin::Scope.new :published, :published, localizer: localizer }
149
149
 
150
150
  describe '#name' do
151
151
  subject { super().name }
152
- it { is_expected.to eq("All published")}
152
+ it { is_expected.to eq("All published")}
153
153
  end
154
154
 
155
155
  describe '#id' do
156
156
  subject { super().id }
157
- it { is_expected.to eq("published")}
157
+ it { is_expected.to eq("published")}
158
158
  end
159
159
 
160
160
  describe '#scope_method' do
@@ -45,7 +45,6 @@ RSpec.describe ActiveAdmin::Settings do
45
45
 
46
46
  end
47
47
 
48
-
49
48
  RSpec.describe ActiveAdmin::Settings::Inheritance do
50
49
 
51
50
  subject do
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  def it_should_have_view(key, value)
4
4
  it "should have #{value} for view key '#{key}'" do
5
- expect(subject.send(key)).to eq value
5
+ expect(subject.send(key)).to eq value
6
6
  end
7
7
  end
8
8
 
@@ -22,4 +22,3 @@ RSpec.describe ActiveAdmin::ViewHelpers::FlashHelper do
22
22
 
23
23
  end
24
24
  end
25
-
@@ -26,8 +26,8 @@ RSpec.describe ActiveAdmin::ViewHelpers::FormHelper do
26
26
 
27
27
  it "should render hidden field tags for params" do
28
28
  html = Capybara.string view.hidden_field_tags_for(ActionController::Parameters.new(scope: "All", filter: "None"))
29
- expect(html).to have_selector("input#hidden_active_admin_scope[name=scope][type=hidden][value=All]")
30
- expect(html).to have_selector("input#hidden_active_admin_filter[name=filter][type=hidden][value=None]")
29
+ expect(html).to have_selector("input#hidden_active_admin_scope[name=scope][type=hidden][value=All]", visible: false)
30
+ expect(html).to have_selector("input#hidden_active_admin_filter[name=filter][type=hidden][value=None]", visible: false)
31
31
  end
32
32
 
33
33
  it "should generate not default id for hidden input" do
@@ -36,8 +36,7 @@ RSpec.describe ActiveAdmin::ViewHelpers::FormHelper do
36
36
 
37
37
  it "should filter out the field passed via the option :except" do
38
38
  html = Capybara.string view.hidden_field_tags_for(ActionController::Parameters.new(scope: "All", filter: "None"), except: :filter)
39
- expect(html).to have_selector("input#hidden_active_admin_scope[name=scope][type=hidden][value=All]")
39
+ expect(html).to have_selector("input#hidden_active_admin_scope[name=scope][type=hidden][value=All]", visible: false)
40
40
  end
41
41
  end
42
42
  end
43
-
@@ -87,7 +87,6 @@ RSpec.describe MethodOrProcHelper do
87
87
 
88
88
  end
89
89
 
90
-
91
90
  end
92
91
 
93
92
  describe "#render_or_call_method_or_proc_on" do
@@ -235,7 +235,6 @@ RSpec.describe ActiveAdmin::Views::AttributesTable do
235
235
  end # describe rendering rows
236
236
  end # with a collection
237
237
 
238
-
239
238
  context "when using a single Hash" do
240
239
  let(:table) do
241
240
  render_arbre_component nil, helpers do
@@ -81,7 +81,6 @@ RSpec.describe ActiveAdmin::Views::Columns do
81
81
  expect(cols.children.size).to eq 4
82
82
  end
83
83
 
84
-
85
84
  (0..2).to_a.each do |index|
86
85
  it "should have column #{index + 1} with width 49% and margin 2%" do
87
86
  expect(cols.children[index].attr(:style)).to eq "width: 23.5%; margin-right: 2%;"
@@ -93,7 +92,6 @@ RSpec.describe ActiveAdmin::Views::Columns do
93
92
  end
94
93
  end
95
94
 
96
-
97
95
  describe "Column Spans" do
98
96
  let(:cols) do
99
97
  render_arbre_component do
@@ -73,6 +73,4 @@ RSpec.describe ActiveAdmin::Views::SiteTitle do
73
73
 
74
74
  end
75
75
 
76
-
77
-
78
76
  end
@@ -134,17 +134,38 @@ RSpec.describe ActiveAdmin::Views::StatusTag do
134
134
  context "when status is 'Active' and type is :ok" do
135
135
  subject { status_tag('Active', :ok) }
136
136
 
137
+ describe 'is deprecated' do
138
+ subject { super().class_list }
139
+ it do
140
+ expect(ActiveAdmin::Deprecation)
141
+ .to receive(:warn)
142
+ .with(<<-MSG.strip_heredoc
143
+ The `type` parameter has been deprecated. Provide the "ok" type as
144
+ a class instead. For example, `status_tag(status, :ok, class: "abc")`
145
+ would change to `status_tag(status, class: "ok abc")`. Also note that
146
+ the "ok" CSS rule will be removed too, so you'll have to provide
147
+ the styles yourself. See https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md#110-
148
+ for more information.
149
+ MSG
150
+ )
151
+ is_expected.to include('ok')
152
+ end
153
+ end
154
+
137
155
  describe '#class_list' do
156
+ before { expect(ActiveAdmin::Deprecation).to receive(:warn).once }
138
157
  subject { super().class_list }
139
158
  it { is_expected.to include('status_tag') }
140
159
  end
141
160
 
142
161
  describe '#class_list' do
162
+ before { expect(ActiveAdmin::Deprecation).to receive(:warn).once }
143
163
  subject { super().class_list }
144
164
  it { is_expected.to include('active') }
145
165
  end
146
166
 
147
167
  describe '#class_list' do
168
+ before { expect(ActiveAdmin::Deprecation).to receive(:warn).once }
148
169
  subject { super().class_list }
149
170
  it { is_expected.to include('ok') }
150
171
  end
@@ -193,8 +214,8 @@ RSpec.describe ActiveAdmin::Views::StatusTag do
193
214
  end
194
215
  end
195
216
 
196
- context "when status is 'So useless', type is :ok, class is 'woot awesome' and id is 'useless'" do
197
- subject { status_tag('So useless', :ok, class: 'woot awesome', id: 'useless') }
217
+ context "when status is 'So useless', class is 'woot awesome' and id is 'useless'" do
218
+ subject { status_tag('So useless', class: 'woot awesome', id: 'useless') }
198
219
 
199
220
  describe '#content' do
200
221
  subject { super().content }
@@ -206,11 +227,6 @@ RSpec.describe ActiveAdmin::Views::StatusTag do
206
227
  it { is_expected.to include('status_tag') }
207
228
  end
208
229
 
209
- describe '#class_list' do
210
- subject { super().class_list }
211
- it { is_expected.to include('ok') }
212
- end
213
-
214
230
  describe '#class_list' do
215
231
  subject { super().class_list }
216
232
  it { is_expected.to include('so_useless') }
@@ -3,17 +3,45 @@ require 'rails_helper'
3
3
  RSpec.describe ActiveAdmin::Views::Tabs do
4
4
  describe "creating with the dsl" do
5
5
  context "when creating tabs with a symbol" do
6
+ before do
7
+ expect(I18n).to receive(:t).at_least(:once).with(:tab_key).and_return "テスト"
8
+ end
9
+
6
10
  let(:tabs) do
7
11
  render_arbre_component do
8
12
  tabs do
9
13
  tab :overview
14
+ tab I18n.t(:tab_key), { id: :something_unique }
10
15
  end
11
16
  end
12
17
  end
13
18
 
19
+ let(:subject) { Capybara.string(tabs.to_s) }
20
+
14
21
  it "should create a tab navigation bar based on the symbol" do
15
- expect(tabs.find_by_tag('li').first.content).to include "Overview"
22
+ expect(subject).to have_content('Overview')
23
+ end
24
+
25
+ it "should have tab with id based on symbol" do
26
+ expect(subject).to have_selector('div#overview')
27
+ end
28
+
29
+ it "should have link with fragment based on symbol" do
30
+ expect(subject).to have_selector('a[href="#overview"]')
16
31
  end
32
+
33
+ it "should handle translation" do
34
+ expect(subject).to have_content('テスト')
35
+ end
36
+
37
+ it "should have tab with id based on options" do
38
+ expect(subject).to have_selector('div#something_unique')
39
+ end
40
+
41
+ it "should have link with fragment based on options" do
42
+ expect(subject).to have_selector('a[href="#something_unique"]')
43
+ end
44
+
17
45
  end
18
46
 
19
47
  context "when creating a tab with a block" do
@@ -4,7 +4,7 @@ RSpec.describe ActiveAdmin::Views::Pages::Index do
4
4
  describe "#title" do
5
5
  let!(:application){ ActiveAdmin::Application.new }
6
6
  let(:namespace){ ActiveAdmin::Namespace.new(application, "Admin") }
7
- let!(:params){ ActionController::Parameters.new(controller: "UsersController", action: "edit") }
7
+ let!(:params){ ActionController::Parameters.new(controller: "UsersController", action: "edit") }
8
8
  let(:helpers) do
9
9
  helpers = mock_action_view
10
10
  allow(helpers).to receive(:active_admin_config).and_return(namespace.register(Post))