Last active
November 4, 2016 09:41
-
-
Save FranckSilvestre/56bae1f6744178c8c5b7b3da3a0ec484 to your computer and use it in GitHub Desktop.
FriendsOfMine : test unitaire sur Inscription
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package friendsofmine | |
import spock.lang.Specification | |
import spock.lang.Unroll | |
import javax.validation.Validation | |
import javax.validation.Validator | |
import javax.validation.ValidatorFactory | |
class InscriptionTest extends Specification { | |
Validator validator | |
void setup() { | |
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); | |
validator = factory.getValidator(); | |
} | |
@Unroll | |
void "test la validite d'une inscription valide"() { | |
given:"un utilisateur et une activité" | |
Utilisateur unUtilisateur = Mock(Utilisateur) | |
Activite uneActivite = Mock(Activite) | |
and:"une date" | |
Date now = new Date() | |
when: "une inscription est créée" | |
Inscription uneInscription = new Inscription(utilisateur:unUtilisateur, activite: uneActivite, dateInscription: now) | |
then: "l'inscription est valide" | |
validator.validate(uneInscription).empty | |
and: "les propietes de l'inscription sont correctement mises à jour" | |
uneInscription.utilisateur == unUtilisateur | |
uneInscription.activite == uneActivite | |
uneInscription.dateInscription != null | |
} | |
@Unroll | |
void "test l'invalidite d'une inscription non valide"() { | |
given:"un utilisateur et une activité" | |
Utilisateur unUtilisateur = Mock(Utilisateur) | |
Activite uneActivite = Mock(Activite) | |
and:"une date" | |
Date now = new Date() | |
when: "une inscription sans utilisateur est créée" | |
Inscription uneInscription = new Inscription(utilisateur:null, activite: uneActivite, dateInscription: now) | |
then: "l'inscription n'est pas validée" | |
!validator.validate(uneInscription).empty | |
when: "une inscription sans activité est créée" | |
uneInscription = new Inscription(utilisateur:unUtilisateur, activite: null, dateInscription: now) | |
then: "l'inscription n'est pas validée" | |
!validator.validate(uneInscription).empty | |
when: "une inscription sans date d'inscription est créée" | |
uneInscription = new Inscription(utilisateur:unUtilisateur, activite: uneActivite, dateInscription: null) | |
then: "l'inscription n'est pas validée" | |
!validator.validate(uneInscription).empty | |
} | |
void "test le constructeur par défaut n'initialise pas la date d'inscription"() { | |
given:"un utilisateur et une activité" | |
Utilisateur unUtilisateur = Mock(Utilisateur) | |
Activite uneActivite = Mock(Activite) | |
when:"une inscription est créé" | |
Inscription uneInscription = new Inscription(utilisateur:unUtilisateur, activite: uneActivite) | |
then: "la date d'inscription n'est pas initialisée" | |
!uneInscription.dateInscription | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment