+
+ [
+ {script_parameters: ""},
+ {script_parameters: []},
+ {script_parameters: {symbols: :are_not_allowed_here}},
+ {runtime_constraints: ""},
+ {runtime_constraints: []},
+ {tasks_summary: ""},
+ {tasks_summary: []},
+ {script_version: "no/branch/could/ever/possibly/have/this/name"},
+ ].each do |invalid_attrs|
+ test "validation failures set error messages: #{invalid_attrs.to_json}" do
+ # Ensure valid_attrs doesn't produce errors -- otherwise we will
+ # not know whether errors reported below are actually caused by
+ # invalid_attrs.
+ dummy = Job.create! job_attrs
+
+ job = Job.create job_attrs(invalid_attrs)
+ assert_raises(ActiveRecord::RecordInvalid, ArgumentError,
+ "save! did not raise the expected exception") do
+ job.save!
+ end
+ assert_not_empty job.errors, "validation failure did not provide errors"
+ end
+ end