/**
 * 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)

  • Java 4 Ever

    Just watch,

    And laugh ;)

  • RedCar, it's not a red car !

    RedCar is a brand new programmer's editor ruby oriented, and ruby developed.
    And on of the main feature of this new text editor, it's to be JRuby compatible natively !  A good news for the multiplatform world.

    Screenshot-redcar

    to be tested to help dev team to improve this cool programmer's tool.

    Is it possible to optimize such editor for Rails and Hobo ?

    McG.
  • Deep into RCP application !

    Working on RCP based prorietary framework, I have to go further in the RCP development plateform.

    Just attend a RCP training, I'm trying to create, with a co-worker, a demo application connected to ImDB, or something like this world well known films database, to retrieve, store and display data in a Rich application type. If anyone know how to parse this site without parsing html pages, I'll be interested ;)

    Stay in touch to know what we do !