# coding: utf-8 require "test_helper" class Admin::SidebarHelperTest < ActiveSupport::TestCase include Admin::SidebarHelper include ActionView::Helpers::UrlHelper include ActionView::Helpers::TagHelper include ActionView::Helpers::FormTagHelper def render(*args); args; end setup do default_url_options[:host] = 'test.host' end =begin def test_actions end def test_export @resource = Post params = { :controller => 'admin/posts', :action => 'index' } self.expects(:params).at_least_once.returns(params) output = export expected = [ "admin/helpers/list", { :items => [ %(CSV), %(XML) ], :header => "Export", :options => { :header => "export" } } ] assert_equal expected, output end def test_build_typus_list_with_empty_content_and_empty_header output = build_typus_list([], :header => nil) assert output.empty? end def test_build_typus_list_with_content_and_header output = build_typus_list(['item1', 'item2'], :header => "Chunky Bacon") assert !output.empty? expected = [ "admin/helpers/list", { :header=>"Chunky bacon", :options => { :header => "Chunky Bacon" }, :items => [ "item1", "item2" ] } ] assert_equal expected, output end def test_build_typus_list_with_content_without_header output = build_typus_list(['item1', 'item2']) expected = [ "admin/helpers/list", { :header => nil, :options => {}, :items=>["item1", "item2"] } ] assert_equal expected, output end def test_search @resource = TypusUser params = { :controller => 'admin/typus_users', :action => 'index' } self.expects(:params).at_least_once.returns(params) output = search partial = "admin/helpers/search" options = { :hidden_params => [ %(), %() ], :search_by => "First name, Last name, Email, and Role" } assert_equal partial, output.first output.last[:hidden_params].each do |o| assert options[:hidden_params].include?(o) end assert options[:search_by].eql?(output.last[:search_by]) end def test_filters @resource = TypusUser @resource.expects(:typus_filters).returns(Array.new) output = filters assert output.nil? end def test_filters_with_filters end def test_relationship_filter end def test_date_filter # FIXME return @resource = TypusUser filter = 'created_at' params = { :controller => 'admin/typus_users', :action => 'index' } self.expects(:params).at_least_once.returns(params) # With an empty request. request = "" output = date_filter(request, filter) partial = "admin/helpers/list" options = { :items => [ %(Today), %(Last few days), %(Last 7 days), %(Last 30 days) ], :header => "Created at", :options => { :attribute => "created_at" } } assert_equal [ partial, options ], output # With a request. request = "created_at=today&page=1" output = date_filter(request, filter) partial = "admin/helpers/list" options = { :items => [ %(Today), %(Last few days), %(Last 7 days), %(Last 30 days) ], :header => "Created at", :options => { :attribute => "created_at" } } assert_equal [ partial, options ], output end def test_boolean_filter # FIXME return @resource = TypusUser filter = 'status' params = { :controller => 'admin/typus_users', :action => 'index' } self.expects(:params).at_least_once.returns(params) # Status is true request = "status=true&page=1" output = boolean_filter(request, filter) partial = "admin/helpers/list" options = { :items => [ %(Active), %(Inactive) ], :header => "Status", :options => { :attribute => "status" } } assert_equal [ partial, options ], output # Status is false request = "status=false&page=1" output = boolean_filter(request, filter) partial = "admin/helpers/list" options = { :items => [ %(Active), %(Inactive) ], :header => "Status", :options => { :attribute => "status" } } assert_equal [ partial, options ], output end def test_string_filter_when_values_are_strings @resource = TypusUser filter = 'role' params = { :controller => 'admin/typus_users', :action => 'index' } self.expects(:params).at_least_once.returns(params) # Roles is admin request = 'role=admin&page=1' # @resource.expects('role').returns(['admin', 'designer', 'editor']) output = string_filter(request, filter) expected = <<-HTML

Role

HTML partial = "admin/helpers/list" options = { :items => [ "Admin", "Designer", "Editor" ], :header => "Role", :options => { :attribute => "role" } } assert_equal [ partial, options ], output # Roles is editor request = 'role=editor&page=1' @resource.expects('role').returns(['admin', 'designer', 'editor']) output = string_filter(request, filter) expected = <<-HTML

Role

HTML partial = "admin/helpers/list" options = { :items => [ "Admin", "Designer", "Editor" ], :header => "Role", :options => { :attribute => "role" } } assert_equal [ partial, options ], output end def test_string_filter_when_values_are_arrays_of_strings @resource = TypusUser filter = 'role' params = { :controller => 'admin/typus_users', :action => 'index' } self.expects(:params).at_least_once.returns(params) request = 'role=admin&page=1' array = [['Administrador', 'admin'], ['Diseñador', 'designer'], ['Editor', 'editor']] @resource.expects('role').returns(array) output = string_filter(request, filter) expected = <<-HTML

Role

HTML partial = "admin/helpers/list" options = { :items => [ "Administrador", "Diseñador", "Editor" ], :header => "Role", :options => { :attribute => "role" } } assert_equal [ partial, options ], output end def test_string_filter_when_empty_values @resource = TypusUser filter = 'role' request = 'role=admin&page=1' @resource.expects('role').returns([]) output = string_filter(request, filter) assert output.empty? end =end end