diff --git a/app/controllers/enterprise_controller.rb b/app/controllers/enterprise_controller.rb index e43d17b..60bff72 100644 --- a/app/controllers/enterprise_controller.rb +++ b/app/controllers/enterprise_controller.rb @@ -69,7 +69,7 @@ class EnterpriseController < ApplicationController end def search - @tagged_enterprises = Enterprise.find_tagged_with(params[:query]) + @tagged_enterprises = Enterprise.search(params[:query]) end def activate diff --git a/app/models/profile.rb b/app/models/profile.rb index 358011b..4354d40 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -56,4 +56,8 @@ class Profile < ActiveRecord::Base self.virtual_community ||= VirtualCommunity.default end + def self.search(term) + find_tagged_with(term) + find_all_by_name(term) + end + end diff --git a/test/integration/edit_enterprise_test.rb b/test/integration/edit_enterprise_test.rb new file mode 100644 index 0000000..503c1fb --- /dev/null +++ b/test/integration/edit_enterprise_test.rb @@ -0,0 +1,32 @@ +require "#{File.dirname(__FILE__)}/../test_helper" + +class EditEnterpriseTest < ActionController::IntegrationTest + all_fixtures + def test_edit_an_enterprise + get '/admin/enterprise' + assert_response :redirect + + login('ze', 'test') + + get '/admin/enterprise' + assert_response :redirect + + follow_redirect! + assert_response :success + assert_tag :tag => 'a', :attributes => {:href => '/admin/enterprise/edit/5'} + + get '/admin/enterprise/edit/5' + assert_response :success + assert_tag :tag => 'input', :attributes => {:name => 'enterprise[name]'} + + post '/admin/enterprise/update/5', :enterprise => {'name' => 'new_name' } + assert_response :redirect + + follow_redirect! + assert_response :redirect + + follow_redirect! + assert_equal '/admin/enterprise/show/5', path + + end +end diff --git a/test/integration/register_enterprise_test.rb b/test/integration/register_enterprise_test.rb new file mode 100644 index 0000000..ee62d46 --- /dev/null +++ b/test/integration/register_enterprise_test.rb @@ -0,0 +1,33 @@ +require "#{File.dirname(__FILE__)}/../test_helper" + +class RegisterEnterpriseTest < ActionController::IntegrationTest + all_fixtures + + def test_register_new_enterprise + get '/admin/enterprise' + assert_response :redirect + + login('ze','test') + + get '/admin/enterprise' + assert_response :redirect + + follow_redirect! + assert_response :success + assert_tag :tag => 'a', :attributes => {:href => '/admin/enterprise/register_form'} + + get '/admin/enterprise/register_form' + assert_response :success + assert_tag :tag => 'input', :attributes => {:name => 'enterprise[name]'} + assert_tag :tag => 'input', :attributes => {:name => 'enterprise[identifier]'} + + post '/admin/enterprise/register', :enterprise => {'name' => 'new_enterprise', 'identifier' => 'enterprise_new'} + assert_response :redirect + + follow_redirect! + assert_response :redirect + + follow_redirect! + assert_response :success + end +end diff --git a/test/integration/search_enterprise_test.rb b/test/integration/search_enterprise_test.rb new file mode 100644 index 0000000..7f287f9 --- /dev/null +++ b/test/integration/search_enterprise_test.rb @@ -0,0 +1,18 @@ +require "#{File.dirname(__FILE__)}/../test_helper" + +class SearchEnterpriseTest < ActionController::IntegrationTest + all_fixtures + + def test_search_by_name_or_tag + login('ze', 'test') + get '/admin/enterprise' + assert_response :redirect + + follow_redirect! + assert_response :success + assert_tag :tag => 'input', :attributes => {'name', 'query'} + + get '/admin/enterprise/search', :query => 'bla' + assert_response :success + end +end diff --git a/test/unit/profile_test.rb b/test/unit/profile_test.rb index 8e0d576..dbb8983 100644 --- a/test/unit/profile_test.rb +++ b/test/unit/profile_test.rb @@ -76,4 +76,13 @@ class ProfileTest < Test::Unit::TestCase assert pe.profiles.include?(pr) end + + def test_search + p = Profile.create(:name => 'wanted', :identifier => 'wanted') + p.update_attribute(:tag_list, 'bla') + + assert Profile.search('wanted').include?(p) + assert Profile.search('bla').include?(p) + assert ! Profile.search('not_wanted').include?(p) + end end -- libgit2 0.21.2