Giter Club home page Giter Club logo

unittests3al2021's Introduction

UnitTests3AL2021

test pcr

Démarrer

$ npm i
$ npm run test

Coverage

$ jest --coverage

Sujet

Dans le cadre du cours de Tests Unitaires en 3AL de l'ESGI 2021-2022, mini exercice ayant pour but de créer une Todo List.

Seule la façon de tester est prise en compte ici, les choix d'implementation des différentes fonctionnalités ne nous intéressent pas.

Utilisateur

La classe User doit contenir la méthode

  • isValid() : vérifie l'email, le mot de passe, le nom de famille et le prénom de l'utilisateur. Ainsi qu'il ai plus de 13 ans.

Nous avons choisi de créer les différentes méthodes :

  • emailIsValid() : vérifie si l'email renseigné est un bon email

  • lastnameIsValid() : vérifie que le nom de famille est renseigné

  • firstnameIsValid() : vérifie que le prénom est renseigné

  • isOldEnough() : vérifie que l'utilisateur a plus de 13 ans

  • passwordIsValid() : vérifie que le mot de passe a bien une longueur comprise entre 8 et 40

  • createNewToDoList()

Cas limites:

  • Le nom, prénom et email ne doivent pas être vide (white spaces inclus)

  • Un utilisateur qui vient d'avoir 13 ans est valide

  • Un utilisateur qui aura 13 ans demain n'est pas valide

  • Un utilisateur doit être valide pour créer une Todo List

  • Un utilisateur peut nʼavoir quʼune seule ToDoList

Todo List

  • Elle peut contenir de 0 à 10 items
  • Un item contient un name (unique dans la Todo), un content(maximum 1000 caractères), une date de création
  • Il faut obligatoirement respecter une période de 30 min entre l'ajout de 2 items dans une même liste
  • À lʼajout du 8ème item, envoyer un mail au User (via une classe EmailSenderService) pour lui indiquer quʼil ne lui reste que 2 items de disponible.

La classe ToDoList doit contenir la méthode :

  • add(Item): ajoute un item dans la liste

Cas limites:

  • Si la to do list est déjà pleine (10 items), un ajout lance une erreur

Langage

Ces exercices sont codés en TypeScript avec le framework de test Jest.

unittests3al2021's People

Contributors

ohmushi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.