From 0354c84367cede7d738c79e9c0f116b2c0a178b2 Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 14 Dec 2017 16:47:31 +0100 Subject: Refs: #5281@2h; Code Analysis first bugfix - Rebased #5006 upoon master and created #5281 from #5006 - Setup regression test based on client provided input - Fixed bug with multiple spurious directory occurances --- spec/fixtures/regression-5281.zip | Bin 0 -> 21642 bytes .../OFFRE_SNTYO_1_20170820120001/calendriers.xml | 145 ++++ .../OFFRE_SNTYO_1_20170820120001/commun.xml | 30 + .../offre_C00166_05.xml | 459 ++++++++++ .../offre_C00168_08.xml | 667 +++++++++++++++ .../offre_C00171_11.xml | 473 ++++++++++ .../OFFRE_SNTYO_2_20170820120001/calendriers.xml | 145 ++++ .../OFFRE_SNTYO_2_20170820120001/commun.xml | 30 + .../offre_C00163_01.xml | 497 +++++++++++ .../offre_C00164_03.xml | 951 +++++++++++++++++++++ .../offre_C00165_04.xml | 803 +++++++++++++++++ spec/services/zip_service_spec.rb | 26 +- 12 files changed, 4222 insertions(+), 4 deletions(-) create mode 100644 spec/fixtures/regression-5281.zip create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/calendriers.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/commun.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00166_05.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00168_08.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00171_11.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/calendriers.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/commun.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00163_01.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00164_03.xml create mode 100644 spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00165_04.xml (limited to 'spec') diff --git a/spec/fixtures/regression-5281.zip b/spec/fixtures/regression-5281.zip new file mode 100644 index 000000000..2ff4ec66d Binary files /dev/null and b/spec/fixtures/regression-5281.zip differ diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/calendriers.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/calendriers.xml new file mode 100644 index 000000000..bc2b63527 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/calendriers.xml @@ -0,0 +1,145 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + + 2017-06-25T00:00:00 + 2017-12-31T00:00:00 + + + + + Semaine + + + Monday + + + Tuesday + + + Wednesday + + + Thursday + + + Friday + + + + + Fin de semaine + + + Saturday + + + Sunday + + + + + Semaine vacances + + + Monday + + + Tuesday + + + Wednesday + + + Thursday + + + Friday + + + + + WE vacances + + + Saturday + + + Sunday + + + + + Service spécial + + + Restriction + + + + + + + + + + + + + + + + + + + + + + + + + + + 2017-07-05 + + true + + + 2017-08-14 + + false + + + 2017-08-15 + + false + + + 2017-08-16 + + false + + + 2017-06-25T00:00:00 + 2017-07-01T00:00:00 + + + 2017-07-10T00:00:00 + 2017-08-31T00:00:00 + + + 2017-09-01T00:00:00 + 2017-12-31T00:00:00 + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/commun.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/commun.xml new file mode 100644 index 000000000..b6337b65f --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/commun.xml @@ -0,0 +1,30 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + + + + note numéro 1 + 1 + + + + note numéro 2 + 2 + + + + note numéro 3 + 3 + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00166_05.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00166_05.xml new file mode 100644 index 000000000..fac9a3187 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00166_05.xml @@ -0,0 +1,459 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 5 + + + + + + + de rambouillet vers orphin + version="any" + outbound + + + + + de Orphin vers rambouillet + version="any" + inbound + + + + + vers orphin + + + vers rambouillet + + + vers orphin + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Par là + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Mission 1 + 05011 + + + Mission 2 + 05021 + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL 1 + + + + + + cannotBoardAndAlightInSameZone + + + ITL 2 + + + + + + cannotBoardAndAlightInSameZone + + + + + + + + Course 1 s note 1 + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 08:01:00.000 + 0 + 08:02:00.000 + 0 + + + 08:10:00.000 + 0 + 08:11:00.000 + 0 + + + 08:15:00.000 + 0 + 08:16:00.000 + 0 + + + 08:18:00.000 + 0 + 08:19:00.000 + 0 + + + 08:21:00.000 + 0 + 08:22:00.000 + 0 + + + + + Course 1 we not 2 + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 09:01:00.000 + 0 + 09:02:00.000 + 0 + + + 09:10:00.000 + 0 + 09:11:00.000 + 0 + + + 09:15:00.000 + 0 + 09:16:00.000 + 0 + + + 09:18:00.000 + 0 + 09:19:00.000 + 0 + + + 09:21:00.000 + 0 + 09:22:00.000 + 0 + + + + + Course 1 exceptionnel note 1 et 2 + + + + version="any" + + + + version="any" + + + + version="any" + version="any" + + + + version="any" + + version="any" + + + + 10:01:00.000 + 0 + 10:02:00.000 + 0 + + + 10:10:00.000 + 0 + 10:11:00.000 + 0 + + + 10:15:00.000 + 0 + 10:16:00.000 + 0 + + + 10:18:00.000 + 0 + 10:19:00.000 + 0 + + + 10:21:00.000 + 0 + 10:22:00.000 + 0 + + + + + Course 1 semaine en vacances et exclusions note 3 + + + + version="any" + + + + version="any" + + + + version="any" + version="any" + + + + version="any" + + version="any" + + + + 11:01:00.000 + 0 + 11:02:00.000 + 0 + + + 11:10:00.000 + 0 + 11:11:00.000 + 0 + + + 11:15:00.000 + 0 + 11:16:00.000 + 0 + + + 11:18:00.000 + 0 + 11:19:00.000 + 0 + + + 11:21:00.000 + 0 + 11:22:00.000 + 0 + + + + + Course 1 semaine note 3 + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 13:01:00.000 + 0 + 13:02:00.000 + 0 + + + 13:10:00.000 + 0 + 13:11:00.000 + 0 + + + 13:15:00.000 + 0 + 13:16:00.000 + 0 + + + 13:18:00.000 + 0 + 13:19:00.000 + 0 + + + 13:21:00.000 + 0 + 13:22:00.000 + 0 + + + + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00168_08.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00168_08.xml new file mode 100644 index 000000000..77116b8b4 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00168_08.xml @@ -0,0 +1,667 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 8 + + + + + + + route 1 + version="any" + outbound + + + + + route 2 + version="any" + outbound + + + + + route 3 + version="any" + inbound + + + + + route 4 + version="any" + inbound + + + + + rambouillet vers auffargis + + + rambouillet vers les essarts + + + auffargis vers rambouillet + + + les essarts vers rambouillet + + + de rambouillet vers auffargis + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + de rambouillet aux essarts via le perray + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + auffargis SNCF rambouillet sncf + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + les essarts SNCF rambouillet sncf + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Auffargis route du perray + 1234 + + + les essarts sncf + 2345 + + + rambouillet + 2345 + + + + + + + + + + + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL 1 + + + + + cannotBoardAndAlightInSameZone + + + ITL 2 + + + + + cannotBoardAndAlightInSameZone + + + + + + + + Course 1 direction auffargis + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:01:00.000 + 0 + 06:01:00.000 + 0 + + + 06:04:00.000 + 0 + 06:04:00.000 + 0 + + + 06:06:00.000 + 0 + 06:06:00.000 + 0 + + + 06:08:00.000 + 0 + 06:08:00.000 + 0 + + + 06:18:00.000 + 0 + 06:18:00.000 + 0 + + + 06:21:00.000 + 0 + 06:21:00.000 + 0 + + + 06:24:00.000 + 0 + 06:24:00.000 + 0 + + + + + Course 1 directionles essarts + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:01:00.000 + 0 + 07:01:00.000 + 0 + + + 07:04:00.000 + 0 + 07:04:00.000 + 0 + + + 07:07:00.000 + 0 + 07:07:00.000 + 0 + + + 07:08:00.000 + 0 + 07:08:00.000 + 0 + + + 07:18:00.000 + 0 + 07:18:00.000 + 0 + + + 07:21:00.000 + 0 + 07:21:00.000 + 0 + + + 07:23:00.000 + 0 + 07:23:00.000 + 0 + + + 07:29:00.000 + 0 + 07:29:00.000 + 0 + + + + + Course 1 direction rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 09:01:00.000 + 0 + 09:01:00.000 + 0 + + + 09:04:00.000 + 0 + 09:04:00.000 + 0 + + + 09:06:00.000 + 0 + 09:06:00.000 + 0 + + + 09:16:00.000 + 0 + 09:16:00.000 + 0 + + + 09:18:00.000 + 0 + 09:18:00.000 + 0 + + + 09:21:00.000 + 0 + 09:21:00.000 + 0 + + + 09:24:00.000 + 0 + 09:24:00.000 + 0 + + + + + Course 1 les essarts rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 10:01:00.000 + 0 + 10:01:00.000 + 0 + + + 10:04:00.000 + 0 + 10:04:00.000 + 0 + + + 10:07:00.000 + 0 + 10:07:00.000 + 0 + + + 10:08:00.000 + 0 + 10:08:00.000 + 0 + + + 10:18:00.000 + 0 + 10:18:00.000 + 0 + + + 10:21:00.000 + 0 + 10:21:00.000 + 0 + + + 10:23:00.000 + 0 + 10:23:00.000 + 0 + + + 10:29:00.000 + 0 + 10:29:00.000 + 0 + + + + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00171_11.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00171_11.xml new file mode 100644 index 000000000..9d5309d60 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_1_20170820120001/offre_C00171_11.xml @@ -0,0 +1,473 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 11 + + + + + + + route 1 + version="any" + outbound + + + + + route 2 + version="any" + inbound + + + + + Rambouillet Auneau + + + Auneau Rambouillet + + + orsonville eglise + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + auneau SNCF + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + orsonville rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + auneau SNCF rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Vers orsonville + 11011 + + + vers auneau + 11021 + + + vers rambouillet + 11031 + + + + + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL 1 + + + + + cannotBoardAndAlightInSameZone + + + ITL 2 + + + + + cannotBoardAndAlightInSameZone + + + + + + + + Course 1 direction orsonville + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 10:58:00.000 + 0 + 10:59:00.000 + 0 + + + 11:03:00.000 + 0 + 11:04:00.000 + 0 + + + 11:10:00.000 + 0 + 11:11:00.000 + 0 + + + 11:17:00.000 + 0 + 11:18:00.000 + 0 + + + + + Course 1 direction Auneau sncf + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 14:58:00.000 + 0 + 14:59:00.000 + 0 + + + 15:03:00.000 + 0 + 15:04:00.000 + 0 + + + 15:10:00.000 + 0 + 15:11:00.000 + 0 + + + 15:17:00.000 + 0 + 15:18:00.000 + 0 + + + 15:22:00.000 + 0 + 15:23:00.000 + 0 + + + + + direction rambouillet retour + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 20:58:00.000 + 0 + 20:59:00.000 + 0 + + + 21:03:00.000 + 0 + 21:04:00.000 + 0 + + + 21:10:00.000 + 0 + 21:11:00.000 + 0 + + + 21:17:00.000 + 0 + 21:18:00.000 + 0 + + + + + de auneau sncf à rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 23:58:00.000 + 0 + 23:59:00.000 + 0 + + + 00:03:00.000 + 1 + 00:04:00.000 + 1 + + + 00:10:00.000 + 1 + 00:11:00.000 + 1 + + + 00:13:00.000 + 1 + 00:14:00.000 + 1 + + + 00:17:00.000 + 1 + 00:18:00.000 + 1 + + + + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/calendriers.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/calendriers.xml new file mode 100644 index 000000000..bc2b63527 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/calendriers.xml @@ -0,0 +1,145 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + + 2017-06-25T00:00:00 + 2017-12-31T00:00:00 + + + + + Semaine + + + Monday + + + Tuesday + + + Wednesday + + + Thursday + + + Friday + + + + + Fin de semaine + + + Saturday + + + Sunday + + + + + Semaine vacances + + + Monday + + + Tuesday + + + Wednesday + + + Thursday + + + Friday + + + + + WE vacances + + + Saturday + + + Sunday + + + + + Service spécial + + + Restriction + + + + + + + + + + + + + + + + + + + + + + + + + + + 2017-07-05 + + true + + + 2017-08-14 + + false + + + 2017-08-15 + + false + + + 2017-08-16 + + false + + + 2017-06-25T00:00:00 + 2017-07-01T00:00:00 + + + 2017-07-10T00:00:00 + 2017-08-31T00:00:00 + + + 2017-09-01T00:00:00 + 2017-12-31T00:00:00 + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/commun.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/commun.xml new file mode 100644 index 000000000..b6337b65f --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/commun.xml @@ -0,0 +1,30 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + + + + note numéro 1 + 1 + + + + note numéro 2 + 2 + + + + note numéro 3 + 3 + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00163_01.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00163_01.xml new file mode 100644 index 000000000..b3bccc74f --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00163_01.xml @@ -0,0 +1,497 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 01 + + + + + + + itinéraire rambouillet vers poigny + version="any" + outbound + + + + + itinéraire poigny vers rambouillet + version="any" + inbound + + + + + poigny feuillettes + + + rambouillet SNCF + + + rambouillet vers poigny + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + poigny vers rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Mission 1 + 01101 + + + Mission 2 + 01201 + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL 1 + + + + + cannotBoardAndAlightInSameZone + + + ITL 2 + + + + + cannotBoardAndAlightInSameZone + + + + + + + + Course 01 rambouillet vers poigny + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:01:00.000 + 0 + 05:01:00.000 + 0 + + + 05:09:00.000 + 0 + 05:09:00.000 + 0 + + + 05:11:00.000 + 0 + 05:11:00.000 + 0 + + + 05:13:00.000 + 0 + 05:13:00.000 + 0 + + + 05:15:00.000 + 0 + 05:15:00.000 + 0 + + + + + Course 02 rambouillet vers poigny + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:01:00.000 + 0 + 06:01:00.000 + 0 + + + 06:09:00.000 + 0 + 06:09:00.000 + 0 + + + 06:11:00.000 + 0 + 06:11:00.000 + 0 + + + 06:13:00.000 + 0 + 06:13:00.000 + 0 + + + 06:15:00.000 + 0 + 06:15:00.000 + 0 + + + + + Course 03 rambouillet vers poigny + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:31:00.000 + 0 + 06:31:00.000 + 0 + + + 06:39:00.000 + 0 + 06:39:00.000 + 0 + + + 06:41:00.000 + 0 + 06:41:00.000 + 0 + + + 06:43:00.000 + 0 + 06:43:00.000 + 0 + + + 06:45:00.000 + 0 + 06:45:00.000 + 0 + + + + + Course 01 poigny vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:21:00.000 + 0 + 05:21:00.000 + 0 + + + 05:29:00.000 + 0 + 05:29:00.000 + 0 + + + 05:31:00.000 + 0 + 05:31:00.000 + 0 + + + 05:33:00.000 + 0 + 05:33:00.000 + 0 + + + 05:35:00.000 + 0 + 05:35:00.000 + 0 + + + + + Course 02 poigny vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:21:00.000 + 0 + 06:21:00.000 + 0 + + + 06:29:00.000 + 0 + 06:29:00.000 + 0 + + + 06:31:00.000 + 0 + 06:31:00.000 + 0 + + + 06:33:00.000 + 0 + 06:33:00.000 + 0 + + + 06:35:00.000 + 0 + 06:35:00.000 + 0 + + + + + Course 03 poigny vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:51:00.000 + 0 + 07:51:00.000 + 0 + + + 07:59:00.000 + 0 + 07:59:00.000 + 0 + + + 08:01:00.000 + 0 + 08:01:00.000 + 0 + + + 08:03:00.000 + 0 + 08:03:00.000 + 0 + + + 08:05:00.000 + 0 + 08:05:00.000 + 0 + + + + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00164_03.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00164_03.xml new file mode 100644 index 000000000..56d6ce805 --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00164_03.xml @@ -0,0 +1,951 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 03 + + + + + + + route 1 + version="any" + outbound + + + + + route 2 + version="any" + inbound + + + + + rambouillet vers pontevrard + + + pontevrard vers rambouillet + + + omnibus pontevrard + + + + + + true + true + + + + false + true + + + + false + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + omnibus rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + semi direct pontevrard + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + semi direct rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + pontevrard omni + 03011 + + + dourdan omni + 03021 + + + pontevrard sd + 03012 + + + dourdan sd + 03022 + + + + + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL 1 + + + + + cannotBoardAndAlightInSameZone + + + ITL 2 + + + + + cannotBoardAndAlightInSameZone + + + + + + + + Course 1 omni vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:00:00.000 + 0 + 05:01:00.000 + 0 + + + 05:04:00.000 + 0 + 05:04:00.000 + 0 + + + 05:08:00.000 + 0 + 05:09:00.000 + 0 + + + 05:13:00.000 + 0 + 05:13:00.000 + 0 + + + 05:18:00.000 + 0 + 05:18:00.000 + 0 + + + 05:21:00.000 + 0 + 05:22:00.000 + 0 + + + 05:25:00.000 + 0 + 05:26:00.000 + 0 + + + + + Course 2 omni vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:00:00.000 + 0 + 06:01:00.000 + 0 + + + 06:04:00.000 + 0 + 06:04:00.000 + 0 + + + 06:08:00.000 + 0 + 06:09:00.000 + 0 + + + 06:13:00.000 + 0 + 06:13:00.000 + 0 + + + 06:18:00.000 + 0 + 06:18:00.000 + 0 + + + 06:21:00.000 + 0 + 06:22:00.000 + 0 + + + 06:25:00.000 + 0 + 06:26:00.000 + 0 + + + + + Course 3 omni vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:00:00.000 + 0 + 07:01:00.000 + 0 + + + 07:04:00.000 + 0 + 07:04:00.000 + 0 + + + 07:08:00.000 + 0 + 07:09:00.000 + 0 + + + 07:13:00.000 + 0 + 07:13:00.000 + 0 + + + 07:18:00.000 + 0 + 07:18:00.000 + 0 + + + 07:21:00.000 + 0 + 07:22:00.000 + 0 + + + 07:25:00.000 + 0 + 07:26:00.000 + 0 + + + + + Course 4 sd vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:30:00.000 + 0 + 05:31:00.000 + 0 + + + 05:37:00.000 + 0 + 05:37:00.000 + 0 + + + 05:40:00.000 + 0 + 05:41:00.000 + 0 + + + 05:44:00.000 + 0 + 05:45:00.000 + 0 + + + + + Course 5 sd vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:30:00.000 + 0 + 06:31:00.000 + 0 + + + 06:37:00.000 + 0 + 06:37:00.000 + 0 + + + 06:40:00.000 + 0 + 06:41:00.000 + 0 + + + 06:44:00.000 + 0 + 06:45:00.000 + 0 + + + + + + + Course 6 sd vers pontevrard + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:30:00.000 + 0 + 07:31:00.000 + 0 + + + 07:37:00.000 + 0 + 07:37:00.000 + 0 + + + 07:40:00.000 + 0 + 07:41:00.000 + 0 + + + 07:44:00.000 + 0 + 07:45:00.000 + 0 + + + + + Course 1 omni vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:20:00.000 + 0 + 05:21:00.000 + 0 + + + 05:24:00.000 + 0 + 05:24:00.000 + 0 + + + 05:28:00.000 + 0 + 05:29:00.000 + 0 + + + 05:33:00.000 + 0 + 05:33:00.000 + 0 + + + 05:38:00.000 + 0 + 05:38:00.000 + 0 + + + 05:41:00.000 + 0 + 05:42:00.000 + 0 + + + 05:45:00.000 + 0 + 05:46:00.000 + 0 + + + + + Course 2 omni vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:20:00.000 + 0 + 06:21:00.000 + 0 + + + 06:24:00.000 + 0 + 06:24:00.000 + 0 + + + 06:28:00.000 + 0 + 06:29:00.000 + 0 + + + 06:33:00.000 + 0 + 06:33:00.000 + 0 + + + 06:38:00.000 + 0 + 06:38:00.000 + 0 + + + 06:41:00.000 + 0 + 06:42:00.000 + 0 + + + 06:45:00.000 + 0 + 06:46:00.000 + 0 + + + + + Course 3 omni vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:20:00.000 + 0 + 07:21:00.000 + 0 + + + 07:24:00.000 + 0 + 07:24:00.000 + 0 + + + 07:28:00.000 + 0 + 07:29:00.000 + 0 + + + 07:33:00.000 + 0 + 07:33:00.000 + 0 + + + 07:38:00.000 + 0 + 07:38:00.000 + 0 + + + 07:41:00.000 + 0 + 07:42:00.000 + 0 + + + 07:45:00.000 + 0 + 07:46:00.000 + 0 + + + + + Course 4 sd vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:40:00.000 + 0 + 05:41:00.000 + 0 + + + 05:47:00.000 + 0 + 05:47:00.000 + 0 + + + 05:50:00.000 + 0 + 05:51:00.000 + 0 + + + 05:54:00.000 + 0 + 05:55:00.000 + 0 + + + + + Course 5 sd vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:40:00.000 + 0 + 06:41:00.000 + 0 + + + 06:47:00.000 + 0 + 06:47:00.000 + 0 + + + 06:50:00.000 + 0 + 06:51:00.000 + 0 + + + 06:54:00.000 + 0 + 06:55:00.000 + 0 + + + + + Course 6 sd vers rambouillet + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:40:00.000 + 0 + 07:41:00.000 + 0 + + + 07:47:00.000 + 0 + 07:47:00.000 + 0 + + + 07:50:00.000 + 0 + 07:51:00.000 + 0 + + + 07:54:00.000 + 0 + 07:55:00.000 + 0 + + + + + + + + + diff --git a/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00165_04.xml b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00165_04.xml new file mode 100644 index 000000000..714e9565f --- /dev/null +++ b/spec/fixtures/regression-5281/OFFRE_SNTYO_2_20170820120001/offre_C00165_04.xml @@ -0,0 +1,803 @@ + + + 2017-02-14T09:13:51.0 + CITYWAY + + + Ligne 4 + + + + + + + route 1 + version="any" + outbound + + + + + route 2 + version="any" + inbound + + + + + rambouillet vers bullion + + + bullon vers rambouillet + + + rambouillet vers bullion + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + bullion vers rambouillet + + + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + + true + true + + + passenger + + + Mission 1 + 05010 + + + Mission 2 + 05021 + + + + + + + + + + + + + + + + + + + + + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + + version="any" + + + ITL RBT clairefontaine + + + + + + + cannotBoardAndAlightInSameZone + + + ITL clairefontaine RBT + + + + + + + cannotBoardAndAlightInSameZone + + + ITL bullion + + + + + + + cannotBoardAndAlightInSameZone + + + + + + + + C1 bullion semaine + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:01:00.000 + 0 + 06:01:00.000 + 0 + + + 06:05:00.000 + 0 + 06:05:00.000 + 0 + + + 06:09:00.000 + 0 + 06:09:00.000 + 0 + + + 06:12:00.000 + 0 + 06:12:00.000 + 0 + + + 06:15:00.000 + 0 + 06:15:00.000 + 0 + + + 06:21:00.000 + 0 + 06:22:00.000 + 0 + + + 06:25:00.000 + 0 + 06:25:00.000 + 0 + + + 06:29:00.000 + 0 + 06:29:00.000 + 0 + + + 06:31:00.000 + 0 + 06:32:00.000 + 0 + + + 06:34:00.000 + 0 + 06:35:00.000 + 0 + + + + + C bullion WE + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 07:01:00.000 + 0 + 07:01:00.000 + 0 + + + 07:05:00.000 + 0 + 07:05:00.000 + 0 + + + 07:09:00.000 + 0 + 07:09:00.000 + 0 + + + 07:12:00.000 + 0 + 07:12:00.000 + 0 + + + 07:15:00.000 + 0 + 07:15:00.000 + 0 + + + 07:21:00.000 + 0 + 07:22:00.000 + 0 + + + 07:25:00.000 + 0 + 07:25:00.000 + 0 + + + 07:29:00.000 + 0 + 07:29:00.000 + 0 + + + 07:31:00.000 + 0 + 07:32:00.000 + 0 + + + 07:34:00.000 + 0 + 07:35:00.000 + 0 + + + + + C bullion WE + + + + version="any" + + + + version="any" + version="any" + + + + version="any" + + version="any" + + + + 08:01:00.000 + 0 + 08:01:00.000 + 0 + + + 08:05:00.000 + 0 + 08:05:00.000 + 0 + + + 08:09:00.000 + 0 + 08:09:00.000 + 0 + + + 08:12:00.000 + 0 + 08:12:00.000 + 0 + + + 08:15:00.000 + 0 + 08:15:00.000 + 0 + + + 08:21:00.000 + 0 + 08:22:00.000 + 0 + + + 08:25:00.000 + 0 + 08:25:00.000 + 0 + + + 08:29:00.000 + 0 + 08:29:00.000 + 0 + + + 08:31:00.000 + 0 + 08:32:00.000 + 0 + + + 08:34:00.000 + 0 + 08:35:00.000 + 0 + + + + + C rbt semaine + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 05:21:00.000 + 0 + 05:21:00.000 + 0 + + + 05:25:00.000 + 0 + 05:25:00.000 + 0 + + + 05:29:00.000 + 0 + 05:29:00.000 + 0 + + + 05:32:00.000 + 0 + 05:32:00.000 + 0 + + + 05:35:00.000 + 0 + 05:35:00.000 + 0 + + + 05:41:00.000 + 0 + 05:42:00.000 + 0 + + + 05:45:00.000 + 0 + 05:45:00.000 + 0 + + + 05:49:00.000 + 0 + 05:49:00.000 + 0 + + + 05:51:00.000 + 0 + 05:52:00.000 + 0 + + + 05:54:00.000 + 0 + 05:55:00.000 + 0 + + + + + C rbt we + + + + version="any" + + + + version="any" + + + + version="any" + + version="any" + + + + 06:21:00.000 + 0 + 06:21:00.000 + 0 + + + 06:25:00.000 + 0 + 06:25:00.000 + 0 + + + 06:29:00.000 + 0 + 06:29:00.000 + 0 + + + 06:32:00.000 + 0 + 06:32:00.000 + 0 + + + 06:35:00.000 + 0 + 06:35:00.000 + 0 + + + 06:41:00.000 + 0 + 06:42:00.000 + 0 + + + 06:45:00.000 + 0 + 06:45:00.000 + 0 + + + 06:49:00.000 + 0 + 06:49:00.000 + 0 + + + 06:51:00.000 + 0 + 06:52:00.000 + 0 + + + 06:54:00.000 + 0 + 06:55:00.000 + 0 + + + + + C rbt semaine et we + + + + version="any" + + + + version="any" + version="any" + + + + version="any" + + version="any" + + + + 07:21:00.000 + 0 + 07:21:00.000 + 0 + + + 07:25:00.000 + 0 + 07:25:00.000 + 0 + + + 07:29:00.000 + 0 + 07:29:00.000 + 0 + + + 07:32:00.000 + 0 + 07:32:00.000 + 0 + + + 07:35:00.000 + 0 + 07:35:00.000 + 0 + + + 07:41:00.000 + 0 + 07:42:00.000 + 0 + + + 07:45:00.000 + 0 + 07:45:00.000 + 0 + + + 07:49:00.000 + 0 + 07:49:00.000 + 0 + + + 07:51:00.000 + 0 + 07:52:00.000 + 0 + + + 07:54:00.000 + 0 + 07:55:00.000 + 0 + + + + + + + + + diff --git a/spec/services/zip_service_spec.rb b/spec/services/zip_service_spec.rb index 751e6c3f1..1eadaa3bf 100644 --- a/spec/services/zip_service_spec.rb +++ b/spec/services/zip_service_spec.rb @@ -67,7 +67,7 @@ RSpec.describe ZipService, type: :zip do end end - context 'one messed up' do + context 'one messed up' do let( :zip_name ){ 'one_messed_up.zip' } let( :zip_content ){ messed_up_referential_data } @@ -76,11 +76,30 @@ RSpec.describe ZipService, type: :zip do expected_foreign_lines: %w{C00110 C00111}, expected_spurious: %w{SPURIOUS1 SPURIOUS2} end - + + end + + # Regression treated in #5281 + context 'one_first_level_dir' do + let( :zip_data ){ File.read fixtures_path('regression-5281.zip') } + let( :zip_name ){ 'regression_5281' } + + let( :allowed_lines ){ + Set.new([*164..168, 171].map{|line| "C00#{line}"}) + } + + let( :subdirs ){ subject.to_a } + + it 'returns one not ok object' do + expect( subdirs.size ).to eq(1) + expect( subdirs.first ).not_to be_ok + expect( subdirs.first.spurious ).to eq(%w{OFFRE_SNTYO_1_20170820120001 OFFRE_SNTYO_2_20170820120001}) + end end + # Behaviour # --------- - def expect_correct_subdir subdir, expected_zip + def expect_correct_subdir subdir, expected_zip expect( subdir ).to be_ok expect( subdir.foreign_lines ).to be_empty expect( subdir.spurious ).to be_empty @@ -145,5 +164,4 @@ RSpec.describe ZipService, type: :zip do } end - end -- cgit v1.2.3 From 4613f02d52e2d8c9159633b6a45b8d0361759332 Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 14 Dec 2017 17:58:57 +0100 Subject: Refs: #5006@0.7h; CR changes from #5006 & staring error_messages in imports/show - Renaming as requested STIF::NetexFile::Frame.get_line_object_id -> get_sgort_id - working on error_messages for imports#show --- spec/lib/stif/netex_file/frame_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'spec') diff --git a/spec/lib/stif/netex_file/frame_spec.rb b/spec/lib/stif/netex_file/frame_spec.rb index eb80e7b14..506da2148 100644 --- a/spec/lib/stif/netex_file/frame_spec.rb +++ b/spec/lib/stif/netex_file/frame_spec.rb @@ -3,11 +3,11 @@ RSpec.describe STIF::NetexFile::Frame do context "line object id extraction" do it "gets the line object id if frame describes a line" do - expect( described_class.get_line_object_id('offre_C00109_10.xml') ).to eq('C00109') + expect( described_class.get_short_id('offre_C00109_10.xml') ).to eq('C00109') end it "gets nil if the frame does not describe a line" do - expect( described_class.get_line_object_id('commun.xml') ).to be_nil + expect( described_class.get_short_id('commun.xml') ).to be_nil end end end -- cgit v1.2.3 From b6067ba25bff1dc95975be49e3f9a02a5932202a Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 14 Dec 2017 21:25:24 +0100 Subject: Refs: #5281@0.33h; Speced Common Helper's string_keys_to_symbol --- spec/helpers/common_helper_spec.rb | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 spec/helpers/common_helper_spec.rb (limited to 'spec') diff --git a/spec/helpers/common_helper_spec.rb b/spec/helpers/common_helper_spec.rb new file mode 100644 index 000000000..186c4184e --- /dev/null +++ b/spec/helpers/common_helper_spec.rb @@ -0,0 +1,39 @@ +RSpec.describe CommonHelper do + + subject do + Object.new.extend( described_class ) + end + + describe 'string_keys_to_symbols' do + context 'nullpotency on symbol keys' do + it { expect(subject.string_keys_to_symbols({})).to eq({}) } + it do + expect(subject.string_keys_to_symbols( + a: 1, b: 2 + )).to eq(a: 1, b: 2) + end + end + + context 'changing string keys' do + it { expect(subject.string_keys_to_symbols('alpha' => 100)).to eq(alpha: 100) } + + it do + expect( subject.string_keys_to_symbols('a' => 10, b: 20) ) + .to eq(a: 10, b: 20) + end + it do + expect( subject.string_keys_to_symbols('a' => 10, 'b' => 20) ) + .to eq(a: 10, b: 20) + end + end + + context 'keys, not values, are changed' do + it do + expect(subject.string_keys_to_symbols(a: 'a', 'b' => 'b', 'c' => :c)) + .to eq(a: 'a', b: 'b', c: :c) + end + end + + + end +end -- cgit v1.2.3 From 443de38df52143f72d97308c28ac68f99e009757 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 15 Dec 2017 08:24:24 +0100 Subject: Fixes: #5281@1.2h; View specs and minor CR change from #5006 - CR change from #5006, severity of zip file messages :warning -> :error - View specs for showing import_messages --- spec/factories/import_messages.rb | 12 +++++++ spec/helpers/common_helper_spec.rb | 8 ++--- spec/support/referential.rb | 1 - spec/views/companies/edit.html.erb_spec.rb | 1 + spec/views/imports/show.html.slim_spec.rb | 42 ++++++++++++++++++++++++ spec/views/vehicle_journeys/new.html.erb_spec.rb | 1 + 6 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 spec/views/imports/show.html.slim_spec.rb (limited to 'spec') diff --git a/spec/factories/import_messages.rb b/spec/factories/import_messages.rb index 75f80566c..5d936679a 100644 --- a/spec/factories/import_messages.rb +++ b/spec/factories/import_messages.rb @@ -3,5 +3,17 @@ FactoryGirl.define do association :import association :resource, factory: :import_resource criticity :info + + factory :corrupt_zip_file do + message_key 'corrupt_zip_file' + message_attributes({ source_filename: 'political file' }) + criticity :error + end + + factory :inconsistent_zip_file do + message_key 'inconsistent_zip_file' + message_attributes({ source_filename: 'robert talking', spurious_dirs: %w{dogs and cats}.join }) + criticity :warning + end end end diff --git a/spec/helpers/common_helper_spec.rb b/spec/helpers/common_helper_spec.rb index 186c4184e..1ffdc5bab 100644 --- a/spec/helpers/common_helper_spec.rb +++ b/spec/helpers/common_helper_spec.rb @@ -4,7 +4,7 @@ RSpec.describe CommonHelper do Object.new.extend( described_class ) end - describe 'string_keys_to_symbols' do + describe 'string_keys_to_symbols' do context 'nullpotency on symbol keys' do it { expect(subject.string_keys_to_symbols({})).to eq({}) } it do @@ -14,9 +14,9 @@ RSpec.describe CommonHelper do end end - context 'changing string keys' do + context 'changing string keys' do it { expect(subject.string_keys_to_symbols('alpha' => 100)).to eq(alpha: 100) } - + it do expect( subject.string_keys_to_symbols('a' => 10, b: 20) ) .to eq(a: 10, b: 20) @@ -30,7 +30,7 @@ RSpec.describe CommonHelper do context 'keys, not values, are changed' do it do expect(subject.string_keys_to_symbols(a: 'a', 'b' => 'b', 'c' => :c)) - .to eq(a: 'a', b: 'b', c: :c) + .to eq(a: 'a', b: 'b', c: :c) end end diff --git a/spec/support/referential.rb b/spec/support/referential.rb index b615491da..7f56e5143 100644 --- a/spec/support/referential.rb +++ b/spec/support/referential.rb @@ -29,7 +29,6 @@ module ReferentialHelper end end - end end diff --git a/spec/views/companies/edit.html.erb_spec.rb b/spec/views/companies/edit.html.erb_spec.rb index 8aaf705ab..b85b9aa8b 100644 --- a/spec/views/companies/edit.html.erb_spec.rb +++ b/spec/views/companies/edit.html.erb_spec.rb @@ -9,6 +9,7 @@ describe "/companies/edit", :type => :view do describe "form" do it "should render input for name" do render + require 'pry'; binding.pry expect(rendered).to have_selector("form") do with_tag "input[type=text][name='company[name]'][value=?]", company.name end diff --git a/spec/views/imports/show.html.slim_spec.rb b/spec/views/imports/show.html.slim_spec.rb new file mode 100644 index 000000000..f30202231 --- /dev/null +++ b/spec/views/imports/show.html.slim_spec.rb @@ -0,0 +1,42 @@ +RSpec.describe '/imports/show', type: :view do + let(:workbench){ create :workbench } + let(:workbench_import){ create :workbench_import, workbench: workbench } + let!( :messages ) {[ + create(:corrupt_zip_file, import: workbench_import), + create(:inconsistent_zip_file, import: workbench_import), + ]} + + + before do + assign :import, workbench_import.decorate( context: {workbench: workbench} ) + render + end + + it 'shows the correct record...' do + # ... zip file name + expect(rendered).to have_selector('.dl-def') do + with_text workbench_import.file + end + + # ... messages + messages.each do | message | + # require 'htmlbeautifier' + # b = HtmlBeautifier.beautify(rendered, indent: ' ') + # require 'pry'; binding.pry + expect(rendered).to have_selector('dl#import_messages dt.import_message') do + with_text message.criticity + end + expect(rendered).to have_selector('dl#import_messages dd.import_message') do + with_text rendered_message( message ) + end + end + end + + + def rendered_message message + Object.new.extend(CommonHelper).tap do |helper| + return I18n.t(message.message_key, helper.string_keys_to_symbols( message.message_attributes )) + end + end + +end diff --git a/spec/views/vehicle_journeys/new.html.erb_spec.rb b/spec/views/vehicle_journeys/new.html.erb_spec.rb index 546e89ac8..40b7fb049 100644 --- a/spec/views/vehicle_journeys/new.html.erb_spec.rb +++ b/spec/views/vehicle_journeys/new.html.erb_spec.rb @@ -9,6 +9,7 @@ describe "/vehicle_journeys/new", :type => :view do it "renders _form" do render + require 'pry'; binding.pry expect(view).to render_template(:partial => "_form") end -- cgit v1.2.3