diff --git a/src/Builder/Project/Simple.php b/src/Builder/Project/Simple.php index 8a13c926b..5ef606419 100644 --- a/src/Builder/Project/Simple.php +++ b/src/Builder/Project/Simple.php @@ -70,7 +70,7 @@ public function build() ->createControllerFile() ->createHtrouterFile(); - if ($this->options->has('enableWebTools') && true === $this->options->enableWebTools) { + if ($this->options->has('enableWebTools') && true === $this->options->get('enableWebTools')) { Tools::install($this->options->get('projectPath')); } diff --git a/src/Web/Tools/Controllers/ScaffoldController.php b/src/Web/Tools/Controllers/ScaffoldController.php index 761165c54..5a2ebf4df 100644 --- a/src/Web/Tools/Controllers/ScaffoldController.php +++ b/src/Web/Tools/Controllers/ScaffoldController.php @@ -60,7 +60,6 @@ public function generateAction() 'templateEngine' => $this->request->getPost('templateEngine', 'string'), 'modelsNamespace' => $this->request->getPost('modelsNamespace', 'string'), ]; - $scaffoldBuilder = new Scaffold(array_merge($options, ['config' => $this->config->toArray()])); $scaffoldBuilder->build(); diff --git a/templates/scaffold/no-forms/views/search.phtml b/templates/scaffold/no-forms/views/search.phtml index 53719a8c4..a759b2a3f 100644 --- a/templates/scaffold/no-forms/views/search.phtml +++ b/templates/scaffold/no-forms/views/search.phtml @@ -49,10 +49,10 @@
diff --git a/templates/scaffold/no-forms/views/search.volt b/templates/scaffold/no-forms/views/search.volt index 6372ec14b..cd8ab4f84 100644 --- a/templates/scaffold/no-forms/views/search.volt +++ b/templates/scaffold/no-forms/views/search.volt @@ -43,10 +43,10 @@
diff --git a/tests/_data/schemas/mysql/dump.sql b/tests/_data/schemas/mysql/dump.sql index e42a168fa..7e2e58b07 100644 --- a/tests/_data/schemas/mysql/dump.sql +++ b/tests/_data/schemas/mysql/dump.sql @@ -109,3 +109,40 @@ CREATE TABLE genScaffold( dateofbirth date, PRIMARY KEY(id) ); + +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Hedley","Reeves","U7B0Q","19-04-15"),("Lillian","Bright","B6O2I","19-04-17"),("Quin","Cherry","W2Q7K","19-04-15"),("Felix","Underwood","H9O8P","19-04-16"),("Kirestin","Finley","E5K6R","19-04-15"),("Brandon","West","A1L1Q","19-04-17"),("Plato","Vaughn","L2C3S","19-04-15"),("Kristen","Davenport","Q7S9K","19-04-15"),("Erasmus","Oneil","T7S0B","19-04-16"),("Steven","Kramer","I6G0M","19-04-15"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Damian","Houston","Y3U7T","19-04-16"),("Griffin","Beach","K1S6X","19-04-15"),("Kylie","Cohen","S3D2P","19-04-17"),("Wayne","Freeman","W5H9H","19-04-17"),("Charde","Lewis","L4B4B","19-04-17"),("Simone","Ratliff","M4I1N","19-04-17"),("Maggie","Guerrero","O4S3Z","19-04-17"),("Ferris","Fitzgerald","J1M0F","19-04-16"),("Yoshio","Reynolds","B6J9Y","19-04-17"),("Lacey","Austin","H3C8R","19-04-15"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Eugenia","Tyson","A6K1J","19-04-16"),("Slade","Farley","M7Y5K","19-04-16"),("Kylynn","Bolton","I7D5M","19-04-17"),("Patience","Ware","R1Y8S","19-04-17"),("Cooper","Bruce","R5Y2P","19-04-17"),("Justin","Harding","X9Q0H","19-04-16"),("Cleo","York","R4Z9A","19-04-17"),("Dante","Delacruz","L6H3S","19-04-17"),("Kylie","Oneal","C0U1Q","19-04-16"),("Macey","Salazar","L0Q8H","19-04-15"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Rosalyn","Chandler","M6B2H","19-04-15"),("Jorden","Pratt","Z8L6D","19-04-15"),("Kermit","Gaines","T7H1K","19-04-17"),("Kirsten","Grimes","B6N1L","19-04-15"),("Keegan","Wolfe","F2L4A","19-04-16"),("Kiara","Castaneda","D7P0D","19-04-17"),("Eleanor","Gomez","P4W3O","19-04-17"),("Abdul","Potter","T9P5Z","19-04-16"),("Denton","Mendoza","W0L1X","19-04-16"),("Omar","Morse","A2P8Q","19-04-17"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Martina","Mckinney","S0P7K","19-04-16"),("Hedley","Nguyen","L7U8O","19-04-15"),("Wanda","Dyer","T8Z1R","19-04-16"),("Olga","Witt","I0R6O","19-04-15"),("Leandra","Simmons","U6C4C","19-04-17"),("Lev","Cox","D8P2R","19-04-17"),("Maxine","Gilmore","E2D3R","19-04-15"),("Sean","Doyle","K1Z1M","19-04-17"),("Carl","Brady","M2K4X","19-04-15"),("Hilel","Huffman","N5W1L","19-04-17"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Ina","Mendoza","I0M8V","19-04-17"),("Uriah","Mccarthy","A0Z8A","19-04-15"),("Kay","Stevens","Q8J8G","19-04-15"),("Silas","Calhoun","Z8L4O","19-04-16"),("Nolan","Garrett","Z1G4A","19-04-17"),("Knox","Sosa","X0X3A","19-04-15"),("Calista","Barnes","D2R6H","19-04-17"),("Troy","Reed","K0P3L","19-04-17"),("Flynn","Fry","K1Z6P","19-04-17"),("Veda","Boone","B7P2C","19-04-17"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Madonna","Gilbert","U1T8G","19-04-17"),("Boris","Montgomery","V2L4R","19-04-16"),("Wing","Reese","U3L2S","19-04-15"),("Jackson","Bradford","J8C9Z","19-04-16"),("Jermaine","Mendez","Y2W5W","19-04-16"),("Astra","Chan","U0V6D","19-04-16"),("Kitra","Head","U2A3O","19-04-15"),("Honorato","Mullen","W3K6D","19-04-16"),("Brynn","Morse","O7K3B","19-04-17"),("Yolanda","Rivas","J2Z9L","19-04-16"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Cedric","Avery","L2P1G","19-04-15"),("Ann","Travis","K2B5E","19-04-17"),("Lee","Mathis","C0Z4A","19-04-17"),("Skyler","Cervantes","W9I3B","19-04-15"),("Hermione","Baird","C4V9Q","19-04-17"),("Helen","Clark","I3T9J","19-04-17"),("Maryam","Blackburn","S1I7Z","19-04-15"),("Rahim","Knapp","O2S7K","19-04-17"),("Gannon","Williamson","F9O2L","19-04-15"),("Stephen","Bradshaw","H9X5D","19-04-16"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Gil","Manning","Q3Z2R","19-04-16"),("Victoria","Alford","J4T7L","19-04-16"),("Calvin","Stout","R1H0I","19-04-17"),("Erica","Gregory","H2K1T","19-04-17"),("Finn","Maynard","I8K4T","19-04-17"),("Karina","Nichols","U1Y4I","19-04-17"),("Imogene","Soto","S6M7P","19-04-16"),("Juliet","Wilkins","P0X0K","19-04-15"),("Emma","Dejesus","L8P4G","19-04-16"),("Pearl","Henry","L9X3W","19-04-17"); +INSERT INTO genScaffold (firstname,surname,membertype,dateofbirth) VALUES ("Lillith","Garcia","L1V1Q","19-04-16"),("Zenia","Figueroa","X6J6W","19-04-17"),("Ulla","Kidd","V5N4T","19-04-16"),("Maxwell","Solis","Q0J1Y","19-04-16"),("Erasmus","Raymond","F8Y3G","19-04-16"),("Caleb","Byrd","A5D6F","19-04-17"),("Philip","Carpenter","B1R0E","19-04-17"),("Lisandra","Wilcox","N2Z7T","19-04-15"),("Joseph","Bush","N4Z8R","19-04-15"),("Kaitlin","Ferrell","J0G8Q","19-04-17"); + + +-- +-- Table structures for testing generating scaffold compatible Windows / Unix +-- +DROP TABLE IF EXISTS `customers`; +CREATE TABLE customers( + id integer auto_increment, + firstname Varchar(30), + surname Varchar(30), + membertype Varchar(6), + dateofbirth date, + PRIMARY KEY(id) +); + + +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Hedley","Reeves","U7B0Q","19-04-15"),("Lillian","Bright","B6O2I","19-04-17"),("Quin","Cherry","W2Q7K","19-04-15"),("Felix","Underwood","H9O8P","19-04-16"),("Kirestin","Finley","E5K6R","19-04-15"),("Brandon","West","A1L1Q","19-04-17"),("Plato","Vaughn","L2C3S","19-04-15"),("Kristen","Davenport","Q7S9K","19-04-15"),("Erasmus","Oneil","T7S0B","19-04-16"),("Steven","Kramer","I6G0M","19-04-15"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Damian","Houston","Y3U7T","19-04-16"),("Griffin","Beach","K1S6X","19-04-15"),("Kylie","Cohen","S3D2P","19-04-17"),("Wayne","Freeman","W5H9H","19-04-17"),("Charde","Lewis","L4B4B","19-04-17"),("Simone","Ratliff","M4I1N","19-04-17"),("Maggie","Guerrero","O4S3Z","19-04-17"),("Ferris","Fitzgerald","J1M0F","19-04-16"),("Yoshio","Reynolds","B6J9Y","19-04-17"),("Lacey","Austin","H3C8R","19-04-15"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Eugenia","Tyson","A6K1J","19-04-16"),("Slade","Farley","M7Y5K","19-04-16"),("Kylynn","Bolton","I7D5M","19-04-17"),("Patience","Ware","R1Y8S","19-04-17"),("Cooper","Bruce","R5Y2P","19-04-17"),("Justin","Harding","X9Q0H","19-04-16"),("Cleo","York","R4Z9A","19-04-17"),("Dante","Delacruz","L6H3S","19-04-17"),("Kylie","Oneal","C0U1Q","19-04-16"),("Macey","Salazar","L0Q8H","19-04-15"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Rosalyn","Chandler","M6B2H","19-04-15"),("Jorden","Pratt","Z8L6D","19-04-15"),("Kermit","Gaines","T7H1K","19-04-17"),("Kirsten","Grimes","B6N1L","19-04-15"),("Keegan","Wolfe","F2L4A","19-04-16"),("Kiara","Castaneda","D7P0D","19-04-17"),("Eleanor","Gomez","P4W3O","19-04-17"),("Abdul","Potter","T9P5Z","19-04-16"),("Denton","Mendoza","W0L1X","19-04-16"),("Omar","Morse","A2P8Q","19-04-17"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Martina","Mckinney","S0P7K","19-04-16"),("Hedley","Nguyen","L7U8O","19-04-15"),("Wanda","Dyer","T8Z1R","19-04-16"),("Olga","Witt","I0R6O","19-04-15"),("Leandra","Simmons","U6C4C","19-04-17"),("Lev","Cox","D8P2R","19-04-17"),("Maxine","Gilmore","E2D3R","19-04-15"),("Sean","Doyle","K1Z1M","19-04-17"),("Carl","Brady","M2K4X","19-04-15"),("Hilel","Huffman","N5W1L","19-04-17"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Ina","Mendoza","I0M8V","19-04-17"),("Uriah","Mccarthy","A0Z8A","19-04-15"),("Kay","Stevens","Q8J8G","19-04-15"),("Silas","Calhoun","Z8L4O","19-04-16"),("Nolan","Garrett","Z1G4A","19-04-17"),("Knox","Sosa","X0X3A","19-04-15"),("Calista","Barnes","D2R6H","19-04-17"),("Troy","Reed","K0P3L","19-04-17"),("Flynn","Fry","K1Z6P","19-04-17"),("Veda","Boone","B7P2C","19-04-17"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Madonna","Gilbert","U1T8G","19-04-17"),("Boris","Montgomery","V2L4R","19-04-16"),("Wing","Reese","U3L2S","19-04-15"),("Jackson","Bradford","J8C9Z","19-04-16"),("Jermaine","Mendez","Y2W5W","19-04-16"),("Astra","Chan","U0V6D","19-04-16"),("Kitra","Head","U2A3O","19-04-15"),("Honorato","Mullen","W3K6D","19-04-16"),("Brynn","Morse","O7K3B","19-04-17"),("Yolanda","Rivas","J2Z9L","19-04-16"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Cedric","Avery","L2P1G","19-04-15"),("Ann","Travis","K2B5E","19-04-17"),("Lee","Mathis","C0Z4A","19-04-17"),("Skyler","Cervantes","W9I3B","19-04-15"),("Hermione","Baird","C4V9Q","19-04-17"),("Helen","Clark","I3T9J","19-04-17"),("Maryam","Blackburn","S1I7Z","19-04-15"),("Rahim","Knapp","O2S7K","19-04-17"),("Gannon","Williamson","F9O2L","19-04-15"),("Stephen","Bradshaw","H9X5D","19-04-16"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Gil","Manning","Q3Z2R","19-04-16"),("Victoria","Alford","J4T7L","19-04-16"),("Calvin","Stout","R1H0I","19-04-17"),("Erica","Gregory","H2K1T","19-04-17"),("Finn","Maynard","I8K4T","19-04-17"),("Karina","Nichols","U1Y4I","19-04-17"),("Imogene","Soto","S6M7P","19-04-16"),("Juliet","Wilkins","P0X0K","19-04-15"),("Emma","Dejesus","L8P4G","19-04-16"),("Pearl","Henry","L9X3W","19-04-17"); +INSERT INTO customers (firstname,surname,membertype,dateofbirth) VALUES ("Lillith","Garcia","L1V1Q","19-04-16"),("Zenia","Figueroa","X6J6W","19-04-17"),("Ulla","Kidd","V5N4T","19-04-16"),("Maxwell","Solis","Q0J1Y","19-04-16"),("Erasmus","Raymond","F8Y3G","19-04-16"),("Caleb","Byrd","A5D6F","19-04-17"),("Philip","Carpenter","B1R0E","19-04-17"),("Lisandra","Wilcox","N2Z7T","19-04-15"),("Joseph","Bush","N4Z8R","19-04-15"),("Kaitlin","Ferrell","J0G8Q","19-04-17"); diff --git a/tests/_data/schemas/postgresql/dump.sql b/tests/_data/schemas/postgresql/dump.sql index 8980a7f57..0ed1a0a00 100644 --- a/tests/_data/schemas/postgresql/dump.sql +++ b/tests/_data/schemas/postgresql/dump.sql @@ -88,3 +88,46 @@ CREATE TABLE test_migrations ( active smallint NOT NULL, PRIMARY KEY (id) ); + + +CREATE TABLE "genScaffold" ( + id SERIAL PRIMARY KEY, + firstname varchar(255) default NULL, + surname varchar(255) default NULL, + membertype varchar(255), + dateofbirth varchar(255) +); + +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Geoffrey','Horne','A4X9V','19-04-16'),('Vielka','Vaughan','Q0N0T','19-04-15'),('Amery','Armstrong','T0Y1D','19-04-16'),('Malcolm','Rosario','E7D7H','19-04-16'),('Tanya','Stafford','P6X1A','19-04-17'),('Mannix','Jackson','G8Q8I','19-04-16'),('Uriah','Jensen','E6R4U','19-04-17'),('Keely','Mercado','S8T7U','19-04-17'),('Stone','Flores','S3S1E','19-04-17'),('Karly','Clarke','T9F9W','19-04-16'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('August','Gallegos','F8V3Z','19-04-15'),('Pascale','Mccullough','I0Q1U','19-04-15'),('Isabella','Talley','W5E3G','19-04-17'),('Ingrid','Sampson','L9J9D','19-04-17'),('Cyrus','Woodward','D4E4L','19-04-15'),('Wade','Weaver','H5E9I','19-04-17'),('Breanna','Bass','N8U9K','19-04-17'),('Joan','Curtis','W2Q8O','19-04-16'),('Marcia','Watson','V7B5G','19-04-15'),('Lars','Foreman','C4N3P','19-04-17'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Branden','Alvarado','P9D4P','19-04-17'),('Adena','Kramer','Z7A0Z','19-04-15'),('Maite','Deleon','Q7U7A','19-04-17'),('Clayton','Harrison','Z7J1G','19-04-16'),('Samson','Daugherty','T9H0S','19-04-17'),('Bree','Dickson','A6N2H','19-04-16'),('Lawrence','Warner','X8G9A','19-04-15'),('Wang','Richards','R9Y8S','19-04-17'),('Yoko','Haynes','J4T8Q','19-04-17'),('Kasper','Bullock','U6Z2K','19-04-16'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Damian','Wheeler','X9F6H','19-04-15'),('Thane','Herring','O1R8A','19-04-15'),('Julian','Fry','B4S4N','19-04-17'),('Noah','Marshall','M2K0E','19-04-15'),('Slade','Riddle','T1D4K','19-04-16'),('Barry','Espinoza','K9R6W','19-04-17'),('Axel','Hoffman','Q0K1Z','19-04-16'),('Amy','Ewing','R1R0F','19-04-15'),('Ali','Black','O4L5F','19-04-15'),('Lucius','Morgan','C1Q3J','19-04-15'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Olivia','Rosales','B1C5A','19-04-15'),('Dylan','Lewis','H2A9F','19-04-17'),('Sandra','Johns','O0A4H','19-04-15'),('Myra','Stephens','P4E4B','19-04-16'),('Blaine','Simmons','W9T6I','19-04-17'),('Emily','Richard','A0K1M','19-04-17'),('Quintessa','Osborn','B8H1I','19-04-15'),('Cameron','Buckley','D2B1F','19-04-17'),('Edward','Perez','X1W8Y','19-04-16'),('Byron','Melendez','W3Z6V','19-04-16'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Jena','Hester','L2S3Q','19-04-17'),('Alfreda','Ortiz','H7X1P','19-04-16'),('Francesca','Delgado','T2F8I','19-04-16'),('Sage','Koch','E4B3Y','19-04-16'),('Iona','Morgan','P0B7B','19-04-17'),('Ima','Bradford','I8G6T','19-04-17'),('Imani','Perez','C6O7J','19-04-15'),('Curran','Rutledge','F2R5P','19-04-16'),('Karen','Nichols','K0W9M','19-04-15'),('Richard','Pittman','V0A6S','19-04-17'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Steven','Cohen','T3O5T','19-04-17'),('Dara','Osborne','I7C5C','19-04-16'),('Timothy','Walker','G9P1K','19-04-15'),('Kylee','Mckenzie','L6Y0D','19-04-17'),('Chanda','Booker','T6X2H','19-04-16'),('Luke','Wyatt','L6Y5X','19-04-15'),('Sydney','Burks','M2W7F','19-04-16'),('Mariam','Dixon','F8P5N','19-04-16'),('Susan','Hunter','X5R0A','19-04-15'),('Alec','Snow','F3W2L','19-04-17'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Scarlet','Dixon','P5U9M','19-04-15'),('Noelle','Miranda','X4A5C','19-04-16'),('Mariko','Solomon','P1O3P','19-04-17'),('Nathan','Martin','Q8B5T','19-04-16'),('Ryder','Willis','K4L9W','19-04-15'),('Kevin','Ballard','A9I2E','19-04-15'),('Leah','Knapp','H9H5P','19-04-16'),('Nita','Webb','A4Y7N','19-04-17'),('Jasmine','Yang','D6L6Z','19-04-16'),('Jacqueline','Cantrell','B1K5I','19-04-16'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Zoe','Huffman','H1C0V','19-04-17'),('Keane','House','F7W8C','19-04-15'),('Kane','Soto','D2S2R','19-04-16'),('Ulric','Salas','R6S8M','19-04-16'),('Sage','Watson','X9Z6M','19-04-15'),('Phillip','Hayden','L7P3N','19-04-15'),('Alexa','Conrad','X7X3B','19-04-17'),('Amena','Bonner','Q9F1R','19-04-15'),('Derek','Bradshaw','J2W1X','19-04-16'),('Tanek','Morin','Q7C6Q','19-04-16'); +INSERT INTO "genScaffold" (firstname,surname,membertype,dateofbirth) VALUES ('Devin','Vazquez','P0X6H','19-04-16'),('Idona','Barker','X9B9L','19-04-15'),('Jocelyn','Pollard','N1X0S','19-04-16'),('Michael','Lamb','S3U1W','19-04-16'),('Matthew','Joseph','U2Z0H','19-04-17'),('Rogan','Dominguez','A4E0X','19-04-16'),('Chloe','Guzman','R1R2Z','19-04-16'),('Isabelle','Stark','B3Z7X','19-04-15'),('Hayes','Kaufman','Y6P1I','19-04-16'),('Drew','Henry','Q2T7U','19-04-15'); + + +-- +-- Table structures for testing generating scaffold compatible Windows / Unix +-- +CREATE TABLE "customers" ( + id SERIAL PRIMARY KEY, + firstname varchar(255) default NULL, + surname varchar(255) default NULL, + membertype varchar(255), + dateofbirth varchar(255) +); + +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Geoffrey','Horne','A4X9V','19-04-16'),('Vielka','Vaughan','Q0N0T','19-04-15'),('Amery','Armstrong','T0Y1D','19-04-16'),('Malcolm','Rosario','E7D7H','19-04-16'),('Tanya','Stafford','P6X1A','19-04-17'),('Mannix','Jackson','G8Q8I','19-04-16'),('Uriah','Jensen','E6R4U','19-04-17'),('Keely','Mercado','S8T7U','19-04-17'),('Stone','Flores','S3S1E','19-04-17'),('Karly','Clarke','T9F9W','19-04-16'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('August','Gallegos','F8V3Z','19-04-15'),('Pascale','Mccullough','I0Q1U','19-04-15'),('Isabella','Talley','W5E3G','19-04-17'),('Ingrid','Sampson','L9J9D','19-04-17'),('Cyrus','Woodward','D4E4L','19-04-15'),('Wade','Weaver','H5E9I','19-04-17'),('Breanna','Bass','N8U9K','19-04-17'),('Joan','Curtis','W2Q8O','19-04-16'),('Marcia','Watson','V7B5G','19-04-15'),('Lars','Foreman','C4N3P','19-04-17'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Branden','Alvarado','P9D4P','19-04-17'),('Adena','Kramer','Z7A0Z','19-04-15'),('Maite','Deleon','Q7U7A','19-04-17'),('Clayton','Harrison','Z7J1G','19-04-16'),('Samson','Daugherty','T9H0S','19-04-17'),('Bree','Dickson','A6N2H','19-04-16'),('Lawrence','Warner','X8G9A','19-04-15'),('Wang','Richards','R9Y8S','19-04-17'),('Yoko','Haynes','J4T8Q','19-04-17'),('Kasper','Bullock','U6Z2K','19-04-16'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Damian','Wheeler','X9F6H','19-04-15'),('Thane','Herring','O1R8A','19-04-15'),('Julian','Fry','B4S4N','19-04-17'),('Noah','Marshall','M2K0E','19-04-15'),('Slade','Riddle','T1D4K','19-04-16'),('Barry','Espinoza','K9R6W','19-04-17'),('Axel','Hoffman','Q0K1Z','19-04-16'),('Amy','Ewing','R1R0F','19-04-15'),('Ali','Black','O4L5F','19-04-15'),('Lucius','Morgan','C1Q3J','19-04-15'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Olivia','Rosales','B1C5A','19-04-15'),('Dylan','Lewis','H2A9F','19-04-17'),('Sandra','Johns','O0A4H','19-04-15'),('Myra','Stephens','P4E4B','19-04-16'),('Blaine','Simmons','W9T6I','19-04-17'),('Emily','Richard','A0K1M','19-04-17'),('Quintessa','Osborn','B8H1I','19-04-15'),('Cameron','Buckley','D2B1F','19-04-17'),('Edward','Perez','X1W8Y','19-04-16'),('Byron','Melendez','W3Z6V','19-04-16'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Jena','Hester','L2S3Q','19-04-17'),('Alfreda','Ortiz','H7X1P','19-04-16'),('Francesca','Delgado','T2F8I','19-04-16'),('Sage','Koch','E4B3Y','19-04-16'),('Iona','Morgan','P0B7B','19-04-17'),('Ima','Bradford','I8G6T','19-04-17'),('Imani','Perez','C6O7J','19-04-15'),('Curran','Rutledge','F2R5P','19-04-16'),('Karen','Nichols','K0W9M','19-04-15'),('Richard','Pittman','V0A6S','19-04-17'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Steven','Cohen','T3O5T','19-04-17'),('Dara','Osborne','I7C5C','19-04-16'),('Timothy','Walker','G9P1K','19-04-15'),('Kylee','Mckenzie','L6Y0D','19-04-17'),('Chanda','Booker','T6X2H','19-04-16'),('Luke','Wyatt','L6Y5X','19-04-15'),('Sydney','Burks','M2W7F','19-04-16'),('Mariam','Dixon','F8P5N','19-04-16'),('Susan','Hunter','X5R0A','19-04-15'),('Alec','Snow','F3W2L','19-04-17'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Scarlet','Dixon','P5U9M','19-04-15'),('Noelle','Miranda','X4A5C','19-04-16'),('Mariko','Solomon','P1O3P','19-04-17'),('Nathan','Martin','Q8B5T','19-04-16'),('Ryder','Willis','K4L9W','19-04-15'),('Kevin','Ballard','A9I2E','19-04-15'),('Leah','Knapp','H9H5P','19-04-16'),('Nita','Webb','A4Y7N','19-04-17'),('Jasmine','Yang','D6L6Z','19-04-16'),('Jacqueline','Cantrell','B1K5I','19-04-16'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Zoe','Huffman','H1C0V','19-04-17'),('Keane','House','F7W8C','19-04-15'),('Kane','Soto','D2S2R','19-04-16'),('Ulric','Salas','R6S8M','19-04-16'),('Sage','Watson','X9Z6M','19-04-15'),('Phillip','Hayden','L7P3N','19-04-15'),('Alexa','Conrad','X7X3B','19-04-17'),('Amena','Bonner','Q9F1R','19-04-15'),('Derek','Bradshaw','J2W1X','19-04-16'),('Tanek','Morin','Q7C6Q','19-04-16'); +INSERT INTO "customers" (firstname,surname,membertype,dateofbirth) VALUES ('Devin','Vazquez','P0X6H','19-04-16'),('Idona','Barker','X9B9L','19-04-15'),('Jocelyn','Pollard','N1X0S','19-04-16'),('Michael','Lamb','S3U1W','19-04-16'),('Matthew','Joseph','U2Z0H','19-04-17'),('Rogan','Dominguez','A4E0X','19-04-16'),('Chloe','Guzman','R1R2Z','19-04-16'),('Isabelle','Stark','B3Z7X','19-04-15'),('Hayes','Kaufman','Y6P1I','19-04-16'),('Drew','Henry','Q2T7U','19-04-15'); diff --git a/tests/acceptance.suite.yml b/tests/acceptance.suite.yml index 516091bf2..2207ab59b 100644 --- a/tests/acceptance.suite.yml +++ b/tests/acceptance.suite.yml @@ -12,4 +12,5 @@ modules: curl: CURLOPT_RETURNTRANSFER: true - \Helper\Acceptance + - Filesystem step_decorators: ~ diff --git a/tests/acceptance/Web/Template/ScaffoldVoltCest.php b/tests/acceptance/Web/Template/ScaffoldVoltCest.php deleted file mode 100644 index 15b452a1f..000000000 --- a/tests/acceptance/Web/Template/ScaffoldVoltCest.php +++ /dev/null @@ -1,63 +0,0 @@ -amOnPage('/webtools.php/scaffold/generate'); - $I->see('Scaffold'); - $I->see('Generate code from template'); - - $basePath = $I->grabValueFrom('#basePath'); - Fixtures::add('base_path', $basePath); - /* $I->selectOption('form select[name=templateEngine]', 'Volt'); - $I->selectOption('form select[name=tableName]', 'genscaffold'); - $namespace = 'Test\WebTools'; - $I->fillField('modelsNamespace', $namespace); - $I->click('input[type=submit]'); - $I->checkOption('#force'); - $I->see('Migrations'); - $I->see('All migrations that we managed to find');*/ - $I->selectOption('form select[name=templateEngine]', 'Volt'); - $I->selectOption('form select[name=tableName]', 'genscaffold'); - $I->checkOption('#force'); - $I->click('input[type=submit]'); - $I->see('Migrations'); - $I->see('All migrations that we managed to find'); - } - - public function testSearchAction(AcceptanceTester $I): void - { - $I->amOnPage('/webtools.php/scaffold/generate'); - $I->see('Scaffold'); - $I->see('Generate code from template'); - } - - public function after(AcceptanceTester $I): void - { - $basePath = Fixtures::get('base_path'); - - unlink($basePath . - DIRECTORY_SEPARATOR . 'controllers' . - DIRECTORY_SEPARATOR . 'GenscaffoldController.php'); - - unlink($basePath . - DIRECTORY_SEPARATOR . 'models' . - DIRECTORY_SEPARATOR . 'Genscaffold.php'); - - unlink($basePath . - DIRECTORY_SEPARATOR . 'views' . - DIRECTORY_SEPARATOR . 'layouts' . - DIRECTORY_SEPARATOR . 'genscaffold.phtml'); - - remove_dir($basePath . - DIRECTORY_SEPARATOR . 'views' . - DIRECTORY_SEPARATOR . 'genscaffold'); - } -} diff --git a/tests/acceptance/Web/Template/phtml/ScaffoldPhtmlCest.php b/tests/acceptance/Web/Template/phtml/ScaffoldPhtmlCest.php new file mode 100644 index 000000000..8d60a5009 --- /dev/null +++ b/tests/acceptance/Web/Template/phtml/ScaffoldPhtmlCest.php @@ -0,0 +1,216 @@ +amOnPage('/webtools.php/scaffold/generate'); + $I->selectOption('form select[name=templateEngine]', 'PHP'); + + Fixtures::add('tablename', 'customers'); + + $I->selectOption('form select[name=tableName]', Fixtures::get('tablename')); + + $basePath = $I->grabValueFrom('#basePath'); + Fixtures::add('base_path', $basePath); + + $I->fillField('modelsNamespace', $namespace); + $I->checkOption('#force'); + $I->click('input[type=submit]'); + $I->see('Migrations'); + $I->see('All migrations that we managed to find'); + + //add namespace in loader file + $loaderFile = $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'config' . + DIRECTORY_SEPARATOR . 'loader.php'; + + $content = file_get_contents($loaderFile); + + //Add namespace + $returnLine = "\r\n"; + + $content .= $returnLine . + '$loader->registerNamespaces(' . + $returnLine . '[ '. + '"'.$namespace.'" => $config->application->modelsDir' . + $returnLine . ' ]' . + $returnLine . ');'; + + file_put_contents($loaderFile, $content); + } + + /** + * @group mysql + */ + public function testGenScaffoldFileExist(AcceptanceTester $I): void + { + $basePath = Fixtures::get('base_path'); + + Fixtures::add('controller', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'controllers' . + DIRECTORY_SEPARATOR . 'CustomersController.php'); + + Fixtures::add('model', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'models' . + DIRECTORY_SEPARATOR . 'Customers.php'); + + Fixtures::add('layout', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'layouts' . + DIRECTORY_SEPARATOR . 'customers.phtml'); + + Fixtures::add('views', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers'); + + Fixtures::add('views_edit', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'edit.phtml'); + + Fixtures::add('views_index', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'index.phtml'); + + Fixtures::add('views_new', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'new.phtml'); + + Fixtures::add('views_search', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'search.phtml'); + + $I->seeFileFound(Fixtures::get('controller')); + $I->seeFileFound(Fixtures::get('model')); + $I->seeFileFound(Fixtures::get('layout')); + $I->seeFileFound(Fixtures::get('views_edit')); + $I->seeFileFound(Fixtures::get('views_index')); + $I->seeFileFound(Fixtures::get('views_search')); + } + + /** + * @group mysql + */ + public function testSearchAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename')); + $I->see(Fixtures::get('tablename')); + $I->see('Search '.Fixtures::get('tablename')); + $I->see('Dateofbirth'); + $I->fillField('dateofbirth', '2019-04-17'); + $I->click('input[type=submit]'); + + $I->see('Brandon'); + } + + /** + * @group mysql + */ + public function testSearchButtonAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename').'/search'); + $I->see('Search result'); + + $I->click("#next"); + + $I->see("K1S6X"); + + $I->click("#previous"); + + $I->see("U7B0Q"); + + $I->click("#last"); + + $I->see("N2Z7T"); + + $I->click("#first"); + + $I->see("U7B0Q"); + } + + + /** + * @group mysql + */ + public function testNewAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename').'/new'); + $I->see('Create '.Fixtures::get('tablename')); + $I->fillField('firstname', 'jeremy'); + $I->fillField('surname', 'jenovateurs'); + $I->fillField('membertype', 'aaa'); + $I->fillField('dateofbirth', '2019-04-17'); + $I->click('input[type=submit]'); + } + + /** + * @group mysql + */ + public function testEditAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + $I->click(['link' => 'Edit']); + $I->seeInField('firstname', 'Hedley'); + $I->fillField('firstname', 'samedi'); + $I->click('input[type=submit]'); + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + //Check if edit work + // $I->see('samedi'); + } + + /** + * @group mysql + */ + public function testDeleteAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + $I->click(['link' => 'Delete']); + $I->see('customer was deleted successfully'); + + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->cantSee('Hedley'); + } + + /** + * @group mysql + */ + public function after(AcceptanceTester $I): void + { + /*$I->deleteFile(Fixtures::get('controller')); + $I->deleteFile(Fixtures::get('model')); + $I->deleteFile(Fixtures::get('layout')); + $I->deleteDir(Fixtures::get('views'));*/ + } +} diff --git a/tests/acceptance/Web/Template/volt/ScaffoldVoltCest.php b/tests/acceptance/Web/Template/volt/ScaffoldVoltCest.php new file mode 100644 index 000000000..63c78430b --- /dev/null +++ b/tests/acceptance/Web/Template/volt/ScaffoldVoltCest.php @@ -0,0 +1,216 @@ +amOnPage('/webtools.php/scaffold/generate'); + $I->selectOption('form select[name=templateEngine]', 'Volt'); + + Fixtures::add('tablename', 'customers'); + + $I->selectOption('form select[name=tableName]', Fixtures::get('tablename')); + + $basePath = $I->grabValueFrom('#basePath'); + Fixtures::add('base_path', $basePath); + + $I->fillField('modelsNamespace', $namespace); + $I->checkOption('#force'); + $I->click('input[type=submit]'); + $I->see('Migrations'); + $I->see('All migrations that we managed to find'); + + //add namespace in loader file + $loaderFile = $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'config' . + DIRECTORY_SEPARATOR . 'loader.php'; + + $content = file_get_contents($loaderFile); + + //Add namespace + $returnLine = "\r\n"; + + $content .= $returnLine . + '$loader->registerNamespaces(' . + $returnLine . '[ '. + '"'.$namespace.'" => $config->application->modelsDir' . + $returnLine . ' ]' . + $returnLine . ');'; + + file_put_contents($loaderFile, $content); + } + + /** + * @group mysql + */ + public function testGenScaffoldFileExist(AcceptanceTester $I): void + { + $basePath = Fixtures::get('base_path'); + + Fixtures::add('controller', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'controllers' . + DIRECTORY_SEPARATOR . 'CustomersController.php'); + + Fixtures::add('model', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'models' . + DIRECTORY_SEPARATOR . 'Customers.php'); + + Fixtures::add('layout', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'layouts' . + DIRECTORY_SEPARATOR . 'customers.volt'); + + Fixtures::add('views', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers'); + + Fixtures::add('views_edit', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'edit.volt'); + + Fixtures::add('views_index', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'index.volt'); + + Fixtures::add('views_new', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'new.volt'); + + Fixtures::add('views_search', $basePath . + DIRECTORY_SEPARATOR . 'app' . + DIRECTORY_SEPARATOR . 'views' . + DIRECTORY_SEPARATOR . 'customers' . + DIRECTORY_SEPARATOR . 'search.volt'); + + $I->seeFileFound(Fixtures::get('controller')); + $I->seeFileFound(Fixtures::get('model')); + $I->seeFileFound(Fixtures::get('layout')); + $I->seeFileFound(Fixtures::get('views_edit')); + $I->seeFileFound(Fixtures::get('views_index')); + $I->seeFileFound(Fixtures::get('views_search')); + } + + /** + * @group mysql + */ + public function testSearchAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename')); + $I->see(Fixtures::get('tablename')); + $I->see('Search '.Fixtures::get('tablename')); + $I->see('Dateofbirth'); + $I->fillField('dateofbirth', '2019-04-17'); + $I->click('input[type=submit]'); + + $I->see('Brandon'); + } + + /** + * @group mysql + */ + public function testSearchButtonAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename').'/search'); + $I->see('Search result'); + + $I->click("#next"); + + $I->see("K1S6X"); + + $I->click("#previous"); + + $I->see("W2Q7K"); + + $I->click("#last"); + + $I->see("N2Z7T"); + + $I->click("#first"); + + $I->see("W2Q7K"); + } + + + /** + * @group mysql + */ + public function testNewAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename').'/new'); + $I->see('Create '.Fixtures::get('tablename')); + $I->fillField('firstname', 'jeremy'); + $I->fillField('surname', 'jenovateurs'); + $I->fillField('membertype', 'aaa'); + $I->fillField('dateofbirth', '2019-04-17'); + $I->click('input[type=submit]'); + } + + /** + * @group mysql + */ + public function testEditAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + $I->click(['link' => 'Edit']); + $I->seeInField('firstname', 'Lillian'); + $I->fillField('firstname', 'samedi'); + $I->click('input[type=submit]'); + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + //Check if edit work + // $I->see('samedi'); + } + + /** + * @group mysql + */ + public function testDeleteAction(AcceptanceTester $I): void + { + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->see('Search result'); + $I->click(['link' => 'Delete']); + $I->see('customer was deleted successfully'); + + $I->amOnPage('/'.Fixtures::get('tablename'). + '/search'); + $I->cantSee('samedi'); + } + + /** + * @group mysql + */ + public function after(AcceptanceTester $I): void + { + $I->deleteFile(Fixtures::get('controller')); + $I->deleteFile(Fixtures::get('model')); + $I->deleteFile(Fixtures::get('layout')); + $I->deleteDir(Fixtures::get('views')); + } +}