From 42f9e626a7fed46cb4eab10b2cee4d06a3f227f2 Mon Sep 17 00:00:00 2001 From: achenriques Date: Thu, 9 Mar 2017 01:25:23 +0100 Subject: [PATCH] =?UTF-8?q?Added=20Pet=C2=B4s=20tests=20to=20the=20project?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/mysql-with-inserts.sql | 171 +++--------- db/mysql.sql | 24 ++ src/main/webapp/js/view/pets.js | 10 +- src/main/webapp/main_pet.html | 2 +- .../es/uvigo/esei/daa/dao/PetDAOUnitTest.java | 260 ++++++++++++++++++ .../es/uvigo/esei/daa/dao/PetsDAOTest.java | 136 +++++++++ .../es/uvigo/esei/daa/dataset/PetDataset.java | 75 +++++ .../uvigo/esei/daa/entities/PetUnitTest.java | 104 +++++++ .../uvigo/esei/daa/matchers/IsEqualToPet.java | 63 +++++ .../uvigo/esei/daa/rest/PetResourceTest.java | 235 ++++++++++++++++ .../esei/daa/rest/PetResourceUnitTest.java | 7 + src/test/resources/datasets/dataset-add.xml | 4 + .../resources/datasets/dataset-delete.xml | 4 + .../resources/datasets/dataset-modify.xml | 4 + src/test/resources/datasets/dataset.dtd | 9 +- src/test/resources/datasets/dataset.xml | 4 + src/test/resources/db/hsqldb-drop.sql | 1 + src/test/resources/db/hsqldb.sql | 8 + 18 files changed, 991 insertions(+), 130 deletions(-) create mode 100644 db/mysql.sql create mode 100644 src/test/java/es/uvigo/esei/daa/dao/PetDAOUnitTest.java create mode 100644 src/test/java/es/uvigo/esei/daa/dao/PetsDAOTest.java create mode 100644 src/test/java/es/uvigo/esei/daa/dataset/PetDataset.java create mode 100644 src/test/java/es/uvigo/esei/daa/entities/PetUnitTest.java create mode 100644 src/test/java/es/uvigo/esei/daa/matchers/IsEqualToPet.java create mode 100644 src/test/java/es/uvigo/esei/daa/rest/PetResourceTest.java create mode 100644 src/test/java/es/uvigo/esei/daa/rest/PetResourceUnitTest.java diff --git a/db/mysql-with-inserts.sql b/db/mysql-with-inserts.sql index 4e7fc75..f433506 100644 --- a/db/mysql-with-inserts.sql +++ b/db/mysql-with-inserts.sql @@ -1,127 +1,44 @@ --- phpMyAdmin SQL Dump --- version 4.5.1 --- http://www.phpmyadmin.net --- --- Servidor: 127.0.0.1 --- Tiempo de generación: 24-02-2017 a las 13:08:34 --- Versión del servidor: 10.1.9-MariaDB --- Versión de PHP: 5.6.15 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Base de datos: `daaexample` --- -CREATE DATABASE IF NOT EXISTS `daaexample` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; -USE `daaexample`; - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `people` --- - -DROP TABLE IF EXISTS `people`; -CREATE TABLE `people` ( - `id` int(11) NOT NULL, - `name` varchar(50) NOT NULL, - `surname` varchar(100) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- RELACIONES PARA LA TABLA `people`: --- - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `pet` --- - -DROP TABLE IF EXISTS `pet`; -CREATE TABLE `pet` ( - `id` int(11) NOT NULL, - `name` varchar(45) NOT NULL, - `breed` varchar(45) DEFAULT NULL, - `idOwner` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- RELACIONES PARA LA TABLA `pet`: --- `idOwner` --- `people` -> `id` --- - --- -------------------------------------------------------- - --- --- Estructura de tabla para la tabla `users` --- - -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `login` varchar(100) NOT NULL, - `password` varchar(64) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- RELACIONES PARA LA TABLA `users`: --- - --- --- Índices para tablas volcadas --- - --- --- Indices de la tabla `people` --- -ALTER TABLE `people` - ADD PRIMARY KEY (`id`); - --- --- Indices de la tabla `pet` --- -ALTER TABLE `pet` - ADD PRIMARY KEY (`id`), - ADD KEY `idOwner_idx` (`idOwner`); - --- --- Indices de la tabla `users` --- -ALTER TABLE `users` - ADD PRIMARY KEY (`login`); - --- --- AUTO_INCREMENT de las tablas volcadas --- - --- --- AUTO_INCREMENT de la tabla `people` --- -ALTER TABLE `people` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8; --- --- AUTO_INCREMENT de la tabla `pet` --- -ALTER TABLE `pet` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; --- --- Restricciones para tablas volcadas --- - --- --- Filtros para la tabla `pet` --- -ALTER TABLE `pet` - ADD CONSTRAINT `idOwner` FOREIGN KEY (`idOwner`) REFERENCES `people` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +CREATE DATABASE `daaexample`; + +CREATE TABLE `daaexample`.`people` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `surname` varchar(100) NOT NULL, + PRIMARY KEY (`id`) +); + +CREATE TABLE `daaexample`.`pet` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(45) NOT NULL, + `breed` varchar(45) NOT NULL, + `idOwner` int NOT NULL + PRIMARY KEY (`id`) +); + +CREATE TABLE `daaexample`.`users` ( + `login` varchar(100) NOT NULL, + `password` varchar(64) NOT NULL, + PRIMARY KEY (`login`) +); + +ALTER TABLE `pet` ADD CONSTRAINT `idOwner` FOREIGN KEY (`idOwner`) REFERENCES `people` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; + + +GRANT ALL ON `daaexample`.* TO 'daa'@'localhost' IDENTIFIED BY 'daa'; + +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Antón','Pérez'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Manuel','Martínez'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Laura','Reboredo'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Perico','Palotes'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Ana','María'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'María','Nuevo'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Alba','Fernández'); +INSERT INTO `daaexample`.`people` (`id`,`name`,`surname`) VALUES (0,'Asunción','Jiménez'); + +INSERT INTO `daaexample`.`pet` (`id`,`name`,`breed`, `idOwner`) VALUES (0,'Jackye','Pitbull', '1'); +INSERT INTO `daaexample`.`pet` (`id`,`name`,`breed`, `idOwner`) VALUES (0,'Robert','Persian cat', '2'); +INSERT INTO `daaexample`.`pet` (`id`,`name`,`breed`, `idOwner`) VALUES (0,'Milles','Hot dog', '3'); + +-- The password for each user is its login suffixed with "pass". For example, user "admin" has the password "adminpass". +INSERT INTO `daaexample`.`users` (`login`,`password`) VALUES ('admin', '43f413b773f7d0cfad0e8e6529ec1249ce71e8697919eab30d82d800a3986b70'); +INSERT INTO `daaexample`.`users` (`login`,`password`) VALUES ('normal', '688f21dd2d65970f174e2c9d35159250a8a23e27585452683db8c5d10b586336'); diff --git a/db/mysql.sql b/db/mysql.sql new file mode 100644 index 0000000..3c68e11 --- /dev/null +++ b/db/mysql.sql @@ -0,0 +1,24 @@ +CREATE DATABASE `daaexample`; + +CREATE TABLE `daaexample`.`people` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `surname` varchar(100) NOT NULL, + PRIMARY KEY (`id`) +); + +CREATE TABLE `daaexample`.`pets` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `breed` varchar(100) NOT NULL, + `idOwner` varchar(100) NOT NULL, + PRIMARY KEY (`id`) +); + +CREATE TABLE `daaexample`.`users` ( + `login` varchar(100) NOT NULL, + `password` varchar(64) NOT NULL, + PRIMARY KEY (`login`) +); + +GRANT ALL ON `daaexample`.* TO 'daa'@'localhost' IDENTIFIED BY 'daa'; diff --git a/src/main/webapp/js/view/pets.js b/src/main/webapp/js/view/pets.js index 8c5a09b..123307d 100644 --- a/src/main/webapp/js/view/pets.js +++ b/src/main/webapp/js/view/pets.js @@ -3,6 +3,7 @@ */ var PetsView = (function() { var dao; + var peopleDAO; // Referencia a this que permite acceder a las funciones públicas desde las funciones de jQuery. var self; @@ -12,8 +13,9 @@ var PetsView = (function() { var formQuery = '#' + formId; var listQuery = '#' + listId; - function PetsView(petsDao, formContainerId, listContainerId) { + function PetsView(petsDao, peopleDao, formContainerId, listContainerId) { dao = petsDao; + peopleDAO = peopleDao; self = this; insertPetsForm($('#' + formContainerId)); @@ -135,11 +137,17 @@ var PetsView = (function() { } var insertPetsForm = function(parent) { + + var l = peopleDAO.listPeople(); + parent.append( '
\ \ \ \ + \ \ \ \ diff --git a/src/main/webapp/main_pet.html b/src/main/webapp/main_pet.html index 4016435..0759a6b 100644 --- a/src/main/webapp/main_pet.html +++ b/src/main/webapp/main_pet.html @@ -27,7 +27,7 @@