Browse files

Konzept Fotoalbum hinzugefügt um Benutzer/Besitzer und Anzahl Fotos/F…

…otos zu gruppieren
  • Loading branch information...
1 parent 04c21ff commit b94f7f7e2e7fff6163b096f35852fd695c5df7cc @KyleRogers committed Oct 7, 2013
View
37 app/model/Fotoalbum.scala
@@ -0,0 +1,37 @@
+package model
+
+import play.api.db.DB
+import anorm._
+import anorm.SqlParser._
+import play.api.Play.current
+
+
+/**
+ *
+ * @author Stefan Penndorf <stefan@cyphoria.net>
+ */
+case class Fotoalbum(
+ besitzer: Benutzer,
+ anzahlFotos: Long
+ ) {
+
+}
+ // TODO CLEAN UP ALL OTHER STUFF USING GÄSTELISTE TO USE FOTOALBUM
+
+object Fotoalbum {
+
+ def alleFotoalben(): List[Fotoalbum] = {
+ DB.withConnection { implicit connection =>
+ SQL(
+ """
+ SELECT COUNT(u.id) as anzahlFotos, u.* FROM fotos f
+ LEFT JOIN users u ON f.besitzer = u.id
+ GROUP BY u.id
+ """
+ ).as(Benutzer.simple ~ long("anzahlFotos") *) map {
+ case besitzer~anzahlFotos => Fotoalbum(besitzer, anzahlFotos)
+ }
+ }
+ }
+
+}
View
29 test/net/cyphoria/weddingapp/model/FotoalbumTest.scala
@@ -0,0 +1,29 @@
+package net.cyphoria.weddingapp.model
+
+import org.specs2.mutable.Specification
+import model.Fotoalbum
+
+/**
+ *
+ * @author Stefan Penndorf <stefan@cyphoria.net>
+ */
+class FotoalbumTest extends Specification {
+
+ "Fotoalbum" should {
+
+ "kein Fotoalbum finden, wenn noch kein Foto hochgeladen wurde" in DatenbankMit("einemGast") {
+ Fotoalbum.alleFotoalben() must beEmpty
+ }
+
+ "Kerstins Fotoalbum finden, wenn Sie ein Foto hochgeladen hat" in DatenbankMit("einemGastMitEinemFoto") {
+ Fotoalbum.alleFotoalben().map(_.besitzer) must contain(KERSTIN)
+ }
+
+ "Kerstins Fotoalbum mit drei Fotos finden, wenn Sie drei Fotos hochgeladen hat" in DatenbankMit("einemGastMitDreiFotos") {
+ Fotoalbum.alleFotoalben() must contain(Fotoalbum(KERSTIN, 3))
+ }
+
+
+ }
+
+}
View
7 test/resources/model/einemGastMitDreiFotos.dbt
@@ -0,0 +1,7 @@
+users:
+- id: 1, email: "kerstin@cyphoria.net", vorname: "Kerstin", nachname: "Albert", passwort: "$2a$10$k5TmtHnitQvFCNAp8SbuFeq1VlhlcSGkXl6JAcwZFX20mRZKgEgm."
+
+fotos:
+- id: 1, besitzer: 1, foto: "0123"
+- id: 2, besitzer: 1, foto: "4567"
+- id: 3, besitzer: 1, foto: "7890"
View
5 test/resources/model/einemGastMitEinemFoto.dbt
@@ -0,0 +1,5 @@
+users:
+- id: 1, email: "kerstin@cyphoria.net", vorname: "Kerstin", nachname: "Albert", passwort: "$2a$10$k5TmtHnitQvFCNAp8SbuFeq1VlhlcSGkXl6JAcwZFX20mRZKgEgm."
+
+fotos:
+- id: 1, besitzer: 1, foto: "0123"

0 comments on commit b94f7f7

Please sign in to comment.