Skip to content

Commit

Permalink
Make workouts error JSON more consistent
Browse files Browse the repository at this point in the history
  • Loading branch information
khy committed Nov 29, 2016
1 parent 10ab9b3 commit 786a9ae
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
10 changes: 8 additions & 2 deletions modules/apis/workouts/app/services/MovementsService.scala
Expand Up @@ -49,8 +49,14 @@ class MovementsService(
map { case (name, _ ) => name }

if (dupNames.size > 0) {
return Future.successful(Validation.failure("variables", "duplicateNames",
dupNames.zipWithIndex.map { case (name, index) => ("name" + (index + 1)) -> name }.toSeq:_*))
val errors = Errors.scalar(dupNames.map { dupName =>
Message(
key = "duplicateVariableName",
details = "name" -> dupName
)
}.toSeq)

return Future.successful(Validation.failure(Seq(errors)))
}
}

Expand Down
9 changes: 4 additions & 5 deletions modules/apis/workouts/test/integration/MovementsSpec.scala
Expand Up @@ -121,11 +121,10 @@ class MovementsSpec extends IntegrationSpec {
}

response.status mustBe BAD_REQUEST
val variableErrors = response.json.as[Seq[Errors]].head
variableErrors.key mustBe Some("variables")
val message = variableErrors.messages.head
message.key mustBe "duplicateNames"
message.details("name1") mustBe "Ball Weight"
val scalarErrors = response.json.as[Seq[Errors]].head
val message = scalarErrors.messages.head
message.key mustBe "duplicateVariableName"
message.details("name") mustBe "Ball Weight"
}

}
Expand Down

0 comments on commit 786a9ae

Please sign in to comment.