]> cat aescling's git repositories - mastodon.git/commitdiff
Rename admin/accounts_helper to admin/filter_helper (#1816)
authorMatt Jankowski <mjankowski@thoughtbot.com>
Sat, 15 Apr 2017 01:09:55 +0000 (21:09 -0400)
committerEugen <eugen@zeonfederated.com>
Sat, 15 Apr 2017 01:09:55 +0000 (03:09 +0200)
- Add some spec coverage for both methods
- Add explicit constant call-outs for where the params are from

app/helpers/admin/filter_helper.rb [moved from app/helpers/admin/accounts_helper.rb with 70% similarity]
spec/helpers/admin/accounts_helper_spec.rb [deleted file]
spec/helpers/admin/filter_helper_spec.rb [new file with mode: 0644]

similarity index 70%
rename from app/helpers/admin/accounts_helper.rb
rename to app/helpers/admin/filter_helper.rb
index 497abf80db0c14ac4aa7b806f8ef2afb3b53bde4..591056dd78878a5bdc5ec1d375722a21fdf41df7 100644 (file)
@@ -1,9 +1,10 @@
 # frozen_string_literal: true
 
-module Admin::AccountsHelper
-  def filter_params(more_params)
-    params.permit(:local, :remote, :by_domain, :silenced, :suspended, :recent, :resolved).merge(more_params)
-  end
+module Admin::FilterHelper
+  ACCOUNT_FILTERS = %i[local remote by_domain silenced suspended recent].freeze
+  REPORT_FILTERS = %i[resolved].freeze
+
+  FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS
 
   def filter_link_to(text, more_params)
     new_url = filtered_url_for(more_params)
@@ -16,6 +17,10 @@ module Admin::AccountsHelper
 
   private
 
+  def filter_params(more_params)
+    params.permit(FILTERS).merge(more_params)
+  end
+
   def filter_link_class(new_url)
     filtered_url_for(params) == new_url ? 'selected' : ''
   end
diff --git a/spec/helpers/admin/accounts_helper_spec.rb b/spec/helpers/admin/accounts_helper_spec.rb
deleted file mode 100644 (file)
index b91f258..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require 'rails_helper'
-
-RSpec.describe Admin::AccountsHelper, type: :helper do
-
-end
diff --git a/spec/helpers/admin/filter_helper_spec.rb b/spec/helpers/admin/filter_helper_spec.rb
new file mode 100644 (file)
index 0000000..9d4ea28
--- /dev/null
@@ -0,0 +1,20 @@
+require 'rails_helper'
+
+describe Admin::FilterHelper do
+  it 'Uses filter_link_to to create filter links' do
+    params = ActionController::Parameters.new(
+      { test: 'test' }
+    )
+    allow(helper).to receive(:params).and_return(params)
+    allow(helper).to receive(:url_for).and_return('/test')
+    result = helper.filter_link_to('text', { resolved: true })
+
+    expect(result).to match(/text/)
+  end
+
+  it 'Uses table_link_to to create icon links' do
+    result = helper.table_link_to 'icon', 'text', 'path'
+
+    expect(result).to match(/text/)
+  end
+end