Skip to content

Latest commit

 

History

History
57 lines (57 loc) · 26.8 KB

Tasks2.md

File metadata and controls

57 lines (57 loc) · 26.8 KB
ID Description Definition of done Issues correspondantes Dépendances Durée (j/h) Etat Membres
201 Ajout d'un fichier "Dockerfile" à la racine qui exécutera node sur "index.js" sur le port 8080 et qui lancera une base données mysql sur le port 3306. Ajout d'un fichier "Dockerfile" dans le dossier "database_files" qui aura les configurations de la base de données. Ajout du fichier "docker-compose.yml" à la racine du projet qui lancera les deux "Dockerfile". Pouvoir utiliser le localhost:8080 en lançant la commande docker-compose up à la racine US1 - US35 105 1 DOING Antoine
202 Ajout de la redirection automatique des mauvais urls vers la liste de projets si on est connecté, et sur l'index sinon, dans le fichier "index.js". Pouvoir être rediriger vers la page "/projects" quand on est connecté ou "/" sinon, quand on tape une mauvaise adresse (exemple: /wrong) US1 - US35 105 0.5 DONE Antoine
203 Création du fichier "register.js" dans routes et "register.ejs" dans views. Pouvoir atterrir sur le formulaire de création de compte en cliquant sur "create account" US1 103 0.5 DONE Antoine
204 Ajout dans le ficher "register.ejs" des inputs "email"(type=text), "username"(type=text) et password(type=password) tous required. Ajout du bouton "sign in" qui redirigera vers "index" dans le fichier "register.js" et qui fera un insert dans la base de données du user avec la fonction "insertUser(name, email, password)" du fichier "db_controller/user_db.js". Pouvoir créer un compte en remplissant le formulaire avec un email, un username et un password et en cliquant sur sign in US1 203 1 DONE Antoine
205 Création du bouton "add project" dans la page "project.ejs" permettant de créer un projet. Création du bouton "delete project" dans le fichier "projectManagement.ejs" pour plus tard, supprimer un projet. Afficher la liste des projets de l'utilisateur dans le fichier "project.ejs". Pouvoir voir les boutons add project dans la page /projects et delete project dans l'onglet "Project Management" US2 108 0.5 DONE Antoine
206 Implémentation du bouton "add project" avec un formulaire de création de projets. Ses inputs sont un "name" (type = text) en required et la description (type = text). Le "_owner_name" sera donné automatiquement avec le nom de l'utilisateur qui crée le projet. Pouvoir créer un projet en cliquant sur le bouton add project et en remplissant le formulaire de création en cliquant sur le bouton Validate US2 205 1 DONE Antoine
207 Ajout du bouton "Enter project" dans la liste des projet qui redirige vers le summary du projet cliqué dans le fichier "projects.ejs" dans views . La redirection est à gérer dans les fichiers "projects.js" et "index.js". Il stockera l'id du project dans toutes les vues. Pouvoir sléctionner un projet en cliquant sur son bouton "Enter Project", et voir son nom dans le header US2 206 1 DONE Antoine
208 Implementation du bouton "delete project" dans le fichier "projectManagement.js" en utilisant la fonction deleteProject(project_name, owner_name) du fichier "db_controller/project_db.js". Pouvoir supprimer un projet en cliquant sur le bouton "delete project" dans l'onglet "Project Management" US2 207 0.5 DONE Antoine
209 Ajout des redirections des boutons du header dans les fichier 'documentation.js', issues.js', 'projectManagement.js', 'releases.js', 'sprints.js', 'summary.js', 'tasks.js' et 'tests.js' dans le dossier routes, ainsi que les imports de ses fichiers dans "index.js". Ajout du bouton logout dans le 'header.js' ainsi que la redirection vers le logout dans le fichier 'login.js' dans routes. Pouvoir cliquer sur tous les onglets en étant redirigé vers les bonnes pages. Pouvoir se déconnecter via le logout du header. US11 108 1.5 DONE Antoine
210 Ajout du nom du projet en haut à gauche du header dans le fichier "header.js". Ajout d'un bouton "Project List" au milieu du header qui redirige vers la liste des projets de l'utilisateur. ('/projects'). Pouvoir voir le nom du projet selectionné dans le header. Pouvoir retourner vers la liste des projets en cliquant sur le bouton "Project List" dans le header US11 209 1 DONE Antoine
211 Création du fichier "issue.js" dans routes et "issue.ejs" dans views. Pouvoir atterrir sur l'onglet "issues" en cliquant dans le header US12 105 0.5 DONE Florian
212 Création de l'affichage de la liste des issues, chaque issues sera affichées avec son numéro, sa description, sa difficultée, sa prioritée et son état. Pouvoir voir la liste des issues d'un projet depuis l'onglet "issues" US12 211 1 DONE Florian
213 Création d'un bouton "addIssue" et d'un formulaire de création d'une issue. Les inputs devront être "User Story number" (type = text), "Descrition" (type=text), "Difficulty" (type=number), une sélection à choix unique pour "Priority" (type=text) (low, medium, high) et une séléction à choix unique pour le "State"(type=test) (TODO, DONE). Tous les input seront "required". Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la reqiuête d'insertion. Le formulaire devra renvoyer à la méthode "POST" de insertIssue dans le fichier "issue.js" qui utilsera les fonctions de "db_controller/issue_db.js". Pouvoir voir le formulaire de création d'issue en cliquant sur le bouton "add issue" US12 212 1 DONE Florian
214 Création des fonctions d'insertions des issues dans la base de données dans le fichier "db_controller/issue_db.js" : insertIssue(description, difficulty, priority, usNum, sate, projectId) insertIssueInRelease(issueId, releaseId) insertIssueInSprint(issueId, sprintId) Les champs difficulty et les Id sont des number. Les autres champs sont des String. Pouvoir créer une issue en cliquant sur le bouton "add issue" en remplissant le formulaire et pouvoir le voir dans la liste des issues US12 103 1 DONE Florian
215 Création de la fonction d'update des issues dans la base de données dans le fichier "db_controller/issue_db.js" : updateIssue(projectId, issueId, description, difficulty, priority, usNum, testSate) Les champs difficulty, priority et usNum sont des number. Les autres champs sont des String. Pouvoir modifier une issue en appelant la fonction. US14 103 0.5 DONE Florian
216 Création de la fonction de suppression des issues dans la base de données dans le fichier "db_controller/issue_db.js" : deleteIssue(projectId, issueId) Les champs sont des number. Pouvoir supprimer une issue en appelant la fonction US13 103 0.5 DONE Florian
217 Création du bouton pour modifier les issues. Création du formulaire de modification d'une issue. Les inputs devront être "User Story number" (type = text), "Descrition" (type=text), "Difficulty" (type=number), une sélection à choix unique pour "Priority" (type=text) (low, medium, high) et une séléction à choix unique pour le "State"(type=test) (TODO, DONE). Tous les input seront "required". Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la requête d'insertion. Le formulaire devra renvoyer à la méthode "POST" de updateIssue dans le fichier "issue.js" qui utilsera les fonctions de "db_controller/issue_db.js". Pouvoir modifier une issue en cliquant sur le bouton "modify" de l'issue en remplissant le formulaire et pouvoir voir la modification dans la liste des issues US14 213 1 DONE Florian
218 Création du bouton "Delete" pour les issues dans "issues.ejs". Le bouton devra utiliser la method "POST" de /deleteIssue dans le fichier "issue.js" et utilsera les fonctions de "db_controller/issue_db.js". Pouvoir supprimer une issue en cliquant sur delete et pouvoir voir sa suppression dans la liste des issues US13 217 0.5 DONE Florian
219 Création du formulaire de confirmation ("Yes" et "No") pour la suppression d'une issue. Pouvoir avoir un formulaire de confirmation lors de la suppression d'une issue qui la supprime en cliquant sur "yes" et qui annule la suppression en cliquant sur "no" US13 218 0.5 TODO Florian
220 Création du fichier "tasks.js" dans routes et "tasks.ejs" dans views. Pouvoir atterrir sur l'onglet "tasks" en cliquant dans le header US16 105 0.5 DONE Antoine
221 Création de fonctions d'écriture de tasks, dans la base de données dans le fichier "db_controller/task_db.js" : insertTask(taskId, description, state, projectId, issueId) -> issueId doit être optionnel pour l'utilisateur insertTaskTask(taskId, dependencyTaskId) insertTaskUser(taskId, userName) updateTask(projectId, taskId, description, state, issueId) -> issueId doit être optionnel pour l'utilisateur. Les id sont toujours des number, tous les autres sont des String. Pouvoir créer une task et ses dépendances en appelant les fonctions. US16 103 1 DONE Antoine
222 "Création de fonctions de lecture de tasks, dans la base de données dans le fichier "db_controller/task_db.js" : findTaskByProjectId(projectId) findUserOfTask(projectId, taskId). Les id sont toujours des number, tous les autres sont des String. Pouvoir sélectionner des tasks ou le user de la task en appelant les fonctions. US16 103 1 DONE Simon
223 Création de la fonction de suppression d'une task dans "db_controller/task_db.js" : deleteTask(projectId, taskId), les deux champs sont des number. Pouvoir supprimer une task en appelant la fonction US16 103 0.5 DONE Antoine
224 Création de l'affichage de la liste des tasks, chaque tasks sera affiché avec son ID, sa description, son état ainsi que l'utilisateur à qui est liée cette tâche Pouvoir voir la liste des tasks d'un projet depuis l'onglet "tasks" US16 220 1 DONE Simon
225 Création d'un bouton "add task", pour créer une task, dans le fichier "tasks.ejs". Création du formulaire de modification d'une tâche, les inputs devront être "task id" (type = number, l'input est obligatoire), "descrition" (text, obligatoire), une selection unique pour le "State" (obligatoire) avec comme choix "TODO", "DOING" et "DONE", une séléction à choix multiple pour les "issues id" contenant la liste des issues du projet, une selection à choix multiple pour les "depency tasks" contenant la liste des tâches du projet (exepté la tâche atuellement modifiée) ainsi qu'une selection unique pour le "associated member" contenant la liste des membres du projet. Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la reqiuête d'insertion. Le formulaire devra renvoyer à la method "POST" de /insertTask dans le fichier "tasks.js" qui utilsera les fonctions de "db_controller./task_db.js" Pouvoir créer une task en cliquant sur le bouton "add task" en remplissant le formulaire et pouvoir le voir dans la liste des tasks US16 221 1 DONE Simon
226 Création d'un bouton "modify" pour la modification de la tasks dans le fichier "tasks.ejs". Création du formulaire de modification d'une tâche, les inputs devront être "task id" (type = number, l'input est obligatoire), "descrition" (text, obligatoire), une selection unique pour le "State" (obligatoire) avec comme choix "TODO", "DOING" et "DONE", une séléction à choix multiple pour les "issues id" contenant la liste des issues du projet, une selection à choix multiple pour les "depency tasks" contenant la liste des tâches du projet (exepté la tâche atuellement modifiée) ainsi qu'une selection unique pour le "associated member" contenant la liste des membres du projet. Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la reqiuête d'insertion. Le formulaire devra renvoyer à la method "POST" de /updateTask dans le fichier "tasks.js" qui utilsera les fonctions de "db_controller./task_db.js" Pouvoir modifier une task en cliquant sur le bouton "modify" de la task en remplissant le formulaire et pouvoir voir la modification dans la liste des tasks US16 225 1 DONE Simon
227 Création du bouton "Delete" pour les tasks dans "tasks.ejs". Le bouton devra utiliser la method "POST" de /deleteTask dans le fichier "tasks.js" qui utilsera les fonctions de "db_controller./task_db.js". Pouvoir supprimer une task en cliquant sur delete et pouvoir voir sa suppression dans la liste des tasks US15 226 0.5 DONE Simon
228 Création du formulaire de confirmation ("Yes" et "No") pour la suppression d'une task. Pouvoir avoir un formulaire de confirmation lors de la suppression d'une task qui la supprime en cliquant sur "yes" et qui annule la suppression en cliquant sur "no" US15 122 0.5 TODO Simon
229 Création du fichier "tests.js" dans routes et "tests.ejs" dans views. Pouvoir atterrir sur l'onglet "tests" en cliquant dans le header US23 109 0.5 DONE Simon
231 Création de fonctions d'écriture des tests, dans la base de données dans le fichier "db_controller./test_db.js" : insertTest(projectId, description, issueId, state, resultDescription) -> resultDescription doit être optionnel pour l'utilisateur. Les ID sont toujours des "number", les autres sont des "String" Pouvoir créer un test en appelant la fonction. US23 103 1 TODO Simon
232 Création des fonctions de lecture des tests, dans la base de données dans le fichier "db_controller./test_db.js" : findTestOfIssue(projectId, issueId) findTestOfProject(projectId). Tous les champs sont des number. Pouvoir sélectionner des tests avec un id de projet ou d'issue en appelant les fonctions. US23 103 1 TODO Simon
233 Création de la fonction de suppression d'un test dans "db_controller./test_db.js" : deleteTest(projectId, testId), les deux champs sont des number. Pouvoir supprimer un test en appelant la fonction US23 103 0.5 TODO Simon
234 Création de l'affichage de la liste des tests, dans le fichier 'test.ejs'. Chaque tests sera affiché avec sa description, l'issue qui est testée, et son état. Pouvoir voir la liste des test s d'un projet depuis l'onglet "tests" US23 105 0.5 TODO Simon
235 Création d'un bouton "add test" pour la création d'un test dans le fichier "test.ejs". Création du formulaire de modification d'un test les inputs devront être "descrition" (text, ce champ est obligatoire), une selection unique pour le "State" (obligatoire) avec comme choix "SUCCEED" ou "FAILED" (pré-rempli en "failed"), une séléction à choix unique pour la "tested issue" contenant la liste des issues du projet. Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la reqiuête d'insertion. Le formulaire devra renvoyer à la method "POST" de /updateTest dans le fichier "test.js" qui utilsera les fonctions de "db_controller/test_db.js" Pouvoir créer un test en cliquant sur le bouton "add test" en remplissant le formulaire et pouvoir le voir dans la liste des tests US23 234 1 TODO Antoine
236 Création d'un bouton "modify" pour la modification d'un test dans le fichier "test.ejs". Création du formulaire de modification d'un test les inputs devront être "descrition" (text, ce champ est obligatoire), une selection unique pour le "State" (obligatoire) avec comme choix "SUCCEED" ou "FAILED" (pré-rempli en "failed"), une séléction à choix unique pour la "tested issue" contenant la liste des issues du projet. Création des boutons "validate" et "cancel" dans le formulaire qui permettent respectivement de valider les informations rempli par l'utilsateur ou à l'inverse d'annuler la reqiuête d'insertion. Le formulaire devra renvoyer à la method "POST" de /updateTest dans le fichier "test.js" qui utilsera les fonctions de "db_controller/test_db.js" Pouvoir modifier un test en cliquant sur le bouton "modify" du test en remplissant le formulaire et pouvoir voir la modification dans la liste des tests US25 235 0.5 TODO Simon
237 Création du bouton "Delete" pour les tests dans "tests.ejs". Le bouton devra utiliser la method "POST" de /deleteTest dans le fichier "test.js" qui utilsera les fonctions de "db_controller/test_db.js". Pouvoir supprimer un test en cliquant sur delete et pouvoir voir sa suppression dans la liste des tests US24 236 0.5 TODO Simon
238 Création du formulaire de confirmation ("Yes" et "No") pour la suppression d'un test. Pouvoir avoir un formulaire de confirmation lors de la suppression d'un test qui le supprime en cliquant sur "yes" et qui annule la suppression en cliquant sur "no" US24 237 0.5 TODO Simon
239 Création du bouton "give admin rights" qui permet d'afficher la liste des participants au projet et de leur donner un projet dans le fichier "project.ejs". Création de la fonction permettant d'échanger les rôles de deux utilisateurs pour le don de droits dans "db_controller/user_db.js". Pouvoir donner un projet à un autre utilisateur en cliquant sur le bouton "give admin rights" et voir que le projet passe de la liste des "projects own" à la liste des "suscribed projects" US10 207 1 TODO Antoine
240 Création du formulaire de confirmation ("Yes" et "No") pour le don de droits administrateur. Pouvoir avoir un formulaire de confirmation lors du don de droit administrateur d'un projet qui donne les droits en cliquant sur "yes" et qui annule le don en cliquant sur "no" US10 239 0.5 TODO Antoine
241 Création du dossier "test" et dedans, des dossiers "unit_tests", "acceptance_tests". Installation du package mocha et selenium-webdriver pour les tests. Configurer le test du package.json pour qu'il exécute mocha dans test. Pouvoir lancer la commande npm test à la racine US1 - US35 NOTHING 0.5 DONE Antoine
243 Création du test de validation "testcreateaccount.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la creation du compte (email: [email protected], username: user, password: pass) dans l'onglet register accessible depuis le lien "Create account" depuis l'index. Pouvoir lancer le test en lançant mocha sur le fichier US1 NOTHING 0.5 DONE Antoine
244 Création du test de validation "testlogin.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la connexion du compte (username: user, password: pass) avec le bouton "Log In" de l'index. Pouvoir lancer le test en lançant mocha sur le fichier US4 NOTHING 0.5 DONE Antoine
245 Création du test de validation "testloginlogout.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la connexion du compte (username: user, password: pass) avec le bouton "Log In" de l'index en passant par l'onglet register avec le bouton "Create account" puis en appuyant sur le bouton "Log In" de l'onglet register qui redirige vers l'index. Il testera ensuite la déconnexion avec le bouton "logout". Pouvoir lancer le test en lançant mocha sur le fichier US4 - US5 NOTHING 0.5 DONE Antoine
246 Création du test de validation "testcreateproject.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la création d'un projet (name: testproject, description: description) en cliquant sur le bouton add project en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US2 NOTHING 0.5 DONE Antoine
247 Création du test de validation "testcreateissue.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la création d'une issue (usNum: US1, description: test, difficulty: 1, priority: 2, state: TODO) en cliquant sur le bouton add issue d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US12 NOTHING 0.5 DONE Antoine
248 Création du test de validation "testcreatetask.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la création d'une task (taskID: 1, description: description, click sur DONE, click sur l'issue US1) en cliquant sur le bouton add task d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US16 NOTHING 0.5 DONE Antoine
249 Création du test de validation "testmodifyissue.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la modification d'une issue (usNum: US3, description: test, difficulty: 12, priority: 12, state: DOING) en cliquant sur le bouton modify d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US14 NOTHING 0.5 DONE Antoine
250 Création du test de validation "testmodifytask.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la modification d'une task en cliquant sur le bouton modify d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US16 NOTHING 0.5 DONE Antoine
251 Création du test de validation "testdeleteissue.spec.js" avec selenium dans le dossier "acceptance_tests".Il testera la suppression d'une issue en cliquant sur le bouton delete d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US13 NOTHING 0.5 DONE Antoine
252 Création du test de validation "testdeletetask.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la suppression d'une task en cliquant sur le bouton delete d'un projet (name: testproject, description: description) en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US15 NOTHING 0.5 DONE Antoine
253 Création du test de validation "testdeleteproject.spec.js" avec selenium dans le dossier "acceptance_tests". Il testera la suppression d'un projet (name: testproject, description: description) en cliquant sur le bouton delete de l'onglet project management en passant par le login du compte créé (username: user, password: pass). Pouvoir lancer le test en lançant mocha sur le fichier US7 NOTHING 0.5 DONE Antoine
254 Création des tests unitaires des fonctions de user_db dans le fichier "test_database_user.spec.js" dans le dossier unit_tests. Il testera l'ajout d'un user (username: testName, email: [email protected], password: testPassword) avec la fonction insertUser. Il testera la selection de ce user avec la fonction findUserByName, il testera ainsi tous les champs. Il testera la suppression du compte avec deleteAccount en testant avec la fonction de selection que le résultat retourné est vide. Pouvoir lancer le test en lançant mocha sur le fichier US1 - US35 104 0.5 DONE Florian
255 Création des tests unitaires des fonctions de project_db dans le fichier "test_database_project.spec.js" dans le dossier unit_tests. Il testera l'ajout d'un projet (projectName: projectTest, description: test) avec la fonction insertProject. Il testera la selection de ce projet avec les fonctions findListProjectsByOwnerName, findProjectById, findOwnerOfProjectID et findListProjectsByUser, il testera en ajoutant des membres à ce projet ainsi que leur suppression avec les fonctions insertUserProject, findMembersOfProjectID et removeMemberFromProject. Il testera ainsi tous les champs. Il testera la suppression du projet avec deleteProject en testant avec une fonction de selection que le résultat retourné est vide. Pouvoir lancer le test en lançant mocha sur le fichier US1 - US35 109 0.5 DONE Florian
256 Création des tests unitaires des fonctions de issue_db dans le fichier "test_database_issue.spec.js" dans le dossier unit_tests. Il testera l'ajout d'un issue (description: test, difficulty: 1, priority: 2, usNum: US1, State: TODO, projectId: projectID) avec la fonction insertIssue, il faudra au préalable créer un projet avec insertProject . Il testera la selection de cet issue avec la fonction findListIssuesByProjectID ainsi que la modification de celle-ci avec la fonction updateIssue (projectId: projectID, issueId: issueId, description: test2, difficulty: 2, priority: 2, usNum: US3, testState: DONE) , il testera ainsi tout les champs. Il testera la suppression de l'issue avec deleteIssue en testant avec la fonction de selection que le résultat retourné est vide. Pouvoir lancer le test en lançant mocha sur le fichier US1 - US35 214-215-216 0.5 DONE Florian
257 Création des tests unitaires des fonctions de task_db dans le fichier "test_database_task.spec.js" dans le dossier unit_tests. Il testera l'ajout d'une task (taskId: 1, description: test, state: TODO, projectId: projectID) avec la fonction insertTask, il faudra au préalable créer un projet avec insertProject. Il testera la liaison d'un user à cette tâche avec la fonction insertTaskUser et créera une dépendance avec une autre tâche avec la fonction insertTaskTask . Il testera la selection de cette task avec la fonction findTasksByProjectId ainsi que la modification de celle-ci avec la fonction updateTask (projectId: projectID, taskId: 1, description: test2, state: DOING) , il testera ainsi tout les champs. Il testera la suppression de la task avec deleteTask en testant avec la fonction de selection que le résultat retourné est vide. Pouvoir lancer le test en lançant mocha sur le fichier US1 - US35 221 - 222 - 223 0.5 DONE Florian