/**
 * Projet myplayapp
 * Entité Game
 */
package models;

import javax.persistence.Entity;

import play.data.validation.Required;
import play.db.jpa.Model;

/**
 * Game Classe modélisant un jeu vidéo de la bibliothèque
 * @author frederic
 * 
 */
@Entity
public class Game extends Model {
@Required
public String title;
@Required
public String platform;
@Required
public String description;
public Boolean publish;
public String testContent;
public String developerStudio;
public String editor;
@Required
public Integer yearOfPublication;
public Integer note;
public String cover;

public Game(String title, String description, Boolean publish,
String testContent, String developerStudio, String editor,
Integer yearOfPublication, Integer note, String cover) {
this.title=title;
this.description=description;
this.publish = publish;
this.testContent=testContent;
this.developerStudio=developerStudio;
this.editor=editor;
this.yearOfPublication = yearOfPublication;
this.note = note;
this.cover = cover;
}

}
Voilà une première étape de faite.

Mais avant de pouvoir tester cette chose, codons justement un test unitaire de la classe de persistance et de sa DAO, géré par le framework.

Créons donc une classe de test dans le répertoire de source test et nommons le EntitiesTest:
Notre petite classe est destinée à tester la persistance de nos entitée:

public class EntitiesTest extends UnitTest {

  @Test
  public void testGame(){
    Game game = new Game("MyGame", 
             "X360", 
             "My Description game", 
             true,
             "Test of the game",
             "My Studio", 
             "My Editor",
             2010,
             8,
             "public/images/x360/my_game/cover/mygame-cover.jpg");
    game.save();

    Long id = game.getId();
    assertNotNull(id);
  }
}

Ok,maintenant, testons notre test ;)  et lançons dans la sessions de commandes précédemment ouverte, la ligne suivante:

play test

nota: depuis Eclipse, via la bar d'icônes de debug, cliquez sur le bouton "Run Configurations...", et dans le groupe "Java applications", lancer "Test myplayapp".

Et ouvrez votre navigateur (Firefox, Chrome, Safari, IE ?) sur l'url http://localhost:9000/@tests !
Vous pouvez alors lancer le ou les tests que vous avez créés.

La page appraissant à l'écran vous propose de lancer les tests souhaités. choisissez EntitiesTest et cliquez sur "Start !".
Capture-06-play_-_tests_runner

figure 6 - Lancement des tests unitaires via l'interface Web de Play!

Le test choisi déroulé, le résultat de celui-ci apparait dans la même page:
Capture-07-play_-_tests_runner

figure 7 - Résultat du test unitaire exécuté

Vous pouvez aussi choisir de lancer l'intégralité des tests unitaires proposés nativement par Play!, ainsi que vos tests "custom".
Pour cela rappelez la page des tests et cliquer sur le lien "select all" puis sur "Start !". Tous les tests natifs sont appelés, y compris un test via Sélénium vérifiant le bon affichage de la page d'accueil de l'application.

Capture-08-play_-_tests_runner

figure 8 - Tous les tests ont été lancés et exécutés avec succès
Conclusion
Nous voilà avec les prémices d'une belle application Play! Nous avons découvert a travars ces premiers pas, la richesse technique et la complétude proposées par ce fabuleux framework Java. Nous découvrirons au prochain épisode notre première page bien à nous et la mis en place des modules CRUD et Security, natif eux aussi à Play! mais non activés par défaut.

Vous trouverez ci-joint, l'archive du code correspondant à cet article.

Click here to download:
myplayapp-part1.zap (262 KB)

  • Pirates !!

    Here are the terrible Playmobil Pirates !

    (download)