Project

General

Profile

Download (2.76 KB) Statistics
| Branch: | Tag: | Revision:
FactoryBot.define do
factory :usergroup do
sequence(:name) { |n| "usergroup#{n}" }
end

factory :external_usergroup do
sequence(:name) { |n| "external_usergroup#{n}" }
usergroup { FactoryBot.create :usergroup }
auth_source { FactoryBot.create :auth_source_ldap }
end

factory :user do
auth_source { AuthSourceInternal.first }
password { 'password' }
sequence(:login) { |n| "user#{n}" }
organizations { [Organization.find_or_initialize_by(name: 'Organization 1')] }
locations { [Location.find_or_initialize_by(name: 'Location 1')] }

trait :admin do
admin { true }
end

trait :with_mail do
sequence(:mail) { |n| "email#{n}@example.com" }
end

trait :with_utf8_mail do
mail { "Pelé@example.com" }
end

trait :with_mail_notification do
sequence(:mail) { |n| "email#{n}@example.com" }
mail_notifications { [FactoryBot.create(:mail_notification)] }
end

trait :with_widget do
after(:create) { |user, evaluator| FactoryBot.create(:widget, :user => user) }
end

trait :with_usergroup do
usergroups { [FactoryBot.create(:usergroup)] }
end

trait :with_ssh_key do
after(:create) { |user, _| FactoryBot.create(:ssh_key, user: user) }
end
end

factory :permission do
sequence(:name) { |n| "view_#{n}" }
resource_type { nil }

trait :host do
resource_type { 'Host' }
end

trait :domain do
resource_type { 'Domain' }
end

trait :architecture do
resource_type { 'Architecture' }
end

trait :report do
resource_type { 'ConfigReport' }
end
end

factory :role do
sequence(:name) { |n| "role #{n}" }
locations { [] }
organizations { [] }
builtin { 0 }
end

factory :user_role do
role { FactoryBot.create :role }

factory :user_user_role do
owner { FactoryBot.create :user }
end

factory :user_group_user_role do
owner { FactoryBot.create :usergroup }
end
end

factory :usergroup_member do
usergroup { FactoryBot.create :usergroup }

factory :user_usergroup_member do
member { FactoryBot.create :user }
end

factory :usergroup_usergroup_member do
member { FactoryBot.create :usergroup }
end
end

factory :filter do
search { nil }
role { FactoryBot.create :role }
permissions { [FactoryBot.create(:permission, :host)] }

trait :on_name_all do
search { 'name ~ *' }
end

trait :on_name_starting_with_a do
search { 'name ~ a*' }
end

trait :on_name_starting_with_b do
search { 'name ~ b*' }
end
end

factory :widget do
sequence(:name) { |n| "Status Table #{n}" }
template { 'status_widget' }
end

factory :jwt_secret do
token { SecureRandom.base64 }
end
end
(36-36/36)