Sha256: 3cd20cb760d30f14d3b8a76025fa82bab88818d7cca1eee4bb07b021c83717ea

Contents?: true

Size: 1.46 KB

Versions: 30

Compression:

Stored size: 1.46 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|
      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

30 entries across 30 versions & 1 rubygems

Version Path
renalware-core-2.0.153 spec/factories/system/users.rb
renalware-core-2.0.152 spec/factories/system/users.rb
renalware-core-2.0.151 spec/factories/system/users.rb
renalware-core-2.0.149 spec/factories/system/users.rb
renalware-core-2.0.148 spec/factories/system/users.rb
renalware-core-2.0.147 spec/factories/system/users.rb
renalware-core-2.0.146 spec/factories/system/users.rb
renalware-core-2.0.145 spec/factories/system/users.rb
renalware-core-2.0.144 spec/factories/system/users.rb
renalware-core-2.0.143 spec/factories/system/users.rb
renalware-core-2.0.142 spec/factories/system/users.rb
renalware-core-2.0.141 spec/factories/system/users.rb
renalware-core-2.0.140 spec/factories/system/users.rb
renalware-core-2.0.139 spec/factories/system/users.rb
renalware-core-2.0.138 spec/factories/system/users.rb
renalware-core-2.0.137 spec/factories/system/users.rb
renalware-core-2.0.136 spec/factories/system/users.rb
renalware-core-2.0.135 spec/factories/system/users.rb
renalware-core-2.0.134 spec/factories/system/users.rb
renalware-core-2.0.133 spec/factories/system/users.rb