When using the fix from above, test driving the API (page 124) returns
iex(3)> Mastery.build_quiz Math.quiz_fields
[title: "must be a string"]
Which seem right, because either the Mastery.Examples.Math.quiz_fields()
must be changed (it should return an string for title) or the Mastery.Boundary.QuizValidator.validate_title()
must be changed (it should check for atoms not for strings).
Either way, to get :ok
for iex(3)> Mastery.build_quiz Math.quiz_fields
and iex(4)> Mastery.add_template Math.quiz.title, Math.template_fields
instead of []
the validation calls in Mastery.build_quiz
and Mastery.add_template
(Build the API Layer Page 122) must check for []
return values instead of :ok
.
Still questioning myself if I’m on a wrong path here.