Как использовать именованные чертежи машиниста в огурце с маринованным огурцом
Я заметил этот маленький кусочек в readme для pickle:
(Последняя версия pickle поддерживает несколько чертежей, для более ранних версий машинистов использовать pickle <= 0.1.10)
Я сталкиваюсь с ситуацией, когда я хочу создать пользователя с правами администратора. У меня есть два чертежа машиниста:
User.blueprint do
first_name
last_name
email
password { "password" }
password_confirmation { "password" }
state "active"
end
User.blueprint(:super_admin) do
roles { ["super-admin", "moderator"] }
end
Вместо того, чтобы создавать собственный шаг для создания пользователя с правами супер-администратора, мне было интересно, есть ли способ сделать это с помощью Pickle.
При использовании следующего будет использоваться обычный шаг маринования и ссылка на базовый план пользователя машиниста:
Given a user exists with first_name: "Test", last_name: "Man"
Вопрос в том, как мне сказать, что я хочу пользователя с супер-правами администратора?
2 ответа
Так что получается, что создание именованных чертежей машинистов в Pickle довольно просто:
Given a super admin user exists with first_name: "Test", last_name: "Man"
Эта строка будет вызывать один и тот же шаг pickle, но Pickle достаточно умен, чтобы сопоставить текст "super admin user" с фабрикой User.blueprint(:super_admin).
Это такой очевидный метод, что я действительно должен был просто попробовать его, прежде чем спрашивать. В документации для Pickle явно не упоминается синтаксис для выполнения этого где-либо, только то, что это возможно сделать. Итак, теперь мы знаем.
Не уверен, как это будет сделано в Pickle, с очень похожей на Gem Cucumber Factory вы можете создать такого супер-администратора, как этот:
Given there is a user (super admin) with the first name "Test" and the last name "Man"