scinote-web/spec/factories/user_roles.rb

67 lines
2.2 KiB
Ruby

FactoryBot.define do
factory :user_role do
factory :owner_role do
name { I18n.t('user_roles.predefined.owner') }
permissions { ProjectPermissions.constants.map { |const| ProjectPermissions.const_get(const) } +
ExperimentPermissions.constants.map { |const| ExperimentPermissions.const_get(const) } +
MyModulePermissions.constants.map { |const| MyModulePermissions.const_get(const) } }
predefined { true }
end
factory :normal_user_role do
name { I18n.t('user_roles.predefined.normal_user') }
permissions {
[
ProjectPermissions::READ,
ProjectPermissions::CREATE_EXPERIMENTS,
ProjectPermissions::CREATE_COMMENTS,
ExperimentPermissions::READ,
ExperimentPermissions::MANAGE,
ExperimentPermissions::ARCHIVE,
ExperimentPermissions::RESTORE,
ExperimentPermissions::CLONE,
ExperimentPermissions::CREATE_TASKS,
MyModulePermissions::READ,
MyModulePermissions::CREATE_COMMENTS,
MyModulePermissions::ASSIGN_REPOSITORY_ROWS,
MyModulePermissions::CHANGE_FLOW_STATUS,
MyModulePermissions::CREATE_REPOSITORY_SNAPSHOT,
MyModulePermissions::MANAGE_REPOSITORY_SNAPSHOT
]
}
predefined { true }
end
factory :technician_role do
name { I18n.t('user_roles.predefined.technician') }
permissions {
[
ProjectPermissions::READ,
ProjectPermissions::CREATE_COMMENTS,
ExperimentPermissions::READ,
MyModulePermissions::READ,
MyModulePermissions::CREATE_COMMENTS,
MyModulePermissions::ASSIGN_REPOSITORY_ROWS,
MyModulePermissions::CHANGE_FLOW_STATUS,
MyModulePermissions::CREATE_REPOSITORY_SNAPSHOT,
MyModulePermissions::MANAGE_REPOSITORY_SNAPSHOT
]
}
predefined { true }
end
factory :viewer_role do
name { I18n.t('user_roles.predefined.viewer') }
permissions {
[
ProjectPermissions::READ,
ExperimentPermissions::READ,
MyModulePermissions::READ
]
}
predefined { true }
end
end
end