require File.dirname(__FILE__) + '/../test_helper' class UserProjectTest < Test::Unit::TestCase fixtures :users, :groups, :projects, :groups_projects, :groups_users def setup RetroCM.reload end def test_visibility_admin admin = users(:admin) assert(admin.admin?) opened_projects = Project.find_all_by_closed(false) assert_equal(opened_projects.sort_by(&:id), admin.projects.sort_by(&:id)) end def test_visibility_user public = User.public_user assert_not_nil(public) retro_project = projects(:retro) assert_not_nil(retro_project) default_group = Group.default_group assert_not_nil(default_group) assert(public.groups.include?(default_group)) assert(default_group.projects.include?(retro_project)) assert(!retro_project.closed?) assert(public.projects.include?(retro_project)) assert(public.project_contributor?(retro_project)) assert(retro_project.users.include?(public)) assert_not_nil(retro_project.find_in_users_by_login('Public')) retro_project.closed = true assert(retro_project.save) public.reload default_group.reload assert(!public.projects.include?(retro_project)) assert(!public.project_contributor?(retro_project)) assert(!retro_project.users.include?(public)) assert_equal([], retro_project.users) retro_project.closed = false assert_nothing_raised(){retro_project.save} public.reload default_group.reload assert(public.projects.include?(retro_project)) assert(retro_project.users.include?(public)) default_group.projects = [] assert(default_group.save) public.reload default_group.reload retro_project.reload assert(!public.projects.include?(retro_project)) assert(!retro_project.users.include?(public)) end end