Как использовать именованные чертежи машиниста в огурце с маринованным огурцом

Я заметил этот маленький кусочек в 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"
Другие вопросы по тегам