Mercurial > hg > soundsoftware-site
comparison test/unit/user_test.rb @ 1298:4f746d8966dd redmine_2.3_integration
Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author | Chris Cannam |
---|---|
date | Fri, 14 Jun 2013 09:28:30 +0100 |
parents | 622f24f53b42 |
children |
comparison
equal
deleted
inserted
replaced
1297:0a574315af3e | 1298:4f746d8966dd |
---|---|
1 # Redmine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006-2012 Jean-Philippe Lang | 2 # Copyright (C) 2006-2013 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
23 :projects_trackers, | 23 :projects_trackers, |
24 :watchers, | 24 :watchers, |
25 :issue_categories, :enumerations, :issues, | 25 :issue_categories, :enumerations, :issues, |
26 :journals, :journal_details, | 26 :journals, :journal_details, |
27 :groups_users, | 27 :groups_users, |
28 :enabled_modules, | 28 :enabled_modules |
29 :workflows | |
30 | 29 |
31 def setup | 30 def setup |
32 @admin = User.find(1) | 31 @admin = User.find(1) |
33 @jsmith = User.find(2) | 32 @jsmith = User.find(2) |
34 @dlopper = User.find(3) | 33 @dlopper = User.find(3) |
34 end | |
35 | |
36 def test_sorted_scope_should_sort_user_by_display_name | |
37 assert_equal User.all.map(&:name).map(&:downcase).sort, User.sorted.all.map(&:name).map(&:downcase) | |
35 end | 38 end |
36 | 39 |
37 def test_generate | 40 def test_generate |
38 User.generate!(:firstname => 'Testing connection') | 41 User.generate!(:firstname => 'Testing connection') |
39 User.generate!(:firstname => 'Testing connection') | 42 User.generate!(:firstname => 'Testing connection') |
722 user.destroy | 725 user.destroy |
723 | 726 |
724 assert_equal true, User.default_admin_account_changed? | 727 assert_equal true, User.default_admin_account_changed? |
725 end | 728 end |
726 | 729 |
730 def test_membership_with_project_should_return_membership | |
731 project = Project.find(1) | |
732 | |
733 membership = @jsmith.membership(project) | |
734 assert_kind_of Member, membership | |
735 assert_equal @jsmith, membership.user | |
736 assert_equal project, membership.project | |
737 end | |
738 | |
739 def test_membership_with_project_id_should_return_membership | |
740 project = Project.find(1) | |
741 | |
742 membership = @jsmith.membership(1) | |
743 assert_kind_of Member, membership | |
744 assert_equal @jsmith, membership.user | |
745 assert_equal project, membership.project | |
746 end | |
747 | |
748 def test_membership_for_non_member_should_return_nil | |
749 project = Project.find(1) | |
750 | |
751 user = User.generate! | |
752 membership = user.membership(1) | |
753 assert_nil membership | |
754 end | |
755 | |
727 def test_roles_for_project | 756 def test_roles_for_project |
728 # user with a role | 757 # user with a role |
729 roles = @jsmith.roles_for_project(Project.find(1)) | 758 roles = @jsmith.roles_for_project(Project.find(1)) |
730 assert_kind_of Role, roles.first | 759 assert_kind_of Role, roles.first |
731 assert_equal "Manager", roles.first.name | 760 assert_equal "Manager", roles.first.name |
899 end | 928 end |
900 | 929 |
901 should "authorize nearly everything for admin users" do | 930 should "authorize nearly everything for admin users" do |
902 project = Project.find(1) | 931 project = Project.find(1) |
903 assert ! @admin.member_of?(project) | 932 assert ! @admin.member_of?(project) |
904 %w(edit_issues delete_issues manage_news manage_documents manage_wiki).each do |p| | 933 %w(edit_issues delete_issues manage_news add_documents manage_wiki).each do |p| |
905 assert_equal true, @admin.allowed_to?(p.to_sym, project) | 934 assert_equal true, @admin.allowed_to?(p.to_sym, project) |
906 end | 935 end |
907 end | 936 end |
908 | 937 |
909 should "authorize normal users depending on their roles" do | 938 should "authorize normal users depending on their roles" do |
1012 @user = User.generate!(:mail_notification => 'selected') | 1041 @user = User.generate!(:mail_notification => 'selected') |
1013 Member.create!(:user => @user, :project => @project, :role_ids => [1]) | 1042 Member.create!(:user => @user, :project => @project, :role_ids => [1]) |
1014 assert ! @user.notify_about?(@issue) | 1043 assert ! @user.notify_about?(@issue) |
1015 end | 1044 end |
1016 end | 1045 end |
1017 | 1046 end |
1018 context "other events" do | 1047 |
1019 should 'be added and tested' | 1048 def test_notify_about_news |
1049 user = User.generate! | |
1050 news = News.new | |
1051 | |
1052 User::MAIL_NOTIFICATION_OPTIONS.map(&:first).each do |option| | |
1053 user.mail_notification = option | |
1054 assert_equal (option != 'none'), user.notify_about?(news) | |
1020 end | 1055 end |
1021 end | 1056 end |
1022 | 1057 |
1023 def test_salt_unsalted_passwords | 1058 def test_salt_unsalted_passwords |
1024 # Restore a user with an unsalted password | 1059 # Restore a user with an unsalted password |