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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE.md +20 -0
- data/.mdlrc +1 -0
- data/.rubocop.yml +52 -3
- data/.simplecov +13 -0
- data/.travis.yml +9 -24
- data/.yardopts +0 -1
- data/CHANGELOG.md +85 -4
- data/CONTRIBUTING.md +33 -57
- data/Gemfile +26 -17
- data/Rakefile +1 -12
- data/activeadmin.gemspec +9 -11
- data/app/assets/javascripts/active_admin/base.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +6 -3
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +9 -7
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +5 -2
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +3 -5
- data/app/assets/stylesheets/active_admin/_base.scss +2 -2
- data/app/assets/stylesheets/active_admin/_forms.scss +6 -12
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -0
- data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
- data/app/assets/stylesheets/active_admin/print.scss +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/codecov.yml +14 -12
- data/config/i18n-tasks.yml +26 -0
- data/config/locales/ar.yml +1 -3
- data/config/locales/bg.yml +0 -2
- data/config/locales/bs.yml +0 -2
- data/config/locales/ca.yml +0 -2
- data/config/locales/cs.yml +0 -2
- data/config/locales/da.yml +1 -3
- data/config/locales/de-CH.yml +1 -3
- data/config/locales/de.yml +1 -3
- data/config/locales/el.yml +1 -3
- data/config/locales/en-CA.yml +138 -0
- data/config/locales/en-GB.yml +43 -3
- data/config/locales/en.yml +8 -4
- data/config/locales/es-MX.yml +3 -2
- data/config/locales/es.yml +10 -4
- data/config/locales/fa.yml +0 -2
- data/config/locales/fi.yml +0 -2
- data/config/locales/fr.yml +9 -2
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +0 -2
- data/config/locales/hu.yml +0 -2
- data/config/locales/id.yml +1 -3
- data/config/locales/it.yml +2 -4
- data/config/locales/ja.yml +1 -3
- data/config/locales/ko.yml +0 -2
- data/config/locales/lt.yml +24 -4
- data/config/locales/lv.yml +0 -2
- data/config/locales/nb.yml +0 -2
- data/config/locales/nl.yml +1 -3
- data/config/locales/pl.yml +3 -2
- data/config/locales/pt-BR.yml +1 -3
- data/config/locales/pt-PT.yml +0 -2
- data/config/locales/ro.yml +0 -2
- data/config/locales/ru.yml +1 -3
- data/config/locales/sk.yml +0 -2
- data/config/locales/sv-SE.yml +1 -3
- data/config/locales/tr.yml +0 -2
- data/config/locales/uk.yml +1 -3
- data/config/locales/vi.yml +0 -2
- data/config/locales/zh-CN.yml +0 -2
- data/config/locales/zh-TW.yml +1 -3
- data/config/mdl_style.rb +9 -0
- data/cucumber.yml +3 -3
- data/docs/0-installation.md +15 -12
- data/docs/1-general-configuration.md +10 -3
- data/docs/10-custom-pages.md +10 -5
- data/docs/11-decorators.md +1 -0
- data/docs/12-arbre-components.md +7 -9
- data/docs/13-authorization-adapter.md +39 -24
- data/docs/14-gotchas.md +41 -22
- data/docs/2-resource-customization.md +41 -18
- data/docs/3-index-pages.md +30 -12
- data/docs/3-index-pages/custom-index.md +1 -0
- data/docs/3-index-pages/index-as-block.md +0 -5
- data/docs/3-index-pages/index-as-blog.md +0 -5
- data/docs/3-index-pages/index-as-grid.md +0 -5
- data/docs/3-index-pages/index-as-table.md +1 -9
- data/docs/4-csv-format.md +2 -1
- data/docs/5-forms.md +45 -21
- data/docs/6-show-pages.md +2 -1
- data/docs/7-sidebars.md +2 -1
- data/docs/8-custom-actions.md +4 -1
- data/docs/9-batch-actions.md +4 -2
- data/docs/documentation.md +19 -21
- data/features/comments/commenting.feature +20 -0
- data/features/index/filters.feature +41 -1
- data/features/index/format_as_csv.feature +17 -0
- data/features/index/index_scopes.feature +15 -0
- data/features/registering_assets.feature +8 -4
- data/features/show/attributes_table_title.feature +54 -0
- data/features/show/tabs.feature +10 -4
- data/features/step_definitions/action_link_steps.rb +0 -1
- data/features/step_definitions/attributes_table_title_steps.rb +11 -0
- data/features/step_definitions/batch_action_steps.rb +2 -2
- data/features/step_definitions/comment_steps.rb +21 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/filter_steps.rb +9 -0
- data/features/step_definitions/format_steps.rb +1 -1
- data/features/step_definitions/index_scope_steps.rb +4 -0
- data/features/support/env.rb +5 -4
- data/features/support/regular_env.rb +7 -0
- data/features/support/reload_env.rb +7 -0
- data/gemfiles/rails_42.gemfile +2 -37
- data/gemfiles/rails_50.gemfile +5 -40
- data/gemfiles/rails_51.gemfile +5 -40
- data/lib/active_admin.rb +0 -3
- data/lib/active_admin/application.rb +6 -4
- data/lib/active_admin/asset_registration.rb +8 -0
- data/lib/active_admin/authorization_adapter.rb +0 -3
- data/lib/active_admin/base_controller.rb +1 -2
- data/lib/active_admin/base_controller/authorization.rb +0 -1
- data/lib/active_admin/base_controller/menu.rb +9 -9
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
- data/lib/active_admin/csv_builder.rb +3 -3
- data/lib/active_admin/dependency.rb +1 -1
- data/lib/active_admin/devise.rb +2 -2
- data/lib/active_admin/dsl.rb +2 -2
- data/lib/active_admin/filters.rb +2 -0
- data/lib/active_admin/filters/active.rb +13 -14
- data/lib/active_admin/filters/active_filter.rb +87 -0
- data/lib/active_admin/filters/active_sidebar.rb +50 -0
- data/lib/active_admin/filters/forms.rb +1 -2
- data/lib/active_admin/filters/resource_extension.rb +2 -30
- data/lib/active_admin/helpers/settings.rb +0 -1
- data/lib/active_admin/inputs/datepicker_input.rb +5 -5
- data/lib/active_admin/inputs/filters/date_range_input.rb +12 -4
- data/lib/active_admin/inputs/filters/text_input.rb +0 -1
- data/lib/active_admin/menu.rb +4 -4
- data/lib/active_admin/menu_collection.rb +0 -2
- data/lib/active_admin/namespace.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +1 -5
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -2
- data/lib/active_admin/page_controller.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +4 -0
- data/lib/active_admin/resource/attributes.rb +1 -1
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +0 -1
- data/lib/active_admin/resource/scopes.rb +2 -1
- data/lib/active_admin/resource_controller.rb +1 -1
- data/lib/active_admin/resource_controller/data_access.rb +8 -9
- data/lib/active_admin/resource_dsl.rb +10 -10
- data/lib/active_admin/router.rb +1 -1
- data/lib/active_admin/scope.rb +3 -3
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers.rb +1 -0
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/form_helper.rb +1 -1
- data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
- data/lib/active_admin/views/action_items.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +2 -2
- data/lib/active_admin/views/components/index_list.rb +0 -2
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +2 -10
- data/lib/active_admin/views/components/status_tag.rb +19 -11
- data/lib/active_admin/views/components/tabs.rb +2 -2
- data/lib/active_admin/views/header.rb +0 -1
- data/lib/active_admin/views/index_as_blog.rb +1 -2
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +19 -1
- data/lib/active_admin/views/pages/base.rb +4 -4
- data/lib/active_admin/views/pages/show.rb +6 -1
- data/lib/active_admin/views/title_bar.rb +4 -4
- data/lib/bug_report_templates/{rails_5_master.rb → active_admin_master.rb} +35 -40
- data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
- data/spec/bug_report_templates_spec.rb +2 -3
- data/spec/rails_helper.rb +0 -3
- data/spec/spec_helper.rb +1 -12
- data/spec/support/active_admin_integration_spec_helper.rb +1 -1
- data/spec/support/rails_template.rb +5 -37
- data/spec/support/rails_template_with_data.rb +262 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +1 -1
- data/spec/support/templates/policies/active_admin/page_policy.rb +1 -1
- data/spec/support/templates/policies/application_policy.rb +1 -2
- data/spec/support/templates/post_decorator.rb +0 -1
- data/spec/unit/abstract_view_factory_spec.rb +0 -1
- data/spec/unit/application_spec.rb +4 -0
- data/spec/unit/asset_registration_spec.rb +29 -0
- data/spec/unit/belongs_to_spec.rb +1 -2
- data/spec/unit/config_shared_examples.rb +1 -1
- data/spec/unit/csv_builder_spec.rb +2 -4
- data/spec/unit/dependency_spec.rb +7 -7
- data/spec/unit/dsl_spec.rb +0 -2
- data/spec/unit/filters/active_filter_spec.rb +135 -0
- data/spec/unit/filters/active_spec.rb +11 -1
- data/spec/unit/filters/filter_form_builder_spec.rb +9 -7
- data/spec/unit/form_builder_spec.rb +14 -14
- data/spec/unit/helpers/scope_chain_spec.rb +0 -1
- data/spec/unit/i18n_spec.rb +17 -0
- data/spec/unit/menu_item_spec.rb +1 -3
- data/spec/unit/namespace/register_page_spec.rb +1 -1
- data/spec/unit/namespace_spec.rb +0 -1
- data/spec/unit/page_spec.rb +0 -3
- data/spec/unit/resource/action_items_spec.rb +5 -1
- data/spec/unit/resource/attributes_spec.rb +1 -2
- data/spec/unit/resource/ordering_spec.rb +0 -3
- data/spec/unit/resource/scopes_spec.rb +1 -1
- data/spec/unit/resource_controller/data_access_spec.rb +2 -2
- data/spec/unit/resource_controller_spec.rb +1 -2
- data/spec/unit/resource_spec.rb +9 -2
- data/spec/unit/routing_spec.rb +0 -2
- data/spec/unit/scope_spec.rb +3 -3
- data/spec/unit/settings_spec.rb +0 -1
- data/spec/unit/view_factory_spec.rb +1 -1
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -1
- data/spec/unit/view_helpers/form_helper_spec.rb +3 -4
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -1
- data/spec/unit/views/components/attributes_table_spec.rb +0 -1
- data/spec/unit/views/components/columns_spec.rb +0 -2
- data/spec/unit/views/components/site_title_spec.rb +0 -2
- data/spec/unit/views/components/status_tag_spec.rb +23 -7
- data/spec/unit/views/components/tabs_spec.rb +29 -1
- data/spec/unit/views/pages/index_spec.rb +1 -1
- data/tasks/docs.rake +37 -10
- data/tasks/lint.rake +14 -1
- data/tasks/local.rake +2 -2
- data/tasks/test.rake +8 -25
- data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
- metadata +62 -51
- data/.hound.yml +0 -14
- data/Appraisals +0 -41
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/lib/active_admin/filters/humanized.rb +0 -68
- data/spec/requests/javascript_spec.rb +0 -22
- data/spec/support/jslint.yml +0 -80
- data/spec/unit/filters/humanized_spec.rb +0 -64
- data/tasks/yard.rake +0 -9
data/spec/unit/i18n_spec.rb
CHANGED
@@ -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
|
data/spec/unit/menu_item_spec.rb
CHANGED
@@ -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
|
-
|
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"
|
data/spec/unit/namespace_spec.rb
CHANGED
data/spec/unit/page_spec.rb
CHANGED
@@ -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(
|
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
|
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
|
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(
|
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 { } }
|
data/spec/unit/resource_spec.rb
CHANGED
@@ -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
|
data/spec/unit/routing_spec.rb
CHANGED
data/spec/unit/scope_spec.rb
CHANGED
@@ -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)
|
148
|
+
let(:scope) { ActiveAdmin::Scope.new :published, :published, localizer: localizer }
|
149
149
|
|
150
150
|
describe '#name' do
|
151
151
|
subject { super().name }
|
152
|
-
it
|
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
|
157
|
+
it { is_expected.to eq("published")}
|
158
158
|
end
|
159
159
|
|
160
160
|
describe '#scope_method' do
|
data/spec/unit/settings_spec.rb
CHANGED
@@ -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
|
-
|
@@ -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
|
@@ -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',
|
197
|
-
subject { status_tag('So 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(
|
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){
|
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))
|