Оценка контекста фабрики для использования в пределах значения атрибута - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь высушить фабрику пользователей, которая определяет пару подклассов:

FactoryGirl.define do

  factory :user do

    transient do
      kind 'user'
    end

    sequence(:name) { |n| "Factory Girl #{kind} ##{n}" }

    factory :supervisor, class: User do
      kind 'supervisor'
      #...other stuff
    end

    factory :admin, class: User do
      kind 'supervisor'
      #...other stuff
    end

  end
end

, в данный момент я использую переходный атрибут "kind", чтобы дать пользователю имя, которое отражает то, что онесть, что входит в удобные тесты отладки, в которых участвуют многие пользователи

Интересно, есть ли способ установить атрибут имени с использованием имени фабрики, например:

FactoryGirl.define do

  factory :user do

    sequence(:name) { |n| "Factory Girl #{__FACTORY_NAME__} ##{n}" }

    factory :supervisor, class: User do
      #...other stuff
    end

    factory :admin, class: User do
      #...other stuff
    end

  end
end

Iкопали вокруг, но кажется, что нет никакого контекста, доступного в тот момент, когда фабрика оценивается для достижения этого.Это было бы правильным предположением, или это какое-то волшебство, которое я могу использовать, чтобы достичь этого!?

...