##// END OF EJS Templates
Removed object_daddy dependency....
Jean-Philippe Lang -
r9335:b960470d7817
parent child
Show More
@@ -71,7 +71,6 end
71
71
72 group :test do
72 group :test do
73 gem "shoulda", "~> 2.10.3"
73 gem "shoulda", "~> 2.10.3"
74 gem "edavis10-object_daddy", :require => "object_daddy"
75 gem "mocha"
74 gem "mocha"
76 end
75 end
77
76
@@ -15,26 +15,110 module ObjectDaddyHelpers
15
15
16 def User.add_to_project(user, project, roles)
16 def User.add_to_project(user, project, roles)
17 roles = [roles] unless roles.is_a?(Array)
17 roles = [roles] unless roles.is_a?(Array)
18 Member.generate!(:principal => user, :project => project, :roles => roles)
18 Member.create!(:principal => user, :project => project, :roles => roles)
19 end
20
21 def User.generate!(attributes={})
22 @generated_user_login ||= 'user0'
23 @generated_user_login.succ!
24 user = User.new(attributes)
25 user.login = @generated_user_login if user.login.blank?
26 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
27 user.firstname = "Bob" if user.firstname.blank?
28 user.lastname = "Doe" if user.lastname.blank?
29 yield user if block_given?
30 user.save!
31 user
32 end
33
34 def Group.generate!(attributes={})
35 @generated_group_name ||= 'Group 0'
36 @generated_group_name.succ!
37 group = Group.new(attributes)
38 group.lastname = @generated_group_name if group.lastname.blank?
39 yield group if block_given?
40 group.save!
41 group
42 end
43
44 def Project.generate!(attributes={})
45 @generated_project_identifier ||= 'project-0000'
46 @generated_project_identifier.succ!
47 project = Project.new(attributes)
48 project.name = @generated_project_identifier if project.name.blank?
49 project.identifier = @generated_project_identifier if project.identifier.blank?
50 yield project if block_given?
51 project.save!
52 project
53 end
54
55 def Tracker.generate!(attributes={})
56 @generated_tracker_name ||= 'Tracker 0'
57 @generated_tracker_name.succ!
58 tracker = Tracker.new(attributes)
59 tracker.name = @generated_tracker_name if tracker.name.blank?
60 yield tracker if block_given?
61 tracker.save!
62 tracker
63 end
64
65 def Role.generate!(attributes={})
66 @generated_role_name ||= 'Role 0'
67 @generated_role_name.succ!
68 role = Role.new(attributes)
69 role.name = @generated_role_name if role.name.blank?
70 yield role if block_given?
71 role.save!
72 role
73 end
74
75 def Issue.generate!(attributes={})
76 issue = Issue.new(attributes)
77 issue.subject = 'Generated' if issue.subject.blank?
78 issue.author ||= User.find(2)
79 yield issue if block_given?
80 issue.save!
81 issue
82 end
83
84 def Version.generate!(attributes={})
85 @generated_version_name ||= 'Version 0'
86 @generated_version_name.succ!
87 version = Version.new(attributes)
88 version.name = @generated_version_name if version.name.blank?
89 yield version if block_given?
90 version.save!
91 version
92 end
93
94 def AuthSource.generate!(attributes={})
95 @generated_auth_source_name ||= 'Auth 0'
96 @generated_auth_source_name.succ!
97 source = AuthSource.new(attributes)
98 source.name = @generated_auth_source_name if source.name.blank?
99 yield source if block_given?
100 source.save!
101 source
19 end
102 end
20
103
21 # Generate the default Query
104 # Generate the default Query
22 def Query.generate_default!(attributes={})
105 def Query.generate_default!(attributes={})
23 query = Query.spawn(attributes)
106 query = Query.new(attributes)
24 query.name ||= '_'
107 query.name = '_' if query.name.blank?
25 query.save!
108 query.save!
26 query
109 query
27 end
110 end
28
111
29 # Generate an issue for a project, using it's trackers
112 # Generate an issue for a project, using it's trackers
30 def Issue.generate_for_project!(project, attributes={})
113 def Issue.generate_for_project!(project, attributes={})
31 issue = Issue.spawn(attributes) do |issue|
114 issue = Issue.new(attributes) do |issue|
32 issue.project = project
115 issue.project = project
33 issue.tracker = project.trackers.first unless project.trackers.empty?
116 issue.tracker = project.trackers.first unless project.trackers.empty?
117 issue.subject = 'Generated' if issue.subject.blank?
118 issue.author ||= User.find(2)
34 yield issue if block_given?
119 yield issue if block_given?
35 end
120 end
36 issue.save!
121 issue.save!
37 issue
122 issue
38 end
123 end
39
40 end
124 end
@@ -243,7 +243,10 class ActiveSupport::TestCase
243 context "should allow http basic auth using a username and password for #{http_method} #{url}" do
243 context "should allow http basic auth using a username and password for #{http_method} #{url}" do
244 context "with a valid HTTP authentication" do
244 context "with a valid HTTP authentication" do
245 setup do
245 setup do
246 @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password', :admin => true) # Admin so they can access the project
246 @user = User.generate! do |user|
247 user.admin = true
248 user.password = 'my_password'
249 end
247 send(http_method, url, parameters, credentials(@user.login, 'my_password'))
250 send(http_method, url, parameters, credentials(@user.login, 'my_password'))
248 end
251 end
249
252
@@ -256,7 +259,7 class ActiveSupport::TestCase
256
259
257 context "with an invalid HTTP authentication" do
260 context "with an invalid HTTP authentication" do
258 setup do
261 setup do
259 @user = User.generate_with_protected!
262 @user = User.generate!
260 send(http_method, url, parameters, credentials(@user.login, 'wrong_password'))
263 send(http_method, url, parameters, credentials(@user.login, 'wrong_password'))
261 end
264 end
262
265
@@ -297,8 +300,10 class ActiveSupport::TestCase
297 context "should allow http basic auth with a key for #{http_method} #{url}" do
300 context "should allow http basic auth with a key for #{http_method} #{url}" do
298 context "with a valid HTTP authentication using the API token" do
301 context "with a valid HTTP authentication using the API token" do
299 setup do
302 setup do
300 @user = User.generate_with_protected!(:admin => true)
303 @user = User.generate! do |user|
301 @token = Token.generate!(:user => @user, :action => 'api')
304 user.admin = true
305 end
306 @token = Token.create!(:user => @user, :action => 'api')
302 send(http_method, url, parameters, credentials(@token.value, 'X'))
307 send(http_method, url, parameters, credentials(@token.value, 'X'))
303 end
308 end
304
309
@@ -312,8 +317,8 class ActiveSupport::TestCase
312
317
313 context "with an invalid HTTP authentication" do
318 context "with an invalid HTTP authentication" do
314 setup do
319 setup do
315 @user = User.generate_with_protected!
320 @user = User.generate!
316 @token = Token.generate!(:user => @user, :action => 'feeds')
321 @token = Token.create!(:user => @user, :action => 'feeds')
317 send(http_method, url, parameters, credentials(@token.value, 'X'))
322 send(http_method, url, parameters, credentials(@token.value, 'X'))
318 end
323 end
319
324
@@ -341,8 +346,10 class ActiveSupport::TestCase
341 context "should allow key based auth using key=X for #{http_method} #{url}" do
346 context "should allow key based auth using key=X for #{http_method} #{url}" do
342 context "with a valid api token" do
347 context "with a valid api token" do
343 setup do
348 setup do
344 @user = User.generate_with_protected!(:admin => true)
349 @user = User.generate! do |user|
345 @token = Token.generate!(:user => @user, :action => 'api')
350 user.admin = true
351 end
352 @token = Token.create!(:user => @user, :action => 'api')
346 # Simple url parse to add on ?key= or &key=
353 # Simple url parse to add on ?key= or &key=
347 request_url = if url.match(/\?/)
354 request_url = if url.match(/\?/)
348 url + "&key=#{@token.value}"
355 url + "&key=#{@token.value}"
@@ -362,8 +369,10 class ActiveSupport::TestCase
362
369
363 context "with an invalid api token" do
370 context "with an invalid api token" do
364 setup do
371 setup do
365 @user = User.generate_with_protected!
372 @user = User.generate! do |user|
366 @token = Token.generate!(:user => @user, :action => 'feeds')
373 user.admin = true
374 end
375 @token = Token.create!(:user => @user, :action => 'feeds')
367 # Simple url parse to add on ?key= or &key=
376 # Simple url parse to add on ?key= or &key=
368 request_url = if url.match(/\?/)
377 request_url = if url.match(/\?/)
369 url + "&key=#{@token.value}"
378 url + "&key=#{@token.value}"
@@ -383,8 +392,10 class ActiveSupport::TestCase
383
392
384 context "should allow key based auth using X-Redmine-API-Key header for #{http_method} #{url}" do
393 context "should allow key based auth using X-Redmine-API-Key header for #{http_method} #{url}" do
385 setup do
394 setup do
386 @user = User.generate_with_protected!(:admin => true)
395 @user = User.generate! do |user|
387 @token = Token.generate!(:user => @user, :action => 'api')
396 user.admin = true
397 end
398 @token = Token.create!(:user => @user, :action => 'api')
388 send(http_method, url, parameters, {'X-Redmine-API-Key' => @token.value.to_s})
399 send(http_method, url, parameters, {'X-Redmine-API-Key' => @token.value.to_s})
389 end
400 end
390
401
@@ -373,13 +373,13 class IssueTest < ActiveSupport::TestCase
373 tracker = Tracker.find(1)
373 tracker = Tracker.find(1)
374 user = User.find(2)
374 user = User.find(2)
375
375
376 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1)
376 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author_id => 1)
377 assert_equal [1, 2], issue.new_statuses_allowed_to(user).map(&:id)
377 assert_equal [1, 2], issue.new_statuses_allowed_to(user).map(&:id)
378
378
379 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user)
379 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user)
380 assert_equal [1, 2, 3, 5], issue.new_statuses_allowed_to(user).map(&:id)
380 assert_equal [1, 2, 3, 5], issue.new_statuses_allowed_to(user).map(&:id)
381
381
382 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :assigned_to => user)
382 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author_id => 1, :assigned_to => user)
383 assert_equal [1, 2, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
383 assert_equal [1, 2, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
384
384
385 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user, :assigned_to => user)
385 issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user, :assigned_to => user)
@@ -21,7 +21,7 class Redmine::CipheringTest < ActiveSupport::TestCase
21
21
22 def test_password_should_be_encrypted
22 def test_password_should_be_encrypted
23 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
23 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
24 r = Repository::Subversion.generate!(:password => 'foo')
24 r = Repository::Subversion.create!(:password => 'foo', :url => 'file:///tmp', :identifier => 'svn')
25 assert_equal 'foo', r.password
25 assert_equal 'foo', r.password
26 assert r.read_attribute(:password).match(/\Aaes-256-cbc:.+\Z/)
26 assert r.read_attribute(:password).match(/\Aaes-256-cbc:.+\Z/)
27 end
27 end
@@ -29,7 +29,7 class Redmine::CipheringTest < ActiveSupport::TestCase
29
29
30 def test_password_should_be_clear_with_blank_key
30 def test_password_should_be_clear_with_blank_key
31 Redmine::Configuration.with 'database_cipher_key' => '' do
31 Redmine::Configuration.with 'database_cipher_key' => '' do
32 r = Repository::Subversion.generate!(:password => 'foo')
32 r = Repository::Subversion.create!(:password => 'foo', :url => 'file:///tmp', :identifier => 'svn')
33 assert_equal 'foo', r.password
33 assert_equal 'foo', r.password
34 assert_equal 'foo', r.read_attribute(:password)
34 assert_equal 'foo', r.read_attribute(:password)
35 end
35 end
@@ -37,7 +37,7 class Redmine::CipheringTest < ActiveSupport::TestCase
37
37
38 def test_password_should_be_clear_with_nil_key
38 def test_password_should_be_clear_with_nil_key
39 Redmine::Configuration.with 'database_cipher_key' => nil do
39 Redmine::Configuration.with 'database_cipher_key' => nil do
40 r = Repository::Subversion.generate!(:password => 'foo')
40 r = Repository::Subversion.create!(:password => 'foo', :url => 'file:///tmp', :identifier => 'svn')
41 assert_equal 'foo', r.password
41 assert_equal 'foo', r.password
42 assert_equal 'foo', r.read_attribute(:password)
42 assert_equal 'foo', r.read_attribute(:password)
43 end
43 end
@@ -45,7 +45,7 class Redmine::CipheringTest < ActiveSupport::TestCase
45
45
46 def test_blank_password_should_be_clear
46 def test_blank_password_should_be_clear
47 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
47 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
48 r = Repository::Subversion.generate!(:password => '')
48 r = Repository::Subversion.create!(:password => '', :url => 'file:///tmp', :identifier => 'svn')
49 assert_equal '', r.password
49 assert_equal '', r.password
50 assert_equal '', r.read_attribute(:password)
50 assert_equal '', r.read_attribute(:password)
51 end
51 end
@@ -53,7 +53,7 class Redmine::CipheringTest < ActiveSupport::TestCase
53
53
54 def test_unciphered_password_should_be_readable
54 def test_unciphered_password_should_be_readable
55 Redmine::Configuration.with 'database_cipher_key' => nil do
55 Redmine::Configuration.with 'database_cipher_key' => nil do
56 r = Repository::Subversion.generate!(:password => 'clear')
56 r = Repository::Subversion.create!(:password => 'clear', :url => 'file:///tmp', :identifier => 'svn')
57 end
57 end
58
58
59 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
59 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
@@ -64,7 +64,7 class Redmine::CipheringTest < ActiveSupport::TestCase
64
64
65 def test_ciphered_password_with_no_cipher_key_configured_should_be_returned_ciphered
65 def test_ciphered_password_with_no_cipher_key_configured_should_be_returned_ciphered
66 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
66 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
67 r = Repository::Subversion.generate!(:password => 'clear')
67 r = Repository::Subversion.create!(:password => 'clear', :url => 'file:///tmp', :identifier => 'svn')
68 end
68 end
69
69
70 Redmine::Configuration.with 'database_cipher_key' => '' do
70 Redmine::Configuration.with 'database_cipher_key' => '' do
@@ -79,8 +79,8 class Redmine::CipheringTest < ActiveSupport::TestCase
79 def test_encrypt_all
79 def test_encrypt_all
80 Repository.delete_all
80 Repository.delete_all
81 Redmine::Configuration.with 'database_cipher_key' => nil do
81 Redmine::Configuration.with 'database_cipher_key' => nil do
82 Repository::Subversion.generate!(:password => 'foo')
82 Repository::Subversion.create!(:password => 'foo', :url => 'file:///tmp', :identifier => 'foo')
83 Repository::Subversion.generate!(:password => 'bar')
83 Repository::Subversion.create!(:password => 'bar', :url => 'file:///tmp', :identifier => 'bar')
84 end
84 end
85
85
86 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
86 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
@@ -94,8 +94,8 class Redmine::CipheringTest < ActiveSupport::TestCase
94 def test_decrypt_all
94 def test_decrypt_all
95 Repository.delete_all
95 Repository.delete_all
96 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
96 Redmine::Configuration.with 'database_cipher_key' => 'secret' do
97 Repository::Subversion.generate!(:password => 'foo')
97 Repository::Subversion.create!(:password => 'foo', :url => 'file:///tmp', :identifier => 'foo')
98 Repository::Subversion.generate!(:password => 'bar')
98 Repository::Subversion.create!(:password => 'bar', :url => 'file:///tmp', :identifier => 'bar')
99
99
100 assert Repository.decrypt_all(:password)
100 assert Repository.decrypt_all(:password)
101 r = Repository.first(:order => 'id DESC')
101 r = Repository.first(:order => 'id DESC')
@@ -160,7 +160,6 class Redmine::Helpers::GanttHelperTest < ActionView::TestCase
160 context "assigned to a shared version of another project" do
160 context "assigned to a shared version of another project" do
161 setup do
161 setup do
162 p = Project.generate!
162 p = Project.generate!
163 p.trackers << @tracker
164 p.enabled_module_names = [:issue_tracking]
163 p.enabled_module_names = [:issue_tracking]
165 @shared_version = Version.generate!(:sharing => 'system')
164 @shared_version = Version.generate!(:sharing => 'system')
166 p.versions << @shared_version
165 p.versions << @shared_version
@@ -742,7 +742,7 class ProjectTest < ActiveSupport::TestCase
742 project = Project.find(1)
742 project = Project.find(1)
743 system_activity = TimeEntryActivity.find_by_name('Design')
743 system_activity = TimeEntryActivity.find_by_name('Design')
744 assert system_activity.active?
744 assert system_activity.active?
745 overridden_activity = TimeEntryActivity.generate!(:project => project, :parent => system_activity, :active => false)
745 overridden_activity = TimeEntryActivity.create!(:name => "Project", :project => project, :parent => system_activity, :active => false)
746 assert overridden_activity.save!
746 assert overridden_activity.save!
747
747
748 assert !project.activities.include?(overridden_activity), "Inactive Project specific Activity not found"
748 assert !project.activities.include?(overridden_activity), "Inactive Project specific Activity not found"
@@ -822,10 +822,10 class ProjectTest < ActiveSupport::TestCase
822 :tracker_id => 1,
822 :tracker_id => 1,
823 :assigned_to_id => 2,
823 :assigned_to_id => 2,
824 :project_id => @source_project.id)
824 :project_id => @source_project.id)
825 source_relation = IssueRelation.generate!(:issue_from => Issue.find(4),
825 source_relation = IssueRelation.create!(:issue_from => Issue.find(4),
826 :issue_to => second_issue,
826 :issue_to => second_issue,
827 :relation_type => "relates")
827 :relation_type => "relates")
828 source_relation_cross_project = IssueRelation.generate!(:issue_from => Issue.find(1),
828 source_relation_cross_project = IssueRelation.create!(:issue_from => Issue.find(1),
829 :issue_to => second_issue,
829 :issue_to => second_issue,
830 :relation_type => "duplicates")
830 :relation_type => "duplicates")
831
831
@@ -1104,22 +1104,22 class ProjectTest < ActiveSupport::TestCase
1104 @role = Role.generate!
1104 @role = Role.generate!
1105
1105
1106 @user_with_membership_notification = User.generate!(:mail_notification => 'selected')
1106 @user_with_membership_notification = User.generate!(:mail_notification => 'selected')
1107 Member.generate!(:project => @project, :roles => [@role], :principal => @user_with_membership_notification, :mail_notification => true)
1107 Member.create!(:project => @project, :roles => [@role], :principal => @user_with_membership_notification, :mail_notification => true)
1108
1108
1109 @all_events_user = User.generate!(:mail_notification => 'all')
1109 @all_events_user = User.generate!(:mail_notification => 'all')
1110 Member.generate!(:project => @project, :roles => [@role], :principal => @all_events_user)
1110 Member.create!(:project => @project, :roles => [@role], :principal => @all_events_user)
1111
1111
1112 @no_events_user = User.generate!(:mail_notification => 'none')
1112 @no_events_user = User.generate!(:mail_notification => 'none')
1113 Member.generate!(:project => @project, :roles => [@role], :principal => @no_events_user)
1113 Member.create!(:project => @project, :roles => [@role], :principal => @no_events_user)
1114
1114
1115 @only_my_events_user = User.generate!(:mail_notification => 'only_my_events')
1115 @only_my_events_user = User.generate!(:mail_notification => 'only_my_events')
1116 Member.generate!(:project => @project, :roles => [@role], :principal => @only_my_events_user)
1116 Member.create!(:project => @project, :roles => [@role], :principal => @only_my_events_user)
1117
1117
1118 @only_assigned_user = User.generate!(:mail_notification => 'only_assigned')
1118 @only_assigned_user = User.generate!(:mail_notification => 'only_assigned')
1119 Member.generate!(:project => @project, :roles => [@role], :principal => @only_assigned_user)
1119 Member.create!(:project => @project, :roles => [@role], :principal => @only_assigned_user)
1120
1120
1121 @only_owned_user = User.generate!(:mail_notification => 'only_owner')
1121 @only_owned_user = User.generate!(:mail_notification => 'only_owner')
1122 Member.generate!(:project => @project, :roles => [@role], :principal => @only_owned_user)
1122 Member.create!(:project => @project, :roles => [@role], :principal => @only_owned_user)
1123 end
1123 end
1124
1124
1125 should "include members with a mail notification" do
1125 should "include members with a mail notification" do
@@ -670,7 +670,9 class QueryTest < ActiveSupport::TestCase
670 end
670 end
671
671
672 def test_issue_count_with_archived_issues
672 def test_issue_count_with_archived_issues
673 p = Project.generate!( :status => Project::STATUS_ARCHIVED )
673 p = Project.generate! do |project|
674 project.status = Project::STATUS_ARCHIVED
675 end
674 i = Issue.generate!( :project => p, :tracker => p.trackers.first )
676 i = Issue.generate!( :project => p, :tracker => p.trackers.first )
675 assert !i.visible?
677 assert !i.visible?
676
678
@@ -337,8 +337,10 class UserTest < ActiveSupport::TestCase
337
337
338 def test_destroy_should_nullify_changesets
338 def test_destroy_should_nullify_changesets
339 changeset = Changeset.create!(
339 changeset = Changeset.create!(
340 :repository => Repository::Subversion.generate!(
340 :repository => Repository::Subversion.create!(
341 :project_id => 1
341 :project_id => 1,
342 :url => 'file:///tmp',
343 :identifier => 'tmp'
342 ),
344 ),
343 :revision => '12',
345 :revision => '12',
344 :committed_on => Time.now,
346 :committed_on => Time.now,
@@ -378,9 +380,9 class UserTest < ActiveSupport::TestCase
378 end
380 end
379
381
380 should "select the exact matching user first" do
382 should "select the exact matching user first" do
381 case_sensitive_user = User.generate_with_protected!(
383 case_sensitive_user = User.generate! do |user|
382 :login => 'changed', :password => 'admin',
384 user.password = "admin"
383 :password_confirmation => 'admin')
385 end
384 # bypass validations to make it appear like existing data
386 # bypass validations to make it appear like existing data
385 case_sensitive_user.update_attribute(:login, 'ADMIN')
387 case_sensitive_user.update_attribute(:login, 'ADMIN')
386
388
@@ -628,7 +630,7 class UserTest < ActiveSupport::TestCase
628
630
629 should "return the existing api token value" do
631 should "return the existing api token value" do
630 user = User.generate_with_protected!
632 user = User.generate_with_protected!
631 token = Token.generate!(:action => 'api')
633 token = Token.create!(:action => 'api')
632 user.api_token = token
634 user.api_token = token
633 assert user.save
635 assert user.save
634
636
@@ -643,7 +645,7 class UserTest < ActiveSupport::TestCase
643
645
644 should "return nil if the key is found for an inactive user" do
646 should "return nil if the key is found for an inactive user" do
645 user = User.generate_with_protected!(:status => User::STATUS_LOCKED)
647 user = User.generate_with_protected!(:status => User::STATUS_LOCKED)
646 token = Token.generate!(:action => 'api')
648 token = Token.create!(:action => 'api')
647 user.api_token = token
649 user.api_token = token
648 user.save
650 user.save
649
651
@@ -652,7 +654,7 class UserTest < ActiveSupport::TestCase
652
654
653 should "return the user if the key is found for an active user" do
655 should "return the user if the key is found for an active user" do
654 user = User.generate_with_protected!(:status => User::STATUS_ACTIVE)
656 user = User.generate_with_protected!(:status => User::STATUS_ACTIVE)
655 token = Token.generate!(:action => 'api')
657 token = Token.create!(:action => 'api')
656 user.api_token = token
658 user.api_token = token
657 user.save
659 user.save
658
660
@@ -823,7 +825,9 class UserTest < ActiveSupport::TestCase
823 end
825 end
824
826
825 def test_own_account_deletable_should_be_true_for_an_admin_if_other_admin_exists
827 def test_own_account_deletable_should_be_true_for_an_admin_if_other_admin_exists
826 User.generate_with_protected(:admin => true)
828 User.generate! do |user|
829 user.admin = true
830 end
827
831
828 with_settings :unsubscribe => '1' do
832 with_settings :unsubscribe => '1' do
829 assert_equal true, User.find(1).own_account_deletable?
833 assert_equal true, User.find(1).own_account_deletable?
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now