Sha256: 72ed937d9cfeeafe43c65c4d6a40188322f4a2faa3de672bd99ae1867c1ef7be

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 KB

Contents

FactoryGirl.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, :clinician)
    transient do
      role nil
    end

    after(:create) do |user, obj|
      unless obj.role.blank?
        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 60.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 :clinician do
      given_name "Aneurin"
      family_name "Bevan"
      signature "Aneurin Bevan"

      transient do
        role :clinician
      end
    end

    trait :read_only do
      transient do
        role :read_only
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.beta9 spec/factories/system/users.rb
renalware-core-2.0.0.pre.beta8 spec/factories/system/users.rb