factory_bot icon indicating copy to clipboard operation
factory_bot copied to clipboard

Ad hoc sequences in create_list

Open mike-burns opened this issue 1 year ago • 0 comments

This comes up all the time. Here's an example from a real test:

prompts = [
  create(:prompt, name: "Prompt 1"),
  create(:prompt, name: "Prompt 2"),
  create(:prompt, name: "Prompt 3"),
]

I'd love to be able to write something else. Here's an example, maybe:

prompts = FactoryBot.create_list(
            :prompt,
            3,
            name: FactoryBot.build_sequence { |n| "Prompt #{n}" },
          )

Note that create_list already takes a block:

This block takes the produced object and the zero-based index as arguments, and returns an updated object.

But we want to get in there before it produces the object.

mike-burns avatar May 10 '24 16:05 mike-burns