I think the best approach here would be to modify the existing generators with invalid attribute generators. For example:
property "doesn't accept maps as input to text" do
user = Domain.create_user!()
check all(input <- Ash.Generator.action_input(Tweet, :create, %{text: StreamData.fixed_map(%{a: 1})})) do
{text, other_inputs} = Map.pop!(input, :text)
Domain.create_tweet!(text, other_inputs, authorize?: false, actor: user)
end
end
This particular one is a bit of a silly example, but the point was to illustrate that individual generators can be overridden with generators that produce whatever you like to test specific conditions.
Does that seem like it fits the bill of what you’re looking for?


















