Gestionnaire de Réservation Agile et Intelligent de Salle Saisi pour les Entreprises
Nom | matricule |
---|---|
Alex Gagnon | 111 044 926 |
Clotioloman Yeo | 909 272 477 |
François Lachance-Guillemette | 111 080 517 |
Jean-Philippe Giroux | 111 088 846 |
Kouamé Ange Martial Konan | 909 318 064 |
Marie-Christine Noreau | 910 049 538 |
Xavier Bourgeois-Vézina | 111 102 056 |
User story | statut |
---|---|
Assigner périodiquement des salles aux demandes | terminé |
Assignation en lot des salles aux demandes | terminé |
Maximiser les places dans la salle | terminé |
Ordonner les demandes par priorité | terminé |
Notifier par courriel après l'assignation | terminé |
Annuler une demande | terminé |
Notifier par courriel lors d'une annulation | terminé |
Afficher une demande | terminé |
Permettre la réservation d'une salle | terminé |
Afficher les demandes d'un organisateur | terminé |
Conserver l'historique | pas fait |
Tout d'abord, vous devez créer un booker. Voici comment faire:
Bookings bookings = new Bookings(new BookingInMemoryRepository());
Boardrooms boardrooms = new Boardrooms(new BoardroomInMemoryRepository());
Reservations reservations = new Reservations(new ReservationInMemoryRepository(), boardrooms, bookings);
booker = new Booker(bookings, reservations);
Ensuite, enregistrer des triggers pour déclencher l'assignation des bookings selon différents critères. Voici un exemple utilisant un ThresholdTrigger:
ThresholdTrigger thresholdTrigger = new ThresholdTrigger(3);
booker.registerTrigger(thresholdTrigger);
Dans cet exemple, le trigger sera déclenché lorsque le booker atteindra 3 bookings à assigner.
Finalement, ajouter des bookings pour déclencher l'assignation. Pour créer un booking vous devez lui fournir le nombre de siège minimum nécessaire pour le client:
User bookingOwner = userRepository.retrieve(email);
int aNumberOfSeatsNeeded = 10;
Booking booking1 = new Booking(bookingOwner, aNumberOfSeatsNeeded);
Booking booking2 = new Booking(bookingOwner, aNumberOfSeatsNeeded);
Booking booking3 = new Booking(bookingOwner, aNumberOfSeatsNeeded);
booker.addBooking(booking1);
booker.addBooking(booking2);
booker.addBooking(booking3);
Dans Eclipse, il suffit d'appuyer sur le Projet principal (GRAISSE), et de le lancer en tant que "Maven Install". Ceci construira tout le projet, lancera les tests unitaires, ainsi que les tests d'acceptation
Il est roulable à partir de l'UI JMeter, mais nous n'avons pas trouvé de façon d'exécuter notre serveur lorsque nous voulions exécuter les tests d'integrations dans Maven.
Donc il suffit d'exécuter en tant qu'application Java "RestMain" dans le package "ca.ulaval.glo4002.GRAISSE.rest.service", lancer les tests à partir de l'UI JMeter, et les tests seront exécutés correctement.
Tel que suggéré par Jean-Nicolas, cette classe n'est pas testée unitairement car elle est extrèmement dépendante de JavaMail. Considérant que la librairie, en théorie, fonctionne très bien, c'est la seule couche du système qui a 0% de couverture de code.
Tenir compte que nous avons eu quelques difficultés dans l'équipe, et que nous avons réussi à implémenter la plupart des fonctionnalités malgré cela.
Ce qui a été fait depuis lundi le 13 avril :
- Le service REST et les ID reliés
- Pratiquement tous les tests d'acceptation
- Test de performance (qui fonctionne presque)
- Notifier lors d'une annulation
Ce test n'est pas implémenté puisque nous n'avons tout simplement pas de base de données
Fournir TOUTES les diapos avant le cours.