Commit 5b76a428d1403d104f89d04649b22be5da88d185

Authored by Rodrigo Souto
1 parent 19bc7ee1

rails3: avoid mass-assignment error on test factory

Showing 1 changed file with 8 additions and 8 deletions   Show diff stats
test/factories.rb
... ... @@ -61,8 +61,8 @@ module Noosfero::Factory
61 61 ###### old stuff to be rearranged
62 62 def create_admin_user(env)
63 63 admin_user = User.find_by_login('adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env)
64   - admin_role = Role.find_by_name('admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_trusted_sites', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_templates', 'manage_environment_licenses'])
65   - RoleAssignment.create!(:accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env])
  64 + admin_role = Role.find_by_name('admin_role') || create(Role, :name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_trusted_sites', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_templates', 'manage_environment_licenses'])
  65 + create(RoleAssignment, :accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env])
66 66 admin_user.login
67 67 end
68 68  
... ... @@ -84,8 +84,8 @@ module Noosfero::Factory
84 84 :password => name.underscore,
85 85 :password_confirmation => name.underscore
86 86 }.merge(options)
87   - user = User.new(data)
88   - user.person = Person.new(person_options)
  87 + user = build(User, data)
  88 + user.person = build(Person, person_options)
89 89 user.save!
90 90 user
91 91 end
... ... @@ -102,7 +102,7 @@ module Noosfero::Factory
102 102  
103 103 password = options.delete(:password)
104 104 password_confirmation = options.delete(:password_confirmation)
105   - raise Exception.new("Passwords don't match") if (password && password_confirmation && password != password_confirmation)
  105 + raise build(Exception, "Passwords don't match") if (password && password_confirmation && password != password_confirmation)
106 106 crypted_password = (password || name).crypt('xy')
107 107  
108 108 data = {
... ... @@ -147,7 +147,7 @@ module Noosfero::Factory
147 147 i+=1
148 148 end
149 149  
150   - role = Role.create!(:name => 'test_role' + i.to_s, :permissions => [permission])
  150 + role = create(Role, :name => 'test_role' + i.to_s, :permissions => [permission])
151 151 assert user.add_role(role, target)
152 152 assert user.has_permission?(permission, target)
153 153 user
... ... @@ -260,8 +260,8 @@ module Noosfero::Factory
260 260 end
261 261  
262 262 def create_blog
263   - profile = Profile.create!(:identifier => 'testuser' + factory_num_seq.to_s, :name => 'Test user')
264   - Blog.create!(:name => 'blog', :profile => profile)
  263 + profile = create(Profile, :identifier => 'testuser' + factory_num_seq.to_s, :name => 'Test user')
  264 + create(Blog, :name => 'blog', :profile => profile)
265 265 end
266 266  
267 267 ###############################################
... ...