diff --git a/app/controllers/sys_controller.rb b/app/controllers/sys_controller.rb index 3d1984e..b6ad83d 100644 --- a/app/controllers/sys_controller.rb +++ b/app/controllers/sys_controller.rb @@ -24,7 +24,7 @@ class SysController < ActionController::Base # Returns the projects list, with their repositories def projects_with_repository_enabled - Project.repository_enabled(:all, :include => :repository) + Project.repository_enabled(:all, :include => :repository, :order => 'identifier') end # Registers a repository for the given project identifier diff --git a/test/functional/sys_api_test.rb b/test/functional/sys_api_test.rb index ec8d096..232fc76 100644 --- a/test/functional/sys_api_test.rb +++ b/test/functional/sys_api_test.rb @@ -5,7 +5,7 @@ require 'sys_controller' class SysController; def rescue_action(e) raise e end; end class SysControllerTest < Test::Unit::TestCase - fixtures :projects, :repositories + fixtures :projects, :enabled_modules, :repositories def setup @controller = SysController.new @@ -15,10 +15,27 @@ class SysControllerTest < Test::Unit::TestCase Setting.sys_api_enabled = 1 end - def test_projects - result = invoke :projects - assert_equal Project.count, result.size - assert result.first.is_a?(Project) + def test_projects_with_repository_enabled + result = invoke :projects_with_repository_enabled + assert_equal EnabledModule.count(:all, :conditions => {:name => 'repository'}), result.size + + project = result.first + assert project.is_a?(AWSProjectWithRepository) + + assert project.respond_to?(:id) + assert_equal 1, project.id + + assert project.respond_to?(:identifier) + assert_equal 'ecookbook', project.identifier + + assert project.respond_to?(:name) + assert_equal 'eCookbook', project.name + + assert project.respond_to?(:is_public) + assert project.is_public + + assert project.respond_to?(:repository) + assert project.repository.is_a?(Repository) end def test_repository_created