代码之家  ›  专栏  ›  技术社区  ›  Chris

如何在黄瓜泡菜中使用指定的机械师蓝图

  •  2
  • Chris  · 技术社区  · 14 年前

    我在自述文件中注意到 pickle :

    (最新版本的pickle支持 multiple blueprints ,对于早期版本的机械师,使用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 回复  |  直到 14 年前
        1
  •  2
  •   triskweline    14 年前

    不知道怎么在泡菜里做,有着非常相似的宝石 Cucumber Factory 您可以创建这样的超级管理员用户:

    Given there is a user (super admin) with the first name "Test" and the last name "Man"
    
        2
  •  1
  •   Chris    14 年前

    因此,在pickle中创建命名的机械师蓝图非常简单:

    Given a super admin user exists with first_name: "Test", last_name: "Man"
    

    这一行将调用相同的pickle步骤,但pickle足够智能,可以将文本“super admin user”映射到user.blueprint(:super_admin)工厂。

    这是一个显而易见的方法,我真的应该在问之前就尝试一下。pickle的文档没有明确地提到在任何地方执行此操作的语法,只提到了可以执行此操作的语法。所以现在我们知道了。

    推荐文章