Sha256: 4fbd1e7596eb65dc15f33b560badb16ce72fd1e6d73059ac21ecf2cd7cde8242

Contents?: true

Size: 1.41 KB

Versions: 22

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

FactoryBot.define do
  sequence :email do |n|
    "renalware.user-#{n}@nhs.net"
  end

  sequence :username do |n|
    "renalwareuser-#{n}"
  end

  factory :user, class: "Renalware::User" do
    given_name { Faker::Name.first_name }
    family_name { Faker::Name.last_name }
    username
    email
    password { "supersecret" }
    approved { true }
    professional_position { "Health Minister" }
    signature { Faker::Name.name }

    # By default a user has no roles.
    # If you want a use with a role, use a trait, e.g. create(:user, :clinical)
    transient do
      role { nil }
    end

    after(:create) do |user, obj|
      if obj.role.present?
        user.roles << create(:role, obj.role)
      end
    end

    trait :unapproved do
      approved { false }
    end

    trait :author do
      signature { Faker::Name.name }
    end

    trait :expired do
      last_activity_at { 90.days.ago }
      expired_at { Time.zone.now }
    end

    trait :super_admin do
      transient do
        role { :super_admin }
      end
    end

    trait :admin do
      transient do
        role { :admin }
      end
    end

    trait :clinical do
      given_name { "Aneurin" }
      family_name { "Bevan" }
      signature { "Aneurin Bevan" }

      transient do
        role { :clinical }
      end
    end

    trait :read_only do
      transient do
        role { :read_only }
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
renalware-core-2.0.68 spec/factories/system/users.rb
renalware-core-2.0.67 spec/factories/system/users.rb
renalware-core-2.0.64 spec/factories/system/users.rb
renalware-core-2.0.63 spec/factories/system/users.rb
renalware-core-2.0.62 spec/factories/system/users.rb
renalware-core-2.0.61 spec/factories/system/users.rb
renalware-core-2.0.60 spec/factories/system/users.rb
renalware-core-2.0.58 spec/factories/system/users.rb
renalware-core-2.0.57 spec/factories/system/users.rb
renalware-core-2.0.56 spec/factories/system/users.rb
renalware-core-2.0.55 spec/factories/system/users.rb
renalware-core-2.0.54 spec/factories/system/users.rb
renalware-core-2.0.53 spec/factories/system/users.rb
renalware-core-2.0.52 spec/factories/system/users.rb
renalware-core-2.0.51 spec/factories/system/users.rb
renalware-core-2.0.50 spec/factories/system/users.rb
renalware-core-2.0.48 spec/factories/system/users.rb
renalware-core-2.0.47 spec/factories/system/users.rb
renalware-core-2.0.46 spec/factories/system/users.rb
renalware-core-2.0.45 spec/factories/system/users.rb