// DailyQuotesCategor.scala
object DailyQuotesCategory extends DBModel {
val collection = connect("dqCategory")
implicit object DQCategoryBSONReader extends BSONDocumentReader[DQCategory] {
....
}
implicit object DQSentenceBSONWriter extends BSONDocumentWriter[DQCategory] {
....
}
def findByTitleWithoutSentences (title: String): Future[List[DQCategory]] = {
val query = BSONDocument(
"title" -> title
)
val filter = BSONDocument (
"sentences" -> 0
)
collection.find(query, filter).cursor[DQCategory].collect[List]()
}
// DQCategoryCtrl.scala
object DQCategoryCtrl extends Controller with MongoController {
def list = Action.async { implicit request =>
val result = DQCategory.findByTitleWithoutSentences("test")
result.map { categories =>
for(category <- categories) {
val title = category.title
println(title)
}
}
result.map { categories =>
Ok(views.html.dq.category.list(categories))
}.recover {
case e =>
Logger.error(e.getMessage)
BadRequest(e.getMessage)
}
}
// DQCategorySpec .scala
@RunWith(classOf[JUnitRunner])
class DQCategorySpec extends Specification {
"Listing 1 category " should {
"return 1 value" in new WithApplication {
val result = DQCategory.findByTitleWithoutSentences("test")
result.map {
categories =>
for(category <- categories) {
val title = category.title
println(title)
}
}
}
}
}