Description

Bravo, vous êtes rendu à la dernière story du projet. Comme récompense, on vous a préparé un défi pré-HISTORIQUE! Pas besoin de nous remercier.

Nous voulons que l’application permette le retour à un tour précédent. Tous les changements entre temps doivent être effacés, comme ci le tour n’avais jamais eu lieu.

Ce retour en arrière doit être possible jusqu’au tout début, c’est-à-dire avant l’exécution du premier tour.

Comme réponse à notre requête, vous devez retourner le numéro du tour auquel nous sommes maintenant rendu.

Il est important d’empêcher de faire “unturn” lorsque nous sommes au premier tour.

:bulb: Exemple: En exécutant le tour 8, vous avez ajouté 1000 burgers et, du à un manque de salade, deux dinosaures herbivores sont morts. Attristé par votre erreur, vous décidez donc de recommencer en faisant un “undo”.

Ceci annule les 1000 burgers ajoutés et ramène les deux dinosaures herbivores à la vie. Vous êtes de retour au 7ième tour, comme si votre erreur n’avait jamais eu lieu.

Meilleure chance la prochaine fois!

Conditions de succès

# Description
1 Permettre l’annulation complète d’un tour, comme si le tour n’avait jamais eu lieu.
2 Pouvoir retourner autant de tour en arrière qu’il s’en ait produit, c’est-à-dire jusqu’avant l’exécution du premier tour.
3 Effacer toutes les actions présentement d’accumullées.
4 Lorsqu’on retourne au tour précédent, on retourne dans un état vide, c’est-à-dire sans aucune action d’accumullée.
5 La réponse de l’annulation d’un tour doit contenir le numéro du tour dans lequel nous sommes retourné.
6 Il est impossible de retourner d’un tour à partir du premier tour.

API

:white_check_mark: Unturn d’un tour

Requête

POST /unturn

Réponses

:arrow_right: HTTP 200 Ok

{
  "turnNumber": 1::int
}

Headers

Location: /unturn

:arrow_right: HTTP 400 Bad Request - Quand nous sommes au premier tour.

{
  "error": "NO_TURNS_TO_UNTURN"::string,
  "description": "There are no turns to unturn."::string
}