Sha256: 5d63b948dd071a8682ea41f979e0f2a11b0505c0fa8c579c30700d34b78bb117

Contents?: true

Size: 1.48 KB

Versions: 15

Compression:

Stored size: 1.48 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 }
    prescriber { true }

    # 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|
      user.roles << create(:role, obj.role) if obj.role.present?
    end

    trait :consultant do
      consultant { true }
    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

15 entries across 15 versions & 1 rubygems

Version Path
renalware-core-2.1.1 spec/factories/system/users.rb
renalware-core-2.1.0 spec/factories/system/users.rb
renalware-core-2.0.167 spec/factories/system/users.rb
renalware-core-2.0.166 spec/factories/system/users.rb
renalware-core-2.0.165 spec/factories/system/users.rb
renalware-core-2.0.164 spec/factories/system/users.rb
renalware-core-2.0.163 spec/factories/system/users.rb
renalware-core-2.0.162 spec/factories/system/users.rb
renalware-core-2.0.161 spec/factories/system/users.rb
renalware-core-2.0.160 spec/factories/system/users.rb
renalware-core-2.0.159 spec/factories/system/users.rb
renalware-core-2.0.158 spec/factories/system/users.rb
renalware-core-2.0.157 spec/factories/system/users.rb
renalware-core-2.0.156 spec/factories/system/users.rb
renalware-core-2.0.155 spec/factories/system/users.rb