Я не могу запустить ни один мой тест, поскольку каждый пользователь, которого я пытаюсь сфабриковать, генерирует ошибки проверки.
У меня есть следующий тест.
class BillTest < ActiveSupport::TestCase
def setup
load_all_sponsors
@the_bill = Bill.new(:govtrack_name => "h1")
@user1 = Fabricate(:user1)
@user2 = Fabricate(:user2)
Мои измышления определяются:
Fabricator(:user) do
email 'another_user_here@domain.com'
name 'anew user'
roles_mask 1
password "secret"
password_confirmation "secret"
polco_groups {[Fabricate(:polco_group, :name => 'foreign', :type => :custom)]}
end
Fabricator(:admin, :class_name => :user) do
email 'admin@yourdomain.com'
name 'Administrator'
roles_mask 5
password "secret"
password_confirmation "secret"
end
Fabricator(:registered, :class_name => :user) do
email 'registered_user@domain.com'
name 'Tim TheRegistered'
roles_mask 2
password "the_secret"
password_confirmation "the_secret"
polco_groups {[Fabricate(:polco_group, {:name => 'AL', :type => :state}),
Fabricate(:polco_group, {:name => 'AL01', :type => :district}),
Fabricate(:polco_group, {:name => "Kirk\'s Kids" , :type => :custom})]}
end
Fabricator(:user1, :class_name => :user) do
email 'user1@domain.com'
name 'User1'
roles_mask 2
password "the_big_secret"
password_confirmation "the_big_secret"
polco_groups {[Fabricate(:polco_group, {:name => 'AL', :type => :state}),
Fabricate(:polco_group, {:name => 'AL01', :type => :district}),
Fabricate(:polco_group, {:name => "Kirk\'s Kids" , :type => :custom})]}
end
Fabricator(:user2, :class_name => :user) do
email 'user2@domain.com'
name 'User2'
roles_mask 2
password "the_big_secret"
password_confirmation "the_big_secret"
polco_groups {[Fabricate(:polco_group, {:name => 'AL', :type => :state}),
Fabricate(:polco_group, {:name => 'FL01', :type => :district}),
Fabricate(:polco_group, {:name => "Ft. Sam Washington 1st Grade" , :type => :custom})]}
end
Независимо от того, какой тест выполняется, я получаю ту же ошибку
9) Error:
test_update_from_directory(BillTest):
Mongoid::Errors::Validations: Validation failed - Email is already taken, Email is already taken, Name is already taken.
test/unit/bill_test.rb:8:in `setup'
Я пробовал несколько разных производителей, наследующих разными способами, и ничто не может пройти мимо этой ошибки. Я довольно отчаянно нуждаюсь в помощи в этом.