From 503f7545e5ec9138ab96fa97e5c1a0f0d2c643ff Mon Sep 17 00:00:00 2001 From: haogatyp Date: Tue, 14 Feb 2023 16:40:13 +0100 Subject: [PATCH 1/7] Add tests for Controller package --- Classes/Controller/AbstractController.php | 8 + Tests/Fixtures/Controller/documents.solr.json | 93 ++++ Tests/Fixtures/Controller/documents.xml | 158 +++++++ .../Controller/documents_calendar.xml | 155 +++++++ Tests/Fixtures/Controller/documents_local.xml | 155 +++++++ Tests/Fixtures/Controller/metadata.xml | 113 +++++ Tests/Fixtures/Controller/mets_audio.xml | 135 ++++++ Tests/Fixtures/Controller/mets_newspaper.xml | 125 +++++ .../Controller/mets_newspaper_issues.xml | 139 ++++++ Tests/Fixtures/Controller/mets_toolbox.xml | 145 ++++++ Tests/Fixtures/Controller/pages.xml | 430 ++++++++++++++++++ Tests/Fixtures/Controller/solrcores.xml | 13 + .../Controller/AbstractControllerTest.php | 87 ++++ .../Controller/AudioPlayerControllerTest.php | 49 ++ .../Controller/BasketControllerTest.php | 90 ++++ .../Controller/CalendarControllerTest.php | 112 +++++ .../Controller/CollectionControllerTest.php | 119 +++++ .../Controller/FeedsControllerTest.php | 62 +++ .../Controller/ListViewControllerTest.php | 78 ++++ .../Controller/MetadataControllerTest.php | 55 +++ .../Controller/NavigationControllerTest.php | 79 ++++ .../Controller/PageGridControllerTest.php | 58 +++ .../Controller/PageViewControllerTest.php | 76 ++++ .../Controller/SearchControllerTest.php | 148 ++++++ .../Controller/StatisticsControllerTest.php | 55 +++ .../TableOfContentsControllerTest.php | 63 +++ .../Controller/ToolboxControllerTest.php | 236 ++++++++++ composer.json | 1 + 28 files changed, 3037 insertions(+) create mode 100644 Tests/Fixtures/Controller/documents.solr.json create mode 100644 Tests/Fixtures/Controller/documents.xml create mode 100644 Tests/Fixtures/Controller/documents_calendar.xml create mode 100644 Tests/Fixtures/Controller/documents_local.xml create mode 100644 Tests/Fixtures/Controller/metadata.xml create mode 100644 Tests/Fixtures/Controller/mets_audio.xml create mode 100644 Tests/Fixtures/Controller/mets_newspaper.xml create mode 100644 Tests/Fixtures/Controller/mets_newspaper_issues.xml create mode 100644 Tests/Fixtures/Controller/mets_toolbox.xml create mode 100644 Tests/Fixtures/Controller/pages.xml create mode 100644 Tests/Fixtures/Controller/solrcores.xml create mode 100644 Tests/Functional/Controller/AbstractControllerTest.php create mode 100644 Tests/Functional/Controller/AudioPlayerControllerTest.php create mode 100644 Tests/Functional/Controller/BasketControllerTest.php create mode 100644 Tests/Functional/Controller/CalendarControllerTest.php create mode 100644 Tests/Functional/Controller/CollectionControllerTest.php create mode 100644 Tests/Functional/Controller/FeedsControllerTest.php create mode 100644 Tests/Functional/Controller/ListViewControllerTest.php create mode 100644 Tests/Functional/Controller/MetadataControllerTest.php create mode 100644 Tests/Functional/Controller/NavigationControllerTest.php create mode 100644 Tests/Functional/Controller/PageGridControllerTest.php create mode 100644 Tests/Functional/Controller/PageViewControllerTest.php create mode 100644 Tests/Functional/Controller/SearchControllerTest.php create mode 100644 Tests/Functional/Controller/StatisticsControllerTest.php create mode 100644 Tests/Functional/Controller/TableOfContentsControllerTest.php create mode 100644 Tests/Functional/Controller/ToolboxControllerTest.php diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php index a545ed05d..a5982a0dc 100644 --- a/Classes/Controller/AbstractController.php +++ b/Classes/Controller/AbstractController.php @@ -424,4 +424,12 @@ protected function buildSimplePagination(PaginationInterface $pagination, Pagina 'pagesG' => $pages ]; } + + /** + * For testing purposes only. + */ + public function setSettingsForTest($settings) + { + $this->settings = $settings; + } } diff --git a/Tests/Fixtures/Controller/documents.solr.json b/Tests/Fixtures/Controller/documents.solr.json new file mode 100644 index 000000000..23cc4f7fa --- /dev/null +++ b/Tests/Fixtures/Controller/documents.solr.json @@ -0,0 +1,93 @@ +[ + { + "id": "1001LOG_0000", + "uid": 1001, + "page": 1, + "thumbnail": "http://example.com/10Kepi_476251419/jpegs/00000003.tif.thumbnail.jpg", + "partof": 0, + "root": 0, + "sid": "LOG_0000", + "toplevel": true, + "type": "manuscript", + "type_faceting": "manuscript", + "title": "10 Keyboard pieces - Go. S. 658", + "record_id": "oai:de:slub-dresden:db:id-476251419", + "purl": "http://digital.slub-dresden.de/id476251419", + "location": "https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml", + "urn": "urn:nbn:de:bsz:14-db-id4762514197", + "collection": [ + "test-collection" + ], + "fulltext": "", + "title_usi": ["10 Keyboard pieces - Go. S. 658"], + "title_sorting": "10 Keyboard pieces - Go. S. 658", + "place_usi": ["[S.l.]"], + "year_usi": ["[1759-1800]"], + "type_usi": ["manuscript"], + "owner_usi": ["default"], + "serial_usi": [""], + "serial_sorting": "", + "useandreproduction_usi": ["CC BY-SA 4.0"], + "shelfmark_usi": ["Go. S. 658"], + "shelfmark_sorting": "Go. S. 658", + "volume": "", + "timestamp": "2021-12-03T09:42:55.867Z" + }, + { + "id": "1001LOG_0001", + "uid": 1001, + "page": 1, + "thumbnail": "http://example.com/10Kepi_476251419/jpegs/00000001.tif.thumbnail.jpg", + "partof": 0, + "root": 0, + "sid": "LOG_0001", + "toplevel": false, + "type": "other", + "type_faceting": "other", + "title": "Beigefügte Quellenbeschreibung", + "location": "https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml", + "collection": [ + "test-collection" + ], + "fulltext": "", + "title_usi": ["Beigefügte Quellenbeschreibung"], + "title_sorting": "Beigefügte Quellenbeschreibung", + "type_usi": ["other"], + "owner_usi": ["SLUB Dresden"], + "serial_usi": [""], + "serial_sorting": "", + "purl": "", + "urn": "", + "volume": "", + "record_id": "", + "timestamp": "2021-12-03T09:42:55.960Z" + }, + { + "id": "1001LOG_0002", + "uid": 1001, + "page": 1, + "thumbnail": "http://example.com/10Kepi_476251419/jpegs/00000002.tif.thumbnail.jpg", + "partof": 0, + "root": 0, + "sid": "LOG_0002", + "toplevel": false, + "type": "other", + "type_faceting": "other", + "title": "Beigefügtes Inhaltsverzeichnis", + "location": "https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml", + "collection": [], + "fulltext": "", + "title_usi": ["Beigefügtes Inhaltsverzeichnis"], + "title_sorting": "Beigefügtes Inhaltsverzeichnis", + "type_usi": ["other"], + "owner_usi": ["SLUB Dresden"], + "serial_usi": [""], + "serial_sorting": "", + "purl": "", + "urn": "", + "volume": "", + "record_id": "", + "timestamp": "2021-12-03T09:42:55.967Z" + } +] + diff --git a/Tests/Fixtures/Controller/documents.xml b/Tests/Fixtures/Controller/documents.xml new file mode 100644 index 000000000..cfae476c8 --- /dev/null +++ b/Tests/Fixtures/Controller/documents.xml @@ -0,0 +1,158 @@ + + + + 1001 + 0 + 1631775000 + 1631775000 + 2 + 0 + 0 + 0 + 0 + + + https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml + oai:de:slub-dresden:db:id-476251419 + 476251419 + 476251419 + urn:nbn:de:bsz:14-db-id4762514197 + http://digital.slub-dresden.de/id476251419 + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + + [1759-1800] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + 10001 + 1 + 0 + METS + + + + 1002 + 0 + 1631774000 + 1631774000 + 2 + 0 + 0 + 0 + 0 + + + https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_mets.xml + oai:de:slub-dresden:db:id-476248086 + 476248086 + 476248086 + urn:nbn:de:bsz:14-db-id4762480864 + http://digital.slub-dresden.de/id476248086 + 6 Sacred songs - Go. S. 591 + 6 Sacred songs - Go. S. 591 + + [1840-1860] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 6 Sacred songs - Go. S. 591 + 6 Sacred songs - Go. S. 591 + 10001 + 1 + 0 + METS + + + + 1003 + 0 + 1631776000 + 1631776000 + 2 + 0 + 0 + 0 + 0 + + + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml + oai:de:slub-dresden:db:id-476251729 + 476251729 + 476251729 + urn:nbn:de:bsz:14-db-id4762517292 + http://digital.slub-dresden.de/id476251729 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + + [um 1820] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + 3 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + 10001 + 1 + 0 + METS + + + + 1201 + 1001 + 1 + + + + docs_colls + + + + 1202 + 1002 + 1 + + + + docs_colls + + + + 1203 + 1003 + 1 + + + + docs_colls + + diff --git a/Tests/Fixtures/Controller/documents_calendar.xml b/Tests/Fixtures/Controller/documents_calendar.xml new file mode 100644 index 000000000..2560623c8 --- /dev/null +++ b/Tests/Fixtures/Controller/documents_calendar.xml @@ -0,0 +1,155 @@ + + + + 2001 + 0 + 1631775000 + 1631775000 + 2 + 0 + 0 + 0 + 0 + + + http://web:8001/Tests/Fixtures/Controller/mets_newspaper_issues.xml + oai:de:slub-dresden:db:id-476251419 + 476251419 + 476251419 + urn:nbn:de:bsz:14-db-id4762514197 + http://digital.slub-dresden.de/id476251419 + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + + [1759-1800] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + 10001 + 1 + 0 + METS + + + + 2002 + 0 + 1631774000 + 1631774000 + 2 + 0 + 0 + 0 + 0 + + + http://web:8001/Tests/Fixtures/Controller/mets_newspaper.xml + 476248086 + 476248086 + Newspaper for testing purposes + Newspaper for testing purposes + + [1840-1860] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 6 Sacred songs - Go. S. 591 + 6 Sacred songs - Go. S. 591 + 10001 + 1 + 0 + METS + + + + 2003 + 0 + 1631776000 + 1631776000 + 2 + 0 + 0 + 0 + 0 + + + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml + oai:de:slub-dresden:db:id-476251729 + 476251729 + 476251729 + urn:nbn:de:bsz:14-db-id4762517292 + http://digital.slub-dresden.de/id476251729 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + + [um 1820] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + 3 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + 10001 + 1 + 0 + METS + + + + 2201 + 2001 + 1 + + + + docs_colls + + + + 2202 + 2002 + 1 + + + + docs_colls + + + + 2203 + 2003 + 1 + + + + docs_colls + + diff --git a/Tests/Fixtures/Controller/documents_local.xml b/Tests/Fixtures/Controller/documents_local.xml new file mode 100644 index 000000000..2081bc1f9 --- /dev/null +++ b/Tests/Fixtures/Controller/documents_local.xml @@ -0,0 +1,155 @@ + + + + 2001 + 0 + 1631775000 + 1631775000 + 2 + 0 + 0 + 0 + 0 + + + http://web:8001/Tests/Fixtures/Controller/mets_audio.xml + oai:de:slub-dresden:db:id-476251419 + 476251419 + 476251419 + urn:nbn:de:bsz:14-db-id4762514197 + http://digital.slub-dresden.de/id476251419 + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + + [1759-1800] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 10 Keyboard pieces - Go. S. 658 + 10 Keyboard pieces - Go. S. 658 + 10001 + 1 + 0 + METS + + + + 2002 + 0 + 1631774000 + 1631774000 + 2 + 0 + 0 + 0 + 0 + + + http://web:8001/Tests/Fixtures/Controller/mets_toolbox.xml + 476248086 + 476248086 + 6 Sacred songs - Go. S. 591 + 6 Sacred songs - Go. S. 591 + + [1840-1860] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + + 6 Sacred songs - Go. S. 591 + 6 Sacred songs - Go. S. 591 + 10001 + 1 + 0 + METS + + + + 2003 + 0 + 1631776000 + 1631776000 + 2 + 0 + 0 + 0 + 0 + + + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml + oai:de:slub-dresden:db:id-476251729 + 476251729 + 476251729 + urn:nbn:de:bsz:14-db-id4762517292 + http://digital.slub-dresden.de/id476251729 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + + [um 1820] + [S.l.] + https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg + 59 + 0 + + + + + + + + 3 + 6 Fugues - Go. S. 317 + 6 Fugues - Go. S. 317 + 10001 + 1 + 0 + METS + + + + 2201 + 2001 + 1 + + + + docs_colls + + + + 2202 + 2002 + 1 + + + + docs_colls + + + + 2203 + 2003 + 1 + + + + docs_colls + + diff --git a/Tests/Fixtures/Controller/metadata.xml b/Tests/Fixtures/Controller/metadata.xml new file mode 100644 index 000000000..92109c3f6 --- /dev/null +++ b/Tests/Fixtures/Controller/metadata.xml @@ -0,0 +1,113 @@ + + + + 5001 + 2 + 1638557803 + 1631532810 + 1 + 0 + 0 + 0 + + 0 + 32 + + + title + 1 + + + 0 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + + + + 5002 + 2 + 1638557803 + 1631532810 + 1 + 0 + 0 + 0 + + 0 + 32 + + + collection + 1 + + + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 1 + 0 + + + + 5101 + 2 + 1638557803 + 1631532810 + 1 + 0 + 5001 + 5202 + concat(./mods:titleInfo/mods:nonSort," ",./mods:titleInfo/mods:title) + ./mods:titleInfo/mods:title + 0 + + + + 5102 + 2 + 1638557803 + 1631532810 + 1 + 0 + 5002 + 5202 + ./mods:relatedItem[@type="series"]/mods:titleInfo/mods:title[@lang="ger"] + + 0 + + + + 5201 + 0 + 1638557803 + 1631532810 + 1 + 0 + ALTO + alto + http://www.loc.gov/standards/alto/ns-v2# + Kitodo\Dlf\Format\Alto + + + 5202 + 0 + 1638557803 + 1631532810 + 1 + 0 + MODS + mods + http://www.loc.gov/mods/v3 + Kitodo\Dlf\Format\Mods + + diff --git a/Tests/Fixtures/Controller/mets_audio.xml b/Tests/Fixtures/Controller/mets_audio.xml new file mode 100644 index 000000000..59b84c36b --- /dev/null +++ b/Tests/Fixtures/Controller/mets_audio.xml @@ -0,0 +1,135 @@ + + + + + Kitodo - kitodo-ugh-2.1.3-kitodo-ugh-2.1.1-11-g4b06eaa - 30−July−2019 + + Kitodo + + + + + + + + Kitodo.Presentation Repository + 1234 + + + 123456789 + + 123456789 + + Document with audio for testing purposes + + + + Presentation Repository + + [1759-1800] + 1800 + + + + + + + + + + + Table of contents + + + + + + + + + + + Audio part + + + + + + + + + + + 24,5 x 33 cm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Fixtures/Controller/mets_newspaper.xml b/Tests/Fixtures/Controller/mets_newspaper.xml new file mode 100644 index 000000000..c1d50dec1 --- /dev/null +++ b/Tests/Fixtures/Controller/mets_newspaper.xml @@ -0,0 +1,125 @@ + + + + + Kitodo - kitodo-ugh-2.1.3-kitodo-ugh-2.1.1-11-g4b06eaa - 30−July−2019 + + Kitodo + + + + + + + + Kitodo.Presentation Repository + 1234 + + + 123456789 + + 123456789 + + Newspaper for testing purposes + + + + Presentation Repository + + [1759-1800] + 1800 + + + + + + + + + + + Table of contents + + + + + + + + + + + 24,5 x 33 cm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Fixtures/Controller/mets_newspaper_issues.xml b/Tests/Fixtures/Controller/mets_newspaper_issues.xml new file mode 100644 index 000000000..0dc419cb1 --- /dev/null +++ b/Tests/Fixtures/Controller/mets_newspaper_issues.xml @@ -0,0 +1,139 @@ + + + + + Kitodo - kitodo-ugh-2.1.3-kitodo-ugh-2.1.1-11-g4b06eaa - 30−July−2019 + + Kitodo + + + + + + + + Kitodo.Presentation Repository + 1234 + + + 123456789 + + 123456789 + + Newspaper for testing purposes + + + + Presentation Repository + + [1759-1800] + 1800 + + + + + + + + + + + Table of contents + + + + + + + + + + + 24,5 x 33 cm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Fixtures/Controller/mets_toolbox.xml b/Tests/Fixtures/Controller/mets_toolbox.xml new file mode 100644 index 000000000..8ec572a5d --- /dev/null +++ b/Tests/Fixtures/Controller/mets_toolbox.xml @@ -0,0 +1,145 @@ + + + + + Kitodo - kitodo-ugh-2.1.3-kitodo-ugh-2.1.1-11-g4b06eaa - 30−July−2019 + + Kitodo + + + + + + + + Kitodo.Presentation Repository + 1234 + + + 123456789 + + 123456789 + + Document with audio for testing purposes + + + + Presentation Repository + + [1759-1800] + 1800 + + + + + + + + + + + Table of contents + + + + + + + + + + + Audio part + + + + + + + + + + + 24,5 x 33 cm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/Fixtures/Controller/pages.xml b/Tests/Fixtures/Controller/pages.xml new file mode 100644 index 000000000..0ce9a6c6a --- /dev/null +++ b/Tests/Fixtures/Controller/pages.xml @@ -0,0 +1,430 @@ + + + + 1 + 0 + 1678381239 + 1678381239 + 2 + 0 + 1 + 0 + 0 + 0 + 256 + null + 0 + 0 + 0 + 0 + null + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 31 + 27 + 0 + Testseite + / + 1 + null + 0 + 0 + + 0 + 0 + + 0 + + 0 + 0 + null + 0 + + 0 + null + 0 + 0 + null + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + null + 0 + 0 + + + 2 + 1 + 1678700400 + 1678700400 + 2 + 0 + 1 + 0 + 0 + 0 + 128 + null + 0 + 0 + 0 + 0 + null + 0 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 31 + 27 + 0 + dlf + / + 254 + null + 0 + 0 + + 0 + 0 + + 0 + + 0 + 0 + null + 0 + + 0 + null + 0 + 0 + null + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 0 + + + null + 0 + 0 + + + + 1 + 1 + 1678881727 + 1678881663 + 2 + 0 + 0 + 0 + 0 + 256 + null + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + NEW SITE + + 1 + 3 + EXT:fluid_styled_content/Configuration/TypoScript/,EXT:dlf/Configuration/TypoScript/ + plugin.tx_dlf.persistence.storagePid = 2 + + + 0 + 0 + + + + 1 + + 1 + 1678700622 + 1678700488 + 2 + 0 + 0 + 0 + 0 + + 256 + 0 + 0 + 0 + 0 + null + 0 + a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} + 0 + 0 + 0 + 0 + 0 + 0 + 0 + list +
+ + null + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + default + 0 + + + null + null + 0 + + + 0 + 0 + dlf_collection + 1 + 0 + null + 0 + + + + 0 + 0 + 0 + + + + + + + 1 + + + 4 + + + -1 + + + 0 + + + 0 + + + + + + + + + + + + + + + ]]> + + 0 + + null + + + null + 124 + 0 + 0 + 0 + 0 +
+ + + 2 + + 1 + 1678700622 + 1678700488 + 2 + 0 + 0 + 0 + 0 + + 256 + 0 + 0 + 0 + 0 + null + 0 + a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} + 0 + 0 + 0 + 0 + 0 + 0 + 0 + list +
+ + null + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + default + 0 + + + null + null + 0 + + + 0 + 0 + dlf_calendar + 1 + 0 + null + 0 + + + + 0 + 0 + 0 + + + + + + + 1 + + + 4 + + + -1 + + + 0 + + + 0 + + + + + + + + + + + + + + + ]]> + + 0 + + null + + + null + 124 + 0 + 0 + 0 + 0 +
+ + + 1 + 0 + 1678700538 + 1678700538 + 2 + 0 + 0 + 0 + a:16:{s:16:"sys_language_uid";N;s:11:"l18n_parent";N;s:6:"hidden";N;s:8:"fe_group";N;s:5:"label";N;s:10:"index_name";N;s:12:"index_search";N;s:8:"oai_name";N;s:11:"description";N;s:8:"priority";N;s:9:"documents";N;s:5:"owner";N;s:12:"fe_cruser_id";N;s:13:"fe_admin_lock";N;s:6:"status";N;s:9:"thumbnail";N;} + 0 + + null + 0 + 0 + + test-collection + + test-collection + + + 3 + 0 + 0 + 0 + +
diff --git a/Tests/Fixtures/Controller/solrcores.xml b/Tests/Fixtures/Controller/solrcores.xml new file mode 100644 index 000000000..c49d6dfca --- /dev/null +++ b/Tests/Fixtures/Controller/solrcores.xml @@ -0,0 +1,13 @@ + + + + 4 + 0 + 1631254345 + 1631186030 + 1 + 0 + + + + diff --git a/Tests/Functional/Controller/AbstractControllerTest.php b/Tests/Functional/Controller/AbstractControllerTest.php new file mode 100644 index 000000000..43232c56d --- /dev/null +++ b/Tests/Functional/Controller/AbstractControllerTest.php @@ -0,0 +1,87 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Common\Solr; +use Kitodo\Dlf\Controller\AbstractController; +use Kitodo\Dlf\Domain\Repository\DocumentRepository; +use Kitodo\Dlf\Domain\Repository\SolrCoreRepository; +use Kitodo\Dlf\Tests\Functional\FunctionalTestCase; +use TYPO3\CMS\Extbase\Mvc\Request; +use TYPO3\CMS\Extbase\Mvc\Response; +use TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver; +use TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager; +use TYPO3\CMS\Fluid\View\StandaloneView; + + +abstract class AbstractControllerTest extends FunctionalTestCase +{ + + protected function setUpData($databaseFixtures): void + { + foreach ($databaseFixtures as $filePath) { + $this->importDataSet($filePath); + } + $this->persistenceManager = $this->objectManager->get(PersistenceManager::class); + $this->initializeRepository(DocumentRepository::class, 0); + } + + protected function setUpSolr($uid, $storagePid, $solrFixtures) + { + $this->solrCoreRepository = $this->initializeRepository(SolrCoreRepository::class, $storagePid); + + // Setup Solr only once for all tests in this suite + static $solr = null; + + if ($solr === null) { + $coreName = Solr::createCore(); + $solr = Solr::getInstance($coreName); + foreach ($solrFixtures as $filePath) { + $this->importSolrDocuments($solr, $filePath); + } + } + + $coreModel = $this->solrCoreRepository->findByUid($uid); + $coreModel->setIndexName($solr->core); + $this->solrCoreRepository->update($coreModel); + $this->persistenceManager->persistAll(); + } + + protected function setUpRequest($actionName, $arguments = []): Request + { + $request = new Request(); + $request->setControllerActionName($actionName); + $request->setArguments($arguments); + return $request; + } + + protected function setUpController($class, $settings, $templateHtml = ''): AbstractController + { + $view = new StandaloneView(); + $view->setTemplateSource($templateHtml); + + $controller = $this->get($class); + $viewResolverMock = $this->getMockBuilder( GenericViewResolver::class) + ->disableOriginalConstructor()->getMock(); + $viewResolverMock->expects(self::once())->method('resolve')->willReturn($view); + $controller->injectViewResolver($viewResolverMock); + $controller->setSettingsForTest($settings); + return $controller; + } + + protected function getResponse(): Response + { + return $this->objectManager->get(Response::class); + } + +} diff --git a/Tests/Functional/Controller/AudioPlayerControllerTest.php b/Tests/Functional/Controller/AudioPlayerControllerTest.php new file mode 100644 index 000000000..4fefc3253 --- /dev/null +++ b/Tests/Functional/Controller/AudioPlayerControllerTest.php @@ -0,0 +1,49 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\AudioPlayerController; + +class AudioPlayerControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents_local.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = [ + 'id'=> 2001, + ]; + $templateHtml = 'This template should be returned.'; + $controller = $this->setUpController(AudioPlayerController::class, [], $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + + $actual = $response->getContent(); + $expected = 'This template should be returned.'; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/BasketControllerTest.php b/Tests/Functional/Controller/BasketControllerTest.php new file mode 100644 index 000000000..0e2cab651 --- /dev/null +++ b/Tests/Functional/Controller/BasketControllerTest.php @@ -0,0 +1,90 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\BasketController; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; +use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; + +class BasketControllerTest extends AbstractControllerTest +{ + + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + static array $solrFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.solr.json' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + $this->setUpSolr(4, 2, self::$solrFixtures); + } + + /** + * @test + */ + public function canAddAction() + { + $controller = $this->setUpController(BasketController::class, []); + $request = $this->setUpRequest('add'); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + $GLOBALS['TSFE']->fe_user->id = 1; + + $this->expectException(StopActionException::class); + $controller->processRequest($request, $response); + } + + /** + * @test + */ + public function canBasketAction() + { + $controller = $this->setUpController(BasketController::class, []); + $request = $this->setUpRequest('add'); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + $GLOBALS['TSFE']->fe_user->id = 1; + $this->expectException(StopActionException::class); + $controller->processRequest($request, $response); + } + + /** + * @test + */ + public function canMainAction() + { + $templateHtml = ' + count:{countDocs} + entries: + '; + $controller = $this->setUpController(BasketController::class, [], $templateHtml); + $request = $this->setUpRequest('main', []); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + $GLOBALS['TSFE']->fe_user->id = 1; + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + count:0 + entries:0 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/CalendarControllerTest.php b/Tests/Functional/Controller/CalendarControllerTest.php new file mode 100644 index 000000000..8d03a1800 --- /dev/null +++ b/Tests/Functional/Controller/CalendarControllerTest.php @@ -0,0 +1,112 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\CalendarController; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; + +class CalendarControllerTest extends AbstractControllerTest +{ + + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/documents_calendar.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml', + __DIR__ . '/../../Fixtures/Controller/metadata.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canCalendarAction() + { + $settings = ['solrcore' => 4]; + $templateHtml = ' + calendarData: + + [{day.dayValue}:{day.issues.0.text}]x| + documentId:{documentId} + yearLinkTitle:{yearLinkTitle} + parentDocumentId:{parentDocumentId} + allYearDocTitle:{allYearDocTitle} + '; + $controller = $this->setUpController(CalendarController::class, $settings, $templateHtml); + $arguments = ['id' => 2001]; + $request = $this->setUpRequest('calendar', $arguments); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + calendarData: + xxx[01:issue 1]x[03:issue 2]x|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx| + xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx| + xx[01:issue 4]xxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx|xxxxxxx| + documentId:2001 + yearLinkTitle:Test Newspaper + parentDocumentId:1 + allYearDocTitle:Test Newspaper + '; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canMainAction() + { + $settings = ["storagePid" => 2]; + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => '2', + ]; + $controller = $this->setUpController(CalendarController::class, $settings, ''); + $response = $this->getResponse(); + + $request = $this->setUpRequest('main'); + $this->expectException(StopActionException::class); + $controller->processRequest($request, $response); + } + + /** + * @test + */ + public function canYearsAction() + { + $settings = ['solrcore' => 4]; + $templateHtml = ' + documentId: {documentId} + allYearDocTitle: {allYearDocTitle} + documents: {year.title}, + '; + $controller = $this->setUpController(CalendarController::class, $settings, $templateHtml); + $arguments = ['id' => "2002"]; + $request = $this->setUpRequest('years', $arguments); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + documentId: 2002 + allYearDocTitle: Newspaper for testing purposes + documents: 2021,2022,2023, + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/CollectionControllerTest.php b/Tests/Functional/Controller/CollectionControllerTest.php new file mode 100644 index 000000000..512302acf --- /dev/null +++ b/Tests/Functional/Controller/CollectionControllerTest.php @@ -0,0 +1,119 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\CollectionController; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; + +class CollectionControllerTest extends AbstractControllerTest { + + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + static array $solrFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.solr.json' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + $this->setUpSolr(4, 2, self::$solrFixtures); + } + + /** + * @test + */ + public function canListAction() + { + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'dont_show_single' => 'some_value', + 'randomize' => '' + ]; + $templateHtml = '{item.collection.indexName}'; + $subject = $this->setUpController(CollectionController::class, $settings, $templateHtml); + $request = $this->setUpRequest('list', ['id' => 1]); + $response = $this->getResponse(); + + $subject->processRequest($request, $response); + + $actual = $response->getContent(); + $expected = 'test-collection'; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canListActionForwardToShow() + { + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'randomize' => '' + ]; + $subject = $this->setUpController(CollectionController::class, $settings); + $request = $this->setUpRequest('list', ['id' => 1]); + $response = $this->getResponse(); + + $this->expectException(StopActionException::class); + $subject->processRequest($request, $response); + } + + /** + * @test + */ + public function canShowAction() + { + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'dont_show_single' => 'some_value', + 'randomize' => '' + ]; + $templateHtml = '{page.title},'; + + $subject = $this->setUpController(CollectionController::class, $settings, $templateHtml); + $request = $this->setUpRequest('show', ['collection' => '1']); + $response = $this->getResponse(); + + $subject->processRequest($request, $response); + $actual = $response->getContent(); + $expected = '10 Keyboard pieces - Go. S. 658,Beigefügte Quellenbeschreibung,Beigefügtes Inhaltsverzeichnis,'; + $this->assertEquals($expected, $actual); + + } + + /** + * @test + */ + public function canShowSortedAction() + { + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'dont_show_single' => 'some_value', + 'randomize' => '' + ]; + $subject = $this->setUpController(CollectionController::class, $settings); + $request = $this->setUpRequest('showSorted'); + $response = $this->getResponse(); + + $this->expectException(StopActionException::class); + $subject->processRequest($request, $response); + } +} diff --git a/Tests/Functional/Controller/FeedsControllerTest.php b/Tests/Functional/Controller/FeedsControllerTest.php new file mode 100644 index 000000000..9a1cdae9b --- /dev/null +++ b/Tests/Functional/Controller/FeedsControllerTest.php @@ -0,0 +1,62 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\FeedsController; +use TYPO3\CMS\Core\Localization\LanguageService; + +class FeedsControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $GLOBALS['LANG'] = LanguageService::create('default'); + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'limit' => 1 + ]; + $templateHtml = ' + {document.uid} – {document.title} + feedMeta: + '; + $controller = $this->setUpController(FeedsController::class, $settings, $templateHtml); + $arguments = [ + 'collection' => '1' + ]; + $request = $this->setUpRequest('main', $arguments); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + 1003 – NEW: 6 Fugues - Go. S. 317 + feedMeta:0 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/ListViewControllerTest.php b/Tests/Functional/Controller/ListViewControllerTest.php new file mode 100644 index 000000000..a10cbfa84 --- /dev/null +++ b/Tests/Functional/Controller/ListViewControllerTest.php @@ -0,0 +1,78 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\ListViewController; +use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; + +class ListViewControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + static array $solrFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.solr.json' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + $this->setUpSolr(4, 2, self::$solrFixtures); + } + + /** + * @test + * @group action + */ + public function canMainAction(): void + { + $arguments = [ + 'searchParameter' => [ + 'query' => '10 Keyboard pieces', + ] + ]; + $settings = [ + 'solrcore' => 4, + 'dont_show_single' => 'some_value', + 'randomize' => '' + ]; + $templateHtml = ' + + uniqueId-length: {viewData.uniqueId} + page: {viewData.requestData.page} + double: {viewData.requestData.double} + widgetPage: {widgetPage.currentPage} + lastSearch.query: {lastSearch.query} + numResults: {numResults} + + '; + $request = $this->setUpRequest('main', $arguments); + $controller = $this->setUpController(ListViewController::class, $settings, $templateHtml); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + uniqueId-length: 13 + page: 1 + double: 0 + widgetPage: 1 + lastSearch.query: 10 Keyboard pieces + numResults: 1 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/MetadataControllerTest.php b/Tests/Functional/Controller/MetadataControllerTest.php new file mode 100644 index 000000000..1767c8265 --- /dev/null +++ b/Tests/Functional/Controller/MetadataControllerTest.php @@ -0,0 +1,55 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\MetadataController; + +class MetadataControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $settings = [ + 'solrcore' => 4 + ]; + $templateHtml = ' + mets_label:{entry} + '; + $_POST['tx_dlf'] = ['id' => 1001]; + + $controller = $this->setUpController(MetadataController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + mets_label:10 Keyboard pieces - Go. S. 658 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/NavigationControllerTest.php b/Tests/Functional/Controller/NavigationControllerTest.php new file mode 100644 index 000000000..537e92b79 --- /dev/null +++ b/Tests/Functional/Controller/NavigationControllerTest.php @@ -0,0 +1,79 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\NavigationController; +use Kitodo\Dlf\Domain\Model\PageSelectForm; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; +use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; + +class NavigationControllerTest extends AbstractControllerTest +{ + + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = ['id' => 1001]; + $templateHtml = ' + pageSteps: {pageSteps} + numPages: {numPages} + pageOptions:{entry}, + '; + $controller = $this->setUpController(NavigationController::class, ['solrcore' => 4], $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + $GLOBALS['TSFE']->fe_user->id = 1; + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + pageSteps: 0 + numPages: 76 + pageOptions:[1] - - ,[2] - - ,[3] - 1,[4] - 2,[5] - 3,[6] - 4,[7] - 5,[8] - 6,[9] - 7,[10] - 8,[11] - 9,[12] - 10,[13] - 11,[14] - 12,[15] - 13,[16] - 14,[17] - 15,[18] - 16,[19] - 17,[20] - 18,[21] - 19,[22] - 20,[23] - 21,[24] - 22,[25] - 23,[26] - 24,[27] - 25,[28] - 26,[29] - 27,[30] - 28,[31] - 29,[32] - 30,[33] - 31,[34] - 32,[35] - 33,[36] - 34,[37] - 35,[38] - 36,[39] - 37,[40] - 38,[41] - 39,[42] - 40,[43] - 41,[44] - 42,[45] - 43,[46] - 44,[47] - 45,[48] - 46,[49] - 47,[50] - 48,[51] - 49,[52] - 50,[53] - 51,[54] - 52,[55] - 53,[56] - 54,[57] - 55,[58] - 56,[59] - 57,[60] - 58,[61] - 59,[62] - 60,[63] - 61,[64] - 62,[65] - 63,[66] - 64,[67] - 65,[68] - 66,[69] - 67,[70] - 68,[71] - 69,[72] - 70,[73] - 71,[74] - 72,[75] - 73,[76] - 74, + '; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canPageSelectAction() + { + $pageSelectForm = new PageSelectForm(); + $pageSelectForm->setId(1); + $pageSelectForm->setPage(2); + $pageSelectForm->setDouble(false); + + $controller = $this->setUpController(NavigationController::class, ['solrcore' => 4], ''); + $request = $this->setUpRequest('pageSelect', ['pageSelectForm' => $pageSelectForm]); + $response = $this->getResponse(); + + $this->expectException(StopActionException::class); + $controller->processRequest($request, $response); + } +} diff --git a/Tests/Functional/Controller/PageGridControllerTest.php b/Tests/Functional/Controller/PageGridControllerTest.php new file mode 100644 index 000000000..ea5874aa5 --- /dev/null +++ b/Tests/Functional/Controller/PageGridControllerTest.php @@ -0,0 +1,58 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\PageGridController; + +class PageGridControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents_local.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = ['id' => 2001]; + $settings = []; + $templateHtml = ' + pageGridEntries: + pageGridEntries[0]:{pageGridEntries.0.pagination}, {pageGridEntries.0.thumbnail} + pageGridEntries[1]:{pageGridEntries.1.pagination}, {pageGridEntries.1.thumbnail} + docUid:{docUid} + '; + $controller = $this->setUpController(PageGridController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + pageGridEntries:2 + pageGridEntries[0]: - , http://example.com/mets_audio/jpegs/00000001.tif.thumbnail.jpg + pageGridEntries[1]:1, http://example.com/mets_audio/jpegs/00000002.tif.thumbnail.jpg + docUid:2001 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/PageViewControllerTest.php b/Tests/Functional/Controller/PageViewControllerTest.php new file mode 100644 index 000000000..8f2fed022 --- /dev/null +++ b/Tests/Functional/Controller/PageViewControllerTest.php @@ -0,0 +1,76 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\PageViewController; + +class PageViewControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents_local.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = [ + 'id' => 2001, + 'page' => 2 + ]; + $templateHtml = ' + docId:{docId} + page:{page} + images: + {image.url} + {image.mimetype} + viewerConfiguration:{viewerConfiguration} + '; + $controller = $this->setUpController(PageViewController::class, ['solrcore' => 4], $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + docId:2001 + page:2 + images: + http://example.com/mets_audio/jpegs/00000002.tif.large.jpg + image/jpeg + viewerConfiguration:$(document).ready(function() { + if (dlfUtils.exists(dlfViewer)) { + tx_dlf_viewer = new dlfViewer({ + controls: [""], + div: "", + progressElementId: "", + images: [{"url":"http:\/\/example.com\/mets_audio\/jpegs\/00000002.tif.large.jpg","mimetype":"image\/jpeg"}], + fulltexts: [[]], + annotationContainers: [[]], + useInternalProxy: 0 + }); + } + }); + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/SearchControllerTest.php b/Tests/Functional/Controller/SearchControllerTest.php new file mode 100644 index 000000000..73fbb05ce --- /dev/null +++ b/Tests/Functional/Controller/SearchControllerTest.php @@ -0,0 +1,148 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\SearchController; +use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; +use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; + +class SearchControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/documents.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + static array $solrFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.solr.json' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + $this->setUpSolr(4, 0, self::$solrFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = [ + 'id' => 1001 + ]; + $_POST['tx_dlf_listview'] = [ + 'searchParameter' => [] + ]; + $arguments = [ + 'searchParameter' => [ + 'dateFrom' => '1800' + ], + '@widget_0' => [ + 'currentPage' => 3 + ] + ]; + $settings = [ + 'solrcore' => 4, + 'extendedFields' => 'field1,field2,field3', + 'extendedSlotCount' => 1 + ]; + $templateHtml = ' + widgetPage.currentPage:{widgetPage.currentPage} + lastSearch:{key}:{searchEntry}, + currentDocument:{currentDocument.uid} + searchFields:{field}, + '; + $controller = $this->setUpController(SearchController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main', $arguments); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + widgetPage.currentPage:3 + lastSearch:dateFrom:1800,dateTo:NOW, + currentDocument:1001 + searchFields:field1,field2,field3, + '; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canMakeFacetsMenuArray() + { + $_POST['tx_dlf'] = [ + 'id' => 1001 + ]; + $_POST['tx_dlf_listview'] = [ + 'searchParameter' => [] + ]; + $arguments = [ + 'searchParameter' => [ + 'title' => '10 Keyboard pieces' + ], + 'query' => '*', + '@widget_0' => [ + 'currentPage' => 3 + ] + ]; + $settings = [ + 'solrcore' => 4, + 'facets' => 'type', + 'facetCollections' => '1' + ]; + $templateHtml = ' + widgetPage.currentPage:{widgetPage.currentPage} + lastSearch:{key}:{searchEntry}, + currentDocument:{currentDocument.uid} + facetsMenu: + {menuEntry.field} + {subMenuEntry.title}: {subMenuEntry.queryColumn.0} + '; + $controller = $this->setUpController(SearchController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main', $arguments); + $response = $this->getResponse(); + $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + widgetPage.currentPage:3 + lastSearch:title:10 Keyboard pieces, + currentDocument:1001 + facetsMenu: + type + other: type_faceting:("other") manuscript: type_faceting:("manuscript") + '; + $this->assertEquals($expected, $actual); + + } + + /** + * @test + */ + public function canSearchAction() + { + $controller = $this->setUpController(SearchController::class, [], ''); + $request = $this->setUpRequest('search', []); + $response = $this->getResponse(); + + $this->expectException(StopActionException::class); + $controller->processRequest($request, $response); + } +} diff --git a/Tests/Functional/Controller/StatisticsControllerTest.php b/Tests/Functional/Controller/StatisticsControllerTest.php new file mode 100644 index 000000000..a02cc64f6 --- /dev/null +++ b/Tests/Functional/Controller/StatisticsControllerTest.php @@ -0,0 +1,55 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\StatisticsController; +use TYPO3\CMS\Core\Localization\LanguageService; + +class StatisticsControllerTest extends AbstractControllerTest { + + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml', + __DIR__ . '/../../Fixtures/Controller/documents.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $GLOBALS['LANG'] = LanguageService::create('default'); + + $settings = [ + 'solrcore' => 4, + 'collections' => '1', + 'storagePid' => '0', + 'description' => 'There are ###TITLES### and ###VOLUMES###.' + ]; + $templateHtml = '{content}'; + + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + $controller = $this->setUpController(StatisticsController::class, $settings, $templateHtml); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'There are 3 titles and 3 volumes.'; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/TableOfContentsControllerTest.php b/Tests/Functional/Controller/TableOfContentsControllerTest.php new file mode 100644 index 000000000..bd63871b7 --- /dev/null +++ b/Tests/Functional/Controller/TableOfContentsControllerTest.php @@ -0,0 +1,63 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\TableOfContentsController; + +class TableOfContentsControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = ['id' => 1001]; + $templateHtml = ' +{entry.type} – {entry.title} + +{subentry.type} – {subentry.title} + + +'; + $controller = $this->setUpController(TableOfContentsController::class, [], $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' +manuscript – 10 Keyboard pieces - Go. S. 658 + +other – Beigefügte Quellenbeschreibung + +other – Beigefügtes Inhaltsverzeichnis + +other – [Diverse]: 6 Airs Variés et tirés du Journal die Grazienbibliothek 1791. [Klavier] + + +'; + $this->assertEquals($expected, $actual); + } +} diff --git a/Tests/Functional/Controller/ToolboxControllerTest.php b/Tests/Functional/Controller/ToolboxControllerTest.php new file mode 100644 index 000000000..3c276b17b --- /dev/null +++ b/Tests/Functional/Controller/ToolboxControllerTest.php @@ -0,0 +1,236 @@ + + * + * This file is part of the Kitodo and TYPO3 projects. + * + * @license GNU General Public License version 3 or later. + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + */ + +namespace Kitodo\Dlf\Tests\Functional\Controller; + +use Kitodo\Dlf\Controller\ToolboxController; + +class ToolboxControllerTest extends AbstractControllerTest +{ + static array $databaseFixtures = [ + __DIR__ . '/../../Fixtures/Controller/documents_local.xml', + __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + ]; + + public function setUp(): void + { + parent::setUp(); + $this->setUpData(self::$databaseFixtures); + } + + /** + * @test + */ + public function canFulltextdownloadtool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => '2' + ]; + $settings = [ + 'tools' => 'tx_dlf_fulltextdownloadtool' + ]; + $templateHtml = 'fulltextDownload:{fulltextDownload}'; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'fulltextDownload:1'; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canFulltexttool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => '2' + ]; + $settings = [ + 'tools' => 'tx_dlf_fulltexttool', + 'activateFullTextInitially' => 1 + ]; + $templateHtml = 'fulltext:{fulltext},activateFullTextInitially:{activateFullTextInitially}'; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'fulltext:1,activateFullTextInitially:1'; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canImagedownloadtool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'double' => 1, + 'page' => 1 + ]; + $settings = [ + 'tools' => 'tx_dlf_imagedownloadtool', + 'fileGrpsImageDownload' => 'MAX' + ]; + $templateHtml = 'imageDownload: + {image.url}{image.mimetypeLabel} + '; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'imageDownload: + http://web:8001/Tests/Fixtures/Controller/mets_local/jpegs/00000001.tif.large.jpg (JPG) + http://web:8001/Tests/Fixtures/Controller/mets_local/jpegs/00000002.tif.large.jpg (JPG) + '; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canImagemanipulationtool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => '2' + ]; + $settings = [ + 'tools' => 'tx_dlf_imagemanipulationtool', + 'parentContainer' => '.parent-container' + ]; + $templateHtml = 'imageManipulation:{imageManipulation},parentContainer:{parentContainer}'; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'imageManipulation:1,parentContainer:.parent-container'; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canMainAction() + { + $_POST['tx_dlf'] = [ + 'id' => 1001, + 'double' => 1 + ]; + $settings = [ + 'solrcore' => 4, + 'library' => 1, + 'tools' => 'tx_dlf_annotationtool', + 'limit' => 1 + ]; + $templateHtml = 'double:{double}'; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'double:1'; + $this->assertEquals($expected, $actual); + + } + + /** + * @test + */ + public function canPdfdownloadtool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => 1, + 'double' => 1 + ]; + $settings = [ + 'tools' => 'tx_dlf_pdfdownloadtool' + ]; + $templateHtml = 'pageLinks: + {link} + workLink:{workLink} + '; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = 'pageLinks: + http://web:8001/Tests/Fixtures/Controller/mets_local/jpegs/00000001.tif.pdf + http://web:8001/Tests/Fixtures/Controller/mets_local/jpegs/00000002.tif.pdf + workLink:http://web:8001/Tests/Fixtures/Controller/mets_local/jpegs/full.pdf + '; + $this->assertEquals($expected, $actual); + } + + /** + * @test + */ + public function canSearchindocumenttool() + { + $_POST['tx_dlf'] = [ + 'id' => 2002, + 'page' => 1 + ]; + $settings = [ + 'solrcore' => 4, + 'tools' => 'tx_dlf_searchindocumenttool', + 'queryInputName' => 'queryInputName', + 'startInputName' => 'startInputName', + 'idInputName' => 'idInputName', + 'pageInputName' => 'pageInputName', + 'highlightWordInputName' => 'highlightWordInputName', + 'encryptedInputName' => 'encryptedInputName', + 'documentIdUrlSchema' => 'https://host.de/items/*id*/record', + ]; + $templateHtml = ' + LABEL_QUERY_URL:{searchInDocument.LABEL_QUERY_URL} + LABEL_START:{searchInDocument.LABEL_START} + LABEL_ID:{searchInDocument.LABEL_ID} + LABEL_PAGE_URL:{searchInDocument.LABEL_PAGE_URL} + LABEL_HIGHLIGHT_WORD:{searchInDocument.LABEL_HIGHLIGHT_WORD} + LABEL_ENCRYPTED:{searchInDocument.LABEL_ENCRYPTED} + CURRENT_DOCUMENT:{searchInDocument.CURRENT_DOCUMENT} + '; + $controller = $this->setUpController(ToolboxController::class, $settings, $templateHtml); + $request = $this->setUpRequest('main'); + $response = $this->getResponse(); + + $controller->processRequest($request, $response); + $actual = $response->getContent(); + $expected = ' + LABEL_QUERY_URL:queryInputName + LABEL_START:startInputName + LABEL_ID:idInputName + LABEL_PAGE_URL:pageInputName + LABEL_HIGHLIGHT_WORD:highlightWordInputName + LABEL_ENCRYPTED:encryptedInputName + CURRENT_DOCUMENT:2002 + '; + $this->assertEquals($expected, $actual); + } +} diff --git a/composer.json b/composer.json index 3bf0e1bc5..dd41b5620 100644 --- a/composer.json +++ b/composer.json @@ -40,6 +40,7 @@ "solarium/solarium": "^5.2.0" }, "require-dev": { + "fluidtypo3/vhs": "^6.1", "phpstan/phpstan": "^1.10.41", "spatie/phpunit-watcher": "^1.23.6", "typo3/cms-backend": "^10.4.37|^11.5.33", From 0f69db2ac0339fe25cf5f9f23efa9adc07c48b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6hr?= Date: Mon, 6 Nov 2023 15:51:55 +0100 Subject: [PATCH 2/7] Update and fix tests --- Tests/Fixtures/Controller/metadata.xml | 2 -- Tests/Fixtures/Controller/pages.xml | 5 ----- Tests/Functional/Controller/AbstractControllerTest.php | 2 +- Tests/Functional/Controller/ListViewControllerTest.php | 1 + Tests/Functional/Controller/MetadataControllerTest.php | 3 ++- Tests/Functional/Controller/SearchControllerTest.php | 1 + .../Functional/Controller/TableOfContentsControllerTest.php | 3 ++- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Tests/Fixtures/Controller/metadata.xml b/Tests/Fixtures/Controller/metadata.xml index 92109c3f6..a9f53fc13 100644 --- a/Tests/Fixtures/Controller/metadata.xml +++ b/Tests/Fixtures/Controller/metadata.xml @@ -12,7 +12,6 @@ 0 32 - title 1 @@ -41,7 +40,6 @@ 0 32 - collection 1 diff --git a/Tests/Fixtures/Controller/pages.xml b/Tests/Fixtures/Controller/pages.xml index 0ce9a6c6a..56115af33 100644 --- a/Tests/Fixtures/Controller/pages.xml +++ b/Tests/Fixtures/Controller/pages.xml @@ -17,7 +17,6 @@ 0 0 0 - null 0 0 @@ -88,7 +87,6 @@ 0 0 0 - null 0 0 @@ -192,7 +190,6 @@ 0 0 0 - null 0 a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} 0 @@ -305,7 +302,6 @@ 0 0 0 - null 0 a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} 0 @@ -413,7 +409,6 @@ a:16:{s:16:"sys_language_uid";N;s:11:"l18n_parent";N;s:6:"hidden";N;s:8:"fe_group";N;s:5:"label";N;s:10:"index_name";N;s:12:"index_search";N;s:8:"oai_name";N;s:11:"description";N;s:8:"priority";N;s:9:"documents";N;s:5:"owner";N;s:12:"fe_cruser_id";N;s:13:"fe_admin_lock";N;s:6:"status";N;s:9:"thumbnail";N;} 0 - null 0 0 diff --git a/Tests/Functional/Controller/AbstractControllerTest.php b/Tests/Functional/Controller/AbstractControllerTest.php index 43232c56d..1b76c947f 100644 --- a/Tests/Functional/Controller/AbstractControllerTest.php +++ b/Tests/Functional/Controller/AbstractControllerTest.php @@ -12,7 +12,7 @@ namespace Kitodo\Dlf\Tests\Functional\Controller; -use Kitodo\Dlf\Common\Solr; +use Kitodo\Dlf\Common\Solr\Solr; use Kitodo\Dlf\Controller\AbstractController; use Kitodo\Dlf\Domain\Repository\DocumentRepository; use Kitodo\Dlf\Domain\Repository\SolrCoreRepository; diff --git a/Tests/Functional/Controller/ListViewControllerTest.php b/Tests/Functional/Controller/ListViewControllerTest.php index a10cbfa84..c802081bc 100644 --- a/Tests/Functional/Controller/ListViewControllerTest.php +++ b/Tests/Functional/Controller/ListViewControllerTest.php @@ -45,6 +45,7 @@ public function canMainAction(): void ]; $settings = [ 'solrcore' => 4, + 'storagePid' => 2, 'dont_show_single' => 'some_value', 'randomize' => '' ]; diff --git a/Tests/Functional/Controller/MetadataControllerTest.php b/Tests/Functional/Controller/MetadataControllerTest.php index 1767c8265..a99275329 100644 --- a/Tests/Functional/Controller/MetadataControllerTest.php +++ b/Tests/Functional/Controller/MetadataControllerTest.php @@ -34,7 +34,8 @@ public function setUp(): void public function canMainAction() { $settings = [ - 'solrcore' => 4 + 'solrcore' => 4, + 'storagePid' => 0 ]; $templateHtml = ' mets_label:{entry} diff --git a/Tests/Functional/Controller/SearchControllerTest.php b/Tests/Functional/Controller/SearchControllerTest.php index 73fbb05ce..cbf75e270 100644 --- a/Tests/Functional/Controller/SearchControllerTest.php +++ b/Tests/Functional/Controller/SearchControllerTest.php @@ -103,6 +103,7 @@ public function canMakeFacetsMenuArray() ]; $settings = [ 'solrcore' => 4, + 'storagePid' => 0, 'facets' => 'type', 'facetCollections' => '1' ]; diff --git a/Tests/Functional/Controller/TableOfContentsControllerTest.php b/Tests/Functional/Controller/TableOfContentsControllerTest.php index bd63871b7..40fa5ac02 100644 --- a/Tests/Functional/Controller/TableOfContentsControllerTest.php +++ b/Tests/Functional/Controller/TableOfContentsControllerTest.php @@ -34,6 +34,7 @@ public function setUp(): void public function canMainAction() { $_POST['tx_dlf'] = ['id' => 1001]; + $settings = ['storagePid' => 0]; $templateHtml = ' {entry.type} – {entry.title} @@ -41,7 +42,7 @@ public function canMainAction() '; - $controller = $this->setUpController(TableOfContentsController::class, [], $templateHtml); + $controller = $this->setUpController(TableOfContentsController::class, $settings, $templateHtml); $request = $this->setUpRequest('main'); $response = $this->getResponse(); From b985ed03603f4e951f22a61feb1a58306c5e2f39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6hr?= Date: Tue, 20 Feb 2024 16:39:00 +0100 Subject: [PATCH 3/7] Remove test for broken functionality --- .../Controller/BasketControllerTest.php | 90 ------------------- 1 file changed, 90 deletions(-) delete mode 100644 Tests/Functional/Controller/BasketControllerTest.php diff --git a/Tests/Functional/Controller/BasketControllerTest.php b/Tests/Functional/Controller/BasketControllerTest.php deleted file mode 100644 index 0e2cab651..000000000 --- a/Tests/Functional/Controller/BasketControllerTest.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * This file is part of the Kitodo and TYPO3 projects. - * - * @license GNU General Public License version 3 or later. - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - */ - -namespace Kitodo\Dlf\Tests\Functional\Controller; - -use Kitodo\Dlf\Controller\BasketController; -use TYPO3\CMS\Extbase\Mvc\Exception\StopActionException; -use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; - -class BasketControllerTest extends AbstractControllerTest -{ - - static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' - ]; - - static array $solrFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents.solr.json' - ]; - - public function setUp(): void - { - parent::setUp(); - $this->setUpData(self::$databaseFixtures); - $this->setUpSolr(4, 2, self::$solrFixtures); - } - - /** - * @test - */ - public function canAddAction() - { - $controller = $this->setUpController(BasketController::class, []); - $request = $this->setUpRequest('add'); - $response = $this->getResponse(); - $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); - $GLOBALS['TSFE']->fe_user->id = 1; - - $this->expectException(StopActionException::class); - $controller->processRequest($request, $response); - } - - /** - * @test - */ - public function canBasketAction() - { - $controller = $this->setUpController(BasketController::class, []); - $request = $this->setUpRequest('add'); - $response = $this->getResponse(); - $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); - $GLOBALS['TSFE']->fe_user->id = 1; - $this->expectException(StopActionException::class); - $controller->processRequest($request, $response); - } - - /** - * @test - */ - public function canMainAction() - { - $templateHtml = ' - count:{countDocs} - entries: - '; - $controller = $this->setUpController(BasketController::class, [], $templateHtml); - $request = $this->setUpRequest('main', []); - $response = $this->getResponse(); - $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); - $GLOBALS['TSFE']->fe_user->id = 1; - - $controller->processRequest($request, $response); - $actual = $response->getContent(); - $expected = ' - count:0 - entries:0 - '; - $this->assertEquals($expected, $actual); - } -} From 7fffa3103e0bfe212f3b02607e31a867c8eb108f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6hr?= Date: Tue, 20 Feb 2024 16:39:11 +0100 Subject: [PATCH 4/7] Fix tests --- Tests/Functional/Controller/SearchControllerTest.php | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Tests/Functional/Controller/SearchControllerTest.php b/Tests/Functional/Controller/SearchControllerTest.php index cbf75e270..b7c9a4699 100644 --- a/Tests/Functional/Controller/SearchControllerTest.php +++ b/Tests/Functional/Controller/SearchControllerTest.php @@ -49,9 +49,6 @@ public function canMainAction() $arguments = [ 'searchParameter' => [ 'dateFrom' => '1800' - ], - '@widget_0' => [ - 'currentPage' => 3 ] ]; $settings = [ @@ -60,7 +57,6 @@ public function canMainAction() 'extendedSlotCount' => 1 ]; $templateHtml = ' - widgetPage.currentPage:{widgetPage.currentPage} lastSearch:{key}:{searchEntry}, currentDocument:{currentDocument.uid} searchFields:{field}, @@ -73,7 +69,6 @@ public function canMainAction() $controller->processRequest($request, $response); $actual = $response->getContent(); $expected = ' - widgetPage.currentPage:3 lastSearch:dateFrom:1800,dateTo:NOW, currentDocument:1001 searchFields:field1,field2,field3, @@ -96,10 +91,7 @@ public function canMakeFacetsMenuArray() 'searchParameter' => [ 'title' => '10 Keyboard pieces' ], - 'query' => '*', - '@widget_0' => [ - 'currentPage' => 3 - ] + 'query' => '*' ]; $settings = [ 'solrcore' => 4, @@ -108,7 +100,6 @@ public function canMakeFacetsMenuArray() 'facetCollections' => '1' ]; $templateHtml = ' - widgetPage.currentPage:{widgetPage.currentPage} lastSearch:{key}:{searchEntry}, currentDocument:{currentDocument.uid} facetsMenu: @@ -123,7 +114,6 @@ public function canMakeFacetsMenuArray() $controller->processRequest($request, $response); $actual = $response->getContent(); $expected = ' - widgetPage.currentPage:3 lastSearch:title:10 Keyboard pieces, currentDocument:1001 facetsMenu: From 8eb85cc3887bd623692c34d06f9192ef894b06aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6hr?= Date: Tue, 27 Feb 2024 17:40:50 +0100 Subject: [PATCH 5/7] Migrate fixtures to CSV --- Tests/Fixtures/Controller/documents.csv | 10 + Tests/Fixtures/Controller/documents.xml | 158 ------- .../Controller/documents_calendar.csv | 10 + .../Controller/documents_calendar.xml | 155 ------- Tests/Fixtures/Controller/documents_local.csv | 10 + Tests/Fixtures/Controller/documents_local.xml | 155 ------- Tests/Fixtures/Controller/metadata.csv | 12 + Tests/Fixtures/Controller/metadata.xml | 111 ----- Tests/Fixtures/Controller/pages.csv | 82 ++++ Tests/Fixtures/Controller/pages.xml | 425 ------------------ Tests/Fixtures/Controller/solrcores.csv | 3 + Tests/Fixtures/Controller/solrcores.xml | 13 - .../Controller/AbstractControllerTest.php | 2 +- .../Controller/AudioPlayerControllerTest.php | 4 +- .../Controller/CalendarControllerTest.php | 8 +- .../Controller/CollectionControllerTest.php | 4 +- .../Controller/FeedsControllerTest.php | 6 +- .../Controller/ListViewControllerTest.php | 4 +- .../Controller/MetadataControllerTest.php | 6 +- .../Controller/NavigationControllerTest.php | 6 +- .../Controller/PageGridControllerTest.php | 6 +- .../Controller/PageViewControllerTest.php | 6 +- .../Controller/SearchControllerTest.php | 6 +- .../Controller/StatisticsControllerTest.php | 6 +- .../TableOfContentsControllerTest.php | 6 +- .../Controller/ToolboxControllerTest.php | 6 +- 26 files changed, 165 insertions(+), 1055 deletions(-) create mode 100644 Tests/Fixtures/Controller/documents.csv delete mode 100644 Tests/Fixtures/Controller/documents.xml create mode 100644 Tests/Fixtures/Controller/documents_calendar.csv delete mode 100644 Tests/Fixtures/Controller/documents_calendar.xml create mode 100644 Tests/Fixtures/Controller/documents_local.csv delete mode 100644 Tests/Fixtures/Controller/documents_local.xml create mode 100644 Tests/Fixtures/Controller/metadata.csv delete mode 100644 Tests/Fixtures/Controller/metadata.xml create mode 100644 Tests/Fixtures/Controller/pages.csv delete mode 100644 Tests/Fixtures/Controller/pages.xml create mode 100644 Tests/Fixtures/Controller/solrcores.csv delete mode 100644 Tests/Fixtures/Controller/solrcores.xml diff --git a/Tests/Fixtures/Controller/documents.csv b/Tests/Fixtures/Controller/documents.csv new file mode 100644 index 000000000..cc50e80fe --- /dev/null +++ b/Tests/Fixtures/Controller/documents.csv @@ -0,0 +1,10 @@ +tx_dlf_documents,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,hidden,starttime,endtime,fe_group,prod_id,location,record_id,opac_id,union_id,urn,purl,title,title_sorting,author,year,place,thumbnail,structure,partof,volume,volume_sorting,license,terms,restrictions,out_of_print,rights_info,collections,mets_label,mets_orderlabel,owner,solrcore,status,document_format +,1001,0,1631775000,1631775000,2,0,0,0,0,,,https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml,oai:de:slub-dresden:db:id-476251419,476251419,476251419,urn:nbn:de:bsz:14-db-id4762514197,http://digital.slub-dresden.de/id476251419,10 Keyboard pieces - Go. S. 658,10 Keyboard pieces - Go. S. 658,,[1759-1800],[S.l.],https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg,59,0,,,,,,,,,10 Keyboard pieces - Go. S. 658,10 Keyboard pieces - Go. S. 658,10001,1,0,METS +,1002,0,1631774000,1631774000,2,0,0,0,0,,,https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_mets.xml,oai:de:slub-dresden:db:id-476248086,476248086,476248086,urn:nbn:de:bsz:14-db-id4762480864,http://digital.slub-dresden.de/id476248086,6 Sacred songs - Go. S. 591,6 Sacred songs - Go. S. 591,,[1840-1860],[S.l.],https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg,59,0,,,,,,,,,6 Sacred songs - Go. S. 591,6 Sacred songs - Go. S. 591,10001,1,0,METS +,1003,0,1631776000,1631776000,2,0,0,0,0,,,https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml,oai:de:slub-dresden:db:id-476251729,476251729,476251729,urn:nbn:de:bsz:14-db-id4762517292,http://digital.slub-dresden.de/id476251729,6 Fugues - Go. S. 317,6 Fugues - Go. S. 317,,[um 1820],[S.l.],https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg,59,0,,,,,,,,3,6 Fugues - Go. S. 317,6 Fugues - Go. S. 317,10001,1,0,METS +tx_dlf_relations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,ident,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,1201,1001,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,1202,1002,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,1203,1003,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Tests/Fixtures/Controller/documents.xml b/Tests/Fixtures/Controller/documents.xml deleted file mode 100644 index cfae476c8..000000000 --- a/Tests/Fixtures/Controller/documents.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - 1001 - 0 - 1631775000 - 1631775000 - 2 - 0 - 0 - 0 - 0 - - - https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml - oai:de:slub-dresden:db:id-476251419 - 476251419 - 476251419 - urn:nbn:de:bsz:14-db-id4762514197 - http://digital.slub-dresden.de/id476251419 - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - - [1759-1800] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - 10001 - 1 - 0 - METS - - - - 1002 - 0 - 1631774000 - 1631774000 - 2 - 0 - 0 - 0 - 0 - - - https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_mets.xml - oai:de:slub-dresden:db:id-476248086 - 476248086 - 476248086 - urn:nbn:de:bsz:14-db-id4762480864 - http://digital.slub-dresden.de/id476248086 - 6 Sacred songs - Go. S. 591 - 6 Sacred songs - Go. S. 591 - - [1840-1860] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 6 Sacred songs - Go. S. 591 - 6 Sacred songs - Go. S. 591 - 10001 - 1 - 0 - METS - - - - 1003 - 0 - 1631776000 - 1631776000 - 2 - 0 - 0 - 0 - 0 - - - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml - oai:de:slub-dresden:db:id-476251729 - 476251729 - 476251729 - urn:nbn:de:bsz:14-db-id4762517292 - http://digital.slub-dresden.de/id476251729 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - - [um 1820] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - 3 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - 10001 - 1 - 0 - METS - - - - 1201 - 1001 - 1 - - - - docs_colls - - - - 1202 - 1002 - 1 - - - - docs_colls - - - - 1203 - 1003 - 1 - - - - docs_colls - - diff --git a/Tests/Fixtures/Controller/documents_calendar.csv b/Tests/Fixtures/Controller/documents_calendar.csv new file mode 100644 index 000000000..3075f051c --- /dev/null +++ b/Tests/Fixtures/Controller/documents_calendar.csv @@ -0,0 +1,10 @@ +tx_dlf_documents,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,hidden,starttime,endtime,fe_group,prod_id,location,record_id,opac_id,union_id,urn,purl,title,title_sorting,author,year,place,thumbnail,structure,partof,volume,volume_sorting,license,terms,restrictions,out_of_print,rights_info,collections,mets_label,mets_orderlabel,owner,solrcore,status,document_format +,2001,0,1631775000,1631775000,2,0,0,0,0,,,http://web:8001/Tests/Fixtures/Controller/mets_newspaper_issues.xml,oai:de:slub-dresden:db:id-476251419,476251419,476251419,urn:nbn:de:bsz:14-db-id4762514197,http://digital.slub-dresden.de/id476251419,10 Keyboard pieces - Go. S. 658,10 Keyboard pieces - Go. S. 658,,[1759-1800],[S.l.],https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg,59,0,,,,,,,,,10 Keyboard pieces - Go. S. 658,10 Keyboard pieces - Go. S. 658,10001,1,0,METS +,2002,0,1631774000,1631774000,2,0,0,0,0,,,http://web:8001/Tests/Fixtures/Controller/mets_newspaper.xml,,476248086,476248086,,,Newspaper for testing purposes,Newspaper for testing purposes,,[1840-1860],[S.l.],https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg,59,0,,,,,,,,,6 Sacred songs - Go. S. 591,6 Sacred songs - Go. S. 591,10001,1,0,METS +,2003,0,1631776000,1631776000,2,0,0,0,0,,,https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml,oai:de:slub-dresden:db:id-476251729,476251729,476251729,urn:nbn:de:bsz:14-db-id4762517292,http://digital.slub-dresden.de/id476251729,6 Fugues - Go. S. 317,6 Fugues - Go. S. 317,,[um 1820],[S.l.],https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg,59,0,,,,,,,,3,6 Fugues - Go. S. 317,6 Fugues - Go. S. 317,10001,1,0,METS +tx_dlf_relations,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,uid_local,uid_foreign,tablenames,sorting,sorting_foreign,ident,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,2201,2001,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,2202,2002,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,2203,2003,1,,,,docs_colls,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Tests/Fixtures/Controller/documents_calendar.xml b/Tests/Fixtures/Controller/documents_calendar.xml deleted file mode 100644 index 2560623c8..000000000 --- a/Tests/Fixtures/Controller/documents_calendar.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - 2001 - 0 - 1631775000 - 1631775000 - 2 - 0 - 0 - 0 - 0 - - - http://web:8001/Tests/Fixtures/Controller/mets_newspaper_issues.xml - oai:de:slub-dresden:db:id-476251419 - 476251419 - 476251419 - urn:nbn:de:bsz:14-db-id4762514197 - http://digital.slub-dresden.de/id476251419 - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - - [1759-1800] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - 10001 - 1 - 0 - METS - - - - 2002 - 0 - 1631774000 - 1631774000 - 2 - 0 - 0 - 0 - 0 - - - http://web:8001/Tests/Fixtures/Controller/mets_newspaper.xml - 476248086 - 476248086 - Newspaper for testing purposes - Newspaper for testing purposes - - [1840-1860] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 6 Sacred songs - Go. S. 591 - 6 Sacred songs - Go. S. 591 - 10001 - 1 - 0 - METS - - - - 2003 - 0 - 1631776000 - 1631776000 - 2 - 0 - 0 - 0 - 0 - - - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml - oai:de:slub-dresden:db:id-476251729 - 476251729 - 476251729 - urn:nbn:de:bsz:14-db-id4762517292 - http://digital.slub-dresden.de/id476251729 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - - [um 1820] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - 3 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - 10001 - 1 - 0 - METS - - - - 2201 - 2001 - 1 - - - - docs_colls - - - - 2202 - 2002 - 1 - - - - docs_colls - - - - 2203 - 2003 - 1 - - - - docs_colls - - diff --git a/Tests/Fixtures/Controller/documents_local.csv b/Tests/Fixtures/Controller/documents_local.csv new file mode 100644 index 000000000..ebd8894cf --- /dev/null +++ b/Tests/Fixtures/Controller/documents_local.csv @@ -0,0 +1,10 @@ +"tx_dlf_documents",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","tstamp","crdate","cruser_id","deleted","hidden","starttime","endtime","fe_group","prod_id","location","record_id","opac_id","union_id","urn","purl","title","title_sorting","author","year","place","thumbnail","structure","partof","volume","volume_sorting","license","terms","restrictions","out_of_print","rights_info","collections","mets_label","mets_orderlabel","owner","solrcore","status","document_format" +,2001,0,1631775000,1631775000,2,0,0,0,0,,,http://web:8001/Tests/Fixtures/Controller/mets_audio.xml,"oai:de:slub-dresden:db:id-476251419","476251419","476251419","urn:nbn:de:bsz:14-db-id476251419","http://digital.slub-dresden.de/id476251419","10 Keyboard pieces - Go. S. 658","10 Keyboard pieces - Go. S. 658",,"[1759-1800]","[S.l.]","https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg",59,0,,,,,,,,,"10 Keyboard pieces - Go. S. 658","10 Keyboard pieces - Go. S. 658",10001,1,0,"METS" +,2002,0,1631774000,1631774000,2,0,0,0,0,,,http://web:8001/Tests/Fixtures/Controller/mets_toolbox.xml,"oai:de:slub-dresden:db:id-476248086","476248086","476248086","urn:nbn:de:bsz:14-db-id4762480864","http://digital.slub-dresden.de/id476248086","6 Sacred songs - Go. S. 591","6 Sacred songs - Go. S. 591",,"[1840-1860]","[S.l.]","https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg",59,0,,,,,,,,,"6 Sacred songs - Go. S. 591","6 Sacred songs - Go. S. 591",10001,1,0,"METS" +,2003,0,1631776000,1631776000,2,0,0,0,0,,,"https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml","oai:de:slub-dresden:db:id-476251729","476251729","476251729","urn:nbn:de:bsz:14-db-id4762517292","http://digital.slub-dresden.de/id476251729","6 Fugues - Go. S. 317","6 Fugues - Go. S. 317",,"[um 1820]","[S.l.]","https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg",59,0,,,,,,,,3,"6 Fugues - Go. S. 317","6 Fugues - Go. S. 317",10001,1,0,"METS" +"tx_dlf_relations",,,,,,,,, +,"uid","uid_local","uid_foreign","tablenames","sorting","sorting_foreign","ident" +,2201,2001,1,,,,"docs_colls" +,2202,2002,1,,,,"docs_colls" +,2203,2003,1,,,,"docs_colls" diff --git a/Tests/Fixtures/Controller/documents_local.xml b/Tests/Fixtures/Controller/documents_local.xml deleted file mode 100644 index 2081bc1f9..000000000 --- a/Tests/Fixtures/Controller/documents_local.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - 2001 - 0 - 1631775000 - 1631775000 - 2 - 0 - 0 - 0 - 0 - - - http://web:8001/Tests/Fixtures/Controller/mets_audio.xml - oai:de:slub-dresden:db:id-476251419 - 476251419 - 476251419 - urn:nbn:de:bsz:14-db-id4762514197 - http://digital.slub-dresden.de/id476251419 - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - - [1759-1800] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_tif/jpegs/00000003.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 10 Keyboard pieces - Go. S. 658 - 10 Keyboard pieces - Go. S. 658 - 10001 - 1 - 0 - METS - - - - 2002 - 0 - 1631774000 - 1631774000 - 2 - 0 - 0 - 0 - 0 - - - http://web:8001/Tests/Fixtures/Controller/mets_toolbox.xml - 476248086 - 476248086 - 6 Sacred songs - Go. S. 591 - 6 Sacred songs - Go. S. 591 - - [1840-1860] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6Saso_476248086/6Saso_476248086_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - - 6 Sacred songs - Go. S. 591 - 6 Sacred songs - Go. S. 591 - 10001 - 1 - 0 - METS - - - - 2003 - 0 - 1631776000 - 1631776000 - 2 - 0 - 0 - 0 - 0 - - - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_mets.xml - oai:de:slub-dresden:db:id-476251729 - 476251729 - 476251729 - urn:nbn:de:bsz:14-db-id4762517292 - http://digital.slub-dresden.de/id476251729 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - - [um 1820] - [S.l.] - https://digital.slub-dresden.de/data/kitodo/6FuG_476251729/6FuG_476251729_tif/jpegs/00000001.tif.thumbnail.jpg - 59 - 0 - - - - - - - - 3 - 6 Fugues - Go. S. 317 - 6 Fugues - Go. S. 317 - 10001 - 1 - 0 - METS - - - - 2201 - 2001 - 1 - - - - docs_colls - - - - 2202 - 2002 - 1 - - - - docs_colls - - - - 2203 - 2003 - 1 - - - - docs_colls - - diff --git a/Tests/Fixtures/Controller/metadata.csv b/Tests/Fixtures/Controller/metadata.csv new file mode 100644 index 000000000..508f4785b --- /dev/null +++ b/Tests/Fixtures/Controller/metadata.csv @@ -0,0 +1,12 @@ +tx_dlf_metadata,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,sys_language_uid,l18n_parent,l18n_diffsource,hidden,sorting,label,index_name,format,default_value,wrap,index_tokenized,index_stored,index_boost,is_sortable,is_facet,is_listed,index_autocomplete,status +,5001,2,1638557803,1631532810,1,0,0,0,,0,32,Titel,title,1,,,0,1,1,1,0,1,1,0 +,5002,2,1638557803,1631532810,1,0,0,0,,0,32,Sammlungen,collection,1,,,1,0,1,0,1,0,1,0 +tx_dlf_metadataformat,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,parent_id,encoded,xpath,xpath_sorting,mandatory,,,,,,,,,,,,, +,5101,2,1638557803,1631532810,1,0,5001,5202,"concat(./mods:titleInfo/mods:nonSort,"" "",./mods:titleInfo/mods:title)",./mods:titleInfo/mods:title,0,,,,,,,,,,,,, +,5102,2,1638557803,1631532810,1,0,5002,5202,"./mods:relatedItem[@type=""series""]/mods:titleInfo/mods:title[@lang=""ger""]",,0,,,,,,,,,,,,, +tx_dlf_formats,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,type,root,namespace,class,,,,,,,,,,,,,, +,5201,0,1638557803,1631532810,1,0,ALTO,alto,http://www.loc.gov/standards/alto/ns-v2#,Kitodo\Dlf\Format\Alto,,,,,,,,,,,,,, +,5202,0,1638557803,1631532810,1,0,MODS,mods,http://www.loc.gov/mods/v3,Kitodo\Dlf\Format\Mods,,,,,,,,,,,,,, diff --git a/Tests/Fixtures/Controller/metadata.xml b/Tests/Fixtures/Controller/metadata.xml deleted file mode 100644 index a9f53fc13..000000000 --- a/Tests/Fixtures/Controller/metadata.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - 5001 - 2 - 1638557803 - 1631532810 - 1 - 0 - 0 - 0 - - 0 - 32 - - title - 1 - - - 0 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - - - - 5002 - 2 - 1638557803 - 1631532810 - 1 - 0 - 0 - 0 - - 0 - 32 - - collection - 1 - - - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 1 - 0 - - - - 5101 - 2 - 1638557803 - 1631532810 - 1 - 0 - 5001 - 5202 - concat(./mods:titleInfo/mods:nonSort," ",./mods:titleInfo/mods:title) - ./mods:titleInfo/mods:title - 0 - - - - 5102 - 2 - 1638557803 - 1631532810 - 1 - 0 - 5002 - 5202 - ./mods:relatedItem[@type="series"]/mods:titleInfo/mods:title[@lang="ger"] - - 0 - - - - 5201 - 0 - 1638557803 - 1631532810 - 1 - 0 - ALTO - alto - http://www.loc.gov/standards/alto/ns-v2# - Kitodo\Dlf\Format\Alto - - - 5202 - 0 - 1638557803 - 1631532810 - 1 - 0 - MODS - mods - http://www.loc.gov/mods/v3 - Kitodo\Dlf\Format\Mods - - diff --git a/Tests/Fixtures/Controller/pages.csv b/Tests/Fixtures/Controller/pages.csv new file mode 100644 index 000000000..4ddfefed6 --- /dev/null +++ b/Tests/Fixtures/Controller/pages.csv @@ -0,0 +1,82 @@ +pages,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,hidden,starttime,endtime,fe_group,sorting,rowDescription,editlock,sys_language_uid,l10n_parent,l10n_source,t3_origuid,l10n_diffsource,t3ver_oid,t3ver_wsid,t3ver_state,t3ver_stage,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,title,slug,doktype,TSconfig,is_siteroot,php_tree_stop,url,shortcut,shortcut_mode,subtitle,layout,target,media,lastUpdated,keywords,cache_timeout,cache_tags,newUntil,description,no_search,SYS_LASTCHANGED,abstract,module,extendToSubpages,author,author_email,nav_title,nav_hide,content_from_pid,mount_pid,mount_pid_ol,l18n_cfg,fe_login_mode,backend_layout,backend_layout_next_level,tsconfig_includes,legacy_overlay_uid,categories +,1,0,1678381239,1678381239,2,0,1,0,0,0,256,,0,0,0,0,0,,0,0,0,0,2,0,31,27,0,Testseite,,1,,0,0,,0,0,,0,,0,0,,0,,0,,0,0,,,0,,,,0,0,0,0,0,0,,,,0,0 +,2,1,1678700400,1678700400,2,0,1,0,0,,128,,0,0,0,0,0,,0,0,0,0,2,0,31,27,0,dlf,/,254,,0,0,,0,0,,0,,0,0,,0,,0,,0,0,,,0,,,,0,0,0,0,0,0,,,,0,0 +sys_template,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,hidden,starttime,endtime,sorting,description,t3_origuid,t3ver_oid,t3ver_wsid,t3ver_state,t3ver_count,t3ver_tstamp,t3ver_move_id,title,sitetitle,root,clear,include_static_file,constants,config,basedOn,includeStaticAfterBasedOn,static_file_mode,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,1,1,1678881727,1678881663,2,0,0,0,0,256,,0,0,0,0,0,0,0,NEW SITE,,1,3,"EXT:fluid_styled_content/Configuration/TypoScript/,EXT:dlf/Configuration/TypoScript/",plugin.tx_dlf.persistence.storagePid = 2,,,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +tt_content,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,rowDescription,pid,tstamp,crdate,cruser_id,deleted,hidden,starttime,endtime,fe_group,sorting,editlock,sys_language_uid,l18n_parent,l10n_source,t3_origuid,l18n_diffsource,t3ver_oid,t3ver_wsid,t3ver_state,t3ver_stage,t3ver_count,t3ver_tstamp,t3ver_move_id,CType,header,header_position,bodytext,bullets_type,uploads_description,uploads_type,assets,image,imagewidth,imageorient,imagecols,imageborder,media,layout,frame_class,cols,space_before_class,space_after_class,records,pages,colPos,subheader,header_link,image_zoom,header_layout,list_type,sectionIndex,linkToTop,file_collections,filelink_size,filelink_sorting,filelink_sorting_direction,target,date,recursive,imageheight,pi_flexform,accessibility_title,accessibility_bypass,accessibility_bypass_text,selected_categories,category_field,table_class,table_caption,table_delimiter,table_enclosure,table_header_position,table_tfoot,categories +,1,,1,1678700622,1678700488,2,0,0,0,0,,256,0,0,0,0,0,a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;},0,0,0,0,0,0,0,list,,,,0,0,0,0,0,0,0,2,0,0,0,default,0,,,,,0,,,0,0,dlf_collection,1,0,,0,,,,0,0,0," + + + + + + 1 + + + 4 + + + -1 + + + 0 + + + 0 + + + + + + + + + + + + + + + ]]>",,0,,,,,,124,0,0,0,0 +,2,,1,1678700622,1678700488,2,0,0,0,0,,256,0,0,0,0,0,a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;},0,0,0,0,0,0,0,list,,,,0,0,0,0,0,0,0,2,0,0,0,default,0,,,,,0,,,0,0,dlf_calendar,1,0,,0,,,,0,0,0," + + + + + + 1 + + + 4 + + + -1 + + + 0 + + + 0 + + + + + + + + + + + + + + + ]]>",,0,,,,,,124,0,0,0,0 +tx_dlf_collections,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,sys_language_uid,l18n_parent,l18n_diffsource,hidden,fe_group,fe_cruser_id,fe_admin_lock,label,index_name,index_search,oai_name,description,thumbnail,priority,documents,owner,status,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,1,0,1678700538,1678700538,2,0,0,0,a:16:{s:16:"sys_language_uid";N;s:11:"l18n_parent";N;s:6:"hidden";N;s:8:"fe_group";N;s:5:"label";N;s:10:"index_name";N;s:12:"index_search";N;s:8:"oai_name";N;s:11:"description";N;s:8:"priority";N;s:9:"documents";N;s:5:"owner";N;s:12:"fe_cruser_id";N;s:13:"fe_admin_lock";N;s:6:"status";N;s:9:"thumbnail";N;},0,,0,0,Test Collection,test-collection,,test-collection,,,3,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Tests/Fixtures/Controller/pages.xml b/Tests/Fixtures/Controller/pages.xml deleted file mode 100644 index 56115af33..000000000 --- a/Tests/Fixtures/Controller/pages.xml +++ /dev/null @@ -1,425 +0,0 @@ - - - - 1 - 0 - 1678381239 - 1678381239 - 2 - 0 - 1 - 0 - 0 - 0 - 256 - null - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 31 - 27 - 0 - Testseite - / - 1 - null - 0 - 0 - - 0 - 0 - - 0 - - 0 - 0 - null - 0 - - 0 - null - 0 - 0 - null - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 0 - - - null - 0 - 0 - - - 2 - 1 - 1678700400 - 1678700400 - 2 - 0 - 1 - 0 - 0 - 0 - 128 - null - 0 - 0 - 0 - 0 - 0 - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 31 - 27 - 0 - dlf - / - 254 - null - 0 - 0 - - 0 - 0 - - 0 - - 0 - 0 - null - 0 - - 0 - null - 0 - 0 - null - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 0 - - - null - 0 - 0 - - - - 1 - 1 - 1678881727 - 1678881663 - 2 - 0 - 0 - 0 - 0 - 256 - null - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - NEW SITE - - 1 - 3 - EXT:fluid_styled_content/Configuration/TypoScript/,EXT:dlf/Configuration/TypoScript/ - plugin.tx_dlf.persistence.storagePid = 2 - - - 0 - 0 - - - - 1 - - 1 - 1678700622 - 1678700488 - 2 - 0 - 0 - 0 - 0 - - 256 - 0 - 0 - 0 - 0 - 0 - a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} - 0 - 0 - 0 - 0 - 0 - 0 - 0 - list -
- - null - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - default - 0 - - - null - null - 0 - - - 0 - 0 - dlf_collection - 1 - 0 - null - 0 - - - - 0 - 0 - 0 - - - - - - - 1 - - - 4 - - - -1 - - - 0 - - - 0 - - - - - - - - - - - - - - - ]]> - - 0 - - null - - - null - 124 - 0 - 0 - 0 - 0 -
- - - 2 - - 1 - 1678700622 - 1678700488 - 2 - 0 - 0 - 0 - 0 - - 256 - 0 - 0 - 0 - 0 - 0 - a:23:{s:5:"CType";N;s:6:"colPos";N;s:6:"header";N;s:13:"header_layout";N;s:15:"header_position";N;s:4:"date";N;s:11:"header_link";N;s:9:"subheader";N;s:9:"list_type";N;s:11:"pi_flexform";N;s:11:"frame_class";N;s:18:"space_before_class";N;s:17:"space_after_class";N;s:12:"sectionIndex";N;s:9:"linkToTop";N;s:16:"sys_language_uid";N;s:6:"hidden";N;s:9:"starttime";N;s:7:"endtime";N;s:8:"fe_group";N;s:8:"editlock";N;s:10:"categories";N;s:14:"rowDescription";N;} - 0 - 0 - 0 - 0 - 0 - 0 - 0 - list -
- - null - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - default - 0 - - - null - null - 0 - - - 0 - 0 - dlf_calendar - 1 - 0 - null - 0 - - - - 0 - 0 - 0 - - - - - - - 1 - - - 4 - - - -1 - - - 0 - - - 0 - - - - - - - - - - - - - - - ]]> - - 0 - - null - - - null - 124 - 0 - 0 - 0 - 0 -
- - - 1 - 0 - 1678700538 - 1678700538 - 2 - 0 - 0 - 0 - a:16:{s:16:"sys_language_uid";N;s:11:"l18n_parent";N;s:6:"hidden";N;s:8:"fe_group";N;s:5:"label";N;s:10:"index_name";N;s:12:"index_search";N;s:8:"oai_name";N;s:11:"description";N;s:8:"priority";N;s:9:"documents";N;s:5:"owner";N;s:12:"fe_cruser_id";N;s:13:"fe_admin_lock";N;s:6:"status";N;s:9:"thumbnail";N;} - 0 - - 0 - 0 - - test-collection - - test-collection - - - 3 - 0 - 0 - 0 - -
diff --git a/Tests/Fixtures/Controller/solrcores.csv b/Tests/Fixtures/Controller/solrcores.csv new file mode 100644 index 000000000..a2c055c4e --- /dev/null +++ b/Tests/Fixtures/Controller/solrcores.csv @@ -0,0 +1,3 @@ +tx_dlf_solrcores,,,,,,,, +,uid,pid,tstamp,crdate,cruser_id,deleted,label,index_name +,4,0,1631254345,1631186030,1,0,Controller Solr Testing Core, diff --git a/Tests/Fixtures/Controller/solrcores.xml b/Tests/Fixtures/Controller/solrcores.xml deleted file mode 100644 index c49d6dfca..000000000 --- a/Tests/Fixtures/Controller/solrcores.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - 4 - 0 - 1631254345 - 1631186030 - 1 - 0 - - - - diff --git a/Tests/Functional/Controller/AbstractControllerTest.php b/Tests/Functional/Controller/AbstractControllerTest.php index 1b76c947f..9349e1c4f 100644 --- a/Tests/Functional/Controller/AbstractControllerTest.php +++ b/Tests/Functional/Controller/AbstractControllerTest.php @@ -30,7 +30,7 @@ abstract class AbstractControllerTest extends FunctionalTestCase protected function setUpData($databaseFixtures): void { foreach ($databaseFixtures as $filePath) { - $this->importDataSet($filePath); + $this->importCSVDataSet($filePath); } $this->persistenceManager = $this->objectManager->get(PersistenceManager::class); $this->initializeRepository(DocumentRepository::class, 0); diff --git a/Tests/Functional/Controller/AudioPlayerControllerTest.php b/Tests/Functional/Controller/AudioPlayerControllerTest.php index 4fefc3253..f0e238bcb 100644 --- a/Tests/Functional/Controller/AudioPlayerControllerTest.php +++ b/Tests/Functional/Controller/AudioPlayerControllerTest.php @@ -17,8 +17,8 @@ class AudioPlayerControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents_local.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', + __DIR__ . '/../../Fixtures/Controller/documents_local.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', ]; public function setUp(): void diff --git a/Tests/Functional/Controller/CalendarControllerTest.php b/Tests/Functional/Controller/CalendarControllerTest.php index 8d03a1800..630a8c89e 100644 --- a/Tests/Functional/Controller/CalendarControllerTest.php +++ b/Tests/Functional/Controller/CalendarControllerTest.php @@ -19,10 +19,10 @@ class CalendarControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/documents_calendar.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml', - __DIR__ . '/../../Fixtures/Controller/metadata.xml' + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/documents_calendar.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv', + __DIR__ . '/../../Fixtures/Controller/metadata.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/CollectionControllerTest.php b/Tests/Functional/Controller/CollectionControllerTest.php index 512302acf..2944fb55a 100644 --- a/Tests/Functional/Controller/CollectionControllerTest.php +++ b/Tests/Functional/Controller/CollectionControllerTest.php @@ -18,8 +18,8 @@ class CollectionControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; static array $solrFixtures = [ diff --git a/Tests/Functional/Controller/FeedsControllerTest.php b/Tests/Functional/Controller/FeedsControllerTest.php index 9a1cdae9b..6ee681ca9 100644 --- a/Tests/Functional/Controller/FeedsControllerTest.php +++ b/Tests/Functional/Controller/FeedsControllerTest.php @@ -18,9 +18,9 @@ class FeedsControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/ListViewControllerTest.php b/Tests/Functional/Controller/ListViewControllerTest.php index c802081bc..2bfae6f67 100644 --- a/Tests/Functional/Controller/ListViewControllerTest.php +++ b/Tests/Functional/Controller/ListViewControllerTest.php @@ -17,8 +17,8 @@ class ListViewControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; static array $solrFixtures = [ diff --git a/Tests/Functional/Controller/MetadataControllerTest.php b/Tests/Functional/Controller/MetadataControllerTest.php index a99275329..373e9bfd6 100644 --- a/Tests/Functional/Controller/MetadataControllerTest.php +++ b/Tests/Functional/Controller/MetadataControllerTest.php @@ -17,9 +17,9 @@ class MetadataControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/NavigationControllerTest.php b/Tests/Functional/Controller/NavigationControllerTest.php index 537e92b79..8432627a1 100644 --- a/Tests/Functional/Controller/NavigationControllerTest.php +++ b/Tests/Functional/Controller/NavigationControllerTest.php @@ -21,9 +21,9 @@ class NavigationControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/PageGridControllerTest.php b/Tests/Functional/Controller/PageGridControllerTest.php index ea5874aa5..6476324bd 100644 --- a/Tests/Functional/Controller/PageGridControllerTest.php +++ b/Tests/Functional/Controller/PageGridControllerTest.php @@ -17,9 +17,9 @@ class PageGridControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents_local.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents_local.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/PageViewControllerTest.php b/Tests/Functional/Controller/PageViewControllerTest.php index 8f2fed022..794e1caff 100644 --- a/Tests/Functional/Controller/PageViewControllerTest.php +++ b/Tests/Functional/Controller/PageViewControllerTest.php @@ -17,9 +17,9 @@ class PageViewControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents_local.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents_local.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/SearchControllerTest.php b/Tests/Functional/Controller/SearchControllerTest.php index b7c9a4699..e0fde14b4 100644 --- a/Tests/Functional/Controller/SearchControllerTest.php +++ b/Tests/Functional/Controller/SearchControllerTest.php @@ -19,9 +19,9 @@ class SearchControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/documents.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/documents.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; static array $solrFixtures = [ diff --git a/Tests/Functional/Controller/StatisticsControllerTest.php b/Tests/Functional/Controller/StatisticsControllerTest.php index a02cc64f6..258ac31c7 100644 --- a/Tests/Functional/Controller/StatisticsControllerTest.php +++ b/Tests/Functional/Controller/StatisticsControllerTest.php @@ -17,9 +17,9 @@ class StatisticsControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml', - __DIR__ . '/../../Fixtures/Controller/documents.xml' + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv', + __DIR__ . '/../../Fixtures/Controller/documents.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/TableOfContentsControllerTest.php b/Tests/Functional/Controller/TableOfContentsControllerTest.php index 40fa5ac02..7999d3a9c 100644 --- a/Tests/Functional/Controller/TableOfContentsControllerTest.php +++ b/Tests/Functional/Controller/TableOfContentsControllerTest.php @@ -17,9 +17,9 @@ class TableOfContentsControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void diff --git a/Tests/Functional/Controller/ToolboxControllerTest.php b/Tests/Functional/Controller/ToolboxControllerTest.php index 3c276b17b..557c12b77 100644 --- a/Tests/Functional/Controller/ToolboxControllerTest.php +++ b/Tests/Functional/Controller/ToolboxControllerTest.php @@ -17,9 +17,9 @@ class ToolboxControllerTest extends AbstractControllerTest { static array $databaseFixtures = [ - __DIR__ . '/../../Fixtures/Controller/documents_local.xml', - __DIR__ . '/../../Fixtures/Controller/pages.xml', - __DIR__ . '/../../Fixtures/Controller/solrcores.xml' + __DIR__ . '/../../Fixtures/Controller/documents_local.csv', + __DIR__ . '/../../Fixtures/Controller/pages.csv', + __DIR__ . '/../../Fixtures/Controller/solrcores.csv' ]; public function setUp(): void From eb756a2d756c1777283745e9bd314f6bdba321fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6hr?= Date: Tue, 27 Feb 2024 17:41:14 +0100 Subject: [PATCH 6/7] Adapt test to code changes --- Tests/Functional/Controller/PageGridControllerTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/Functional/Controller/PageGridControllerTest.php b/Tests/Functional/Controller/PageGridControllerTest.php index 6476324bd..135f8de49 100644 --- a/Tests/Functional/Controller/PageGridControllerTest.php +++ b/Tests/Functional/Controller/PageGridControllerTest.php @@ -36,9 +36,9 @@ public function canMainAction() $_POST['tx_dlf'] = ['id' => 2001]; $settings = []; $templateHtml = ' - pageGridEntries: - pageGridEntries[0]:{pageGridEntries.0.pagination}, {pageGridEntries.0.thumbnail} - pageGridEntries[1]:{pageGridEntries.1.pagination}, {pageGridEntries.1.thumbnail} + pageGridEntries: + pageGridEntries[0]:{paginator.paginatedItems.0.pagination}, {paginator.paginatedItems.0.thumbnail} + pageGridEntries[1]:{paginator.paginatedItems.1.pagination}, {paginator.paginatedItems.1.thumbnail} docUid:{docUid} '; $controller = $this->setUpController(PageGridController::class, $settings, $templateHtml); From 8ef040a97a3d7de1027001a6cc70dc8d34fc634d Mon Sep 17 00:00:00 2001 From: Christopher Timm Date: Thu, 18 Jul 2024 09:48:00 +0200 Subject: [PATCH 7/7] Create solr core and db solrCore for each test --- Tests/Fixtures/Controller/documents.solr.json | 6 ++--- Tests/Functional/Api/OaiPmhTest.php | 2 +- .../Functional/Common/SolrSearchQueryTest.php | 13 +++------ Tests/Functional/Common/SolrSearchTest.php | 13 +++------ Tests/Functional/Common/SolrTest.php | 19 +++++-------- .../Controller/AbstractControllerTest.php | 27 ++++++++++++++----- .../Controller/CalendarControllerTest.php | 4 +-- .../Controller/CollectionControllerTest.php | 8 +++--- .../Controller/FeedsControllerTest.php | 2 +- .../Controller/ListViewControllerTest.php | 5 ++-- .../Controller/MetadataControllerTest.php | 2 +- .../Controller/NavigationControllerTest.php | 4 +-- .../Controller/PageViewControllerTest.php | 2 +- .../Controller/SearchControllerTest.php | 6 ++--- .../Controller/StatisticsControllerTest.php | 2 +- .../Controller/ToolboxControllerTest.php | 4 +-- 16 files changed, 58 insertions(+), 61 deletions(-) diff --git a/Tests/Fixtures/Controller/documents.solr.json b/Tests/Fixtures/Controller/documents.solr.json index 23cc4f7fa..a701dc04b 100644 --- a/Tests/Fixtures/Controller/documents.solr.json +++ b/Tests/Fixtures/Controller/documents.solr.json @@ -9,7 +9,7 @@ "sid": "LOG_0000", "toplevel": true, "type": "manuscript", - "type_faceting": "manuscript", + "type_faceting": ["manuscript"], "title": "10 Keyboard pieces - Go. S. 658", "record_id": "oai:de:slub-dresden:db:id-476251419", "purl": "http://digital.slub-dresden.de/id476251419", @@ -43,7 +43,7 @@ "sid": "LOG_0001", "toplevel": false, "type": "other", - "type_faceting": "other", + "type_faceting": ["other"], "title": "Beigefügte Quellenbeschreibung", "location": "https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml", "collection": [ @@ -72,7 +72,7 @@ "sid": "LOG_0002", "toplevel": false, "type": "other", - "type_faceting": "other", + "type_faceting": ["other"], "title": "Beigefügtes Inhaltsverzeichnis", "location": "https://digital.slub-dresden.de/data/kitodo/10Kepi_476251419/10Kepi_476251419_mets.xml", "collection": [], diff --git a/Tests/Functional/Api/OaiPmhTest.php b/Tests/Functional/Api/OaiPmhTest.php index 01ac83acd..6f916694f 100644 --- a/Tests/Functional/Api/OaiPmhTest.php +++ b/Tests/Functional/Api/OaiPmhTest.php @@ -62,7 +62,7 @@ protected function setUpOaiSolr() static $solr = null; if ($solr === null) { - $coreName = Solr::createCore(); + $coreName = Solr::createCore('OaiCore'); $solr = Solr::getInstance($coreName); $this->importSolrDocuments($solr, __DIR__ . '/../../Fixtures/Common/documents_1.solr.json'); diff --git a/Tests/Functional/Common/SolrSearchQueryTest.php b/Tests/Functional/Common/SolrSearchQueryTest.php index fe145bb32..15cadc61b 100644 --- a/Tests/Functional/Common/SolrSearchQueryTest.php +++ b/Tests/Functional/Common/SolrSearchQueryTest.php @@ -73,15 +73,10 @@ protected function setUpSolr($uid, $storagePid, $solrFixtures) { $this->solrCoreRepository = $this->initializeRepository(SolrCoreRepository::class, $storagePid); - // Setup Solr only once for all tests in this suite - static $solr = null; - - if ($solr === null) { - $coreName = Solr::createCore(); - $solr = Solr::getInstance($coreName); - foreach ($solrFixtures as $filePath) { - $this->importSolrDocuments($solr, $filePath); - } + $coreName = Solr::createCore('solrSearchQueryTest'); + $solr = Solr::getInstance($coreName); + foreach ($solrFixtures as $filePath) { + $this->importSolrDocuments($solr, $filePath); } $coreModel = $this->solrCoreRepository->findByUid($uid); diff --git a/Tests/Functional/Common/SolrSearchTest.php b/Tests/Functional/Common/SolrSearchTest.php index 4029823f5..b1f6fec19 100644 --- a/Tests/Functional/Common/SolrSearchTest.php +++ b/Tests/Functional/Common/SolrSearchTest.php @@ -86,15 +86,10 @@ protected function setUpSolr($uid, $storagePid, $solrFixtures) { $this->solrCoreRepository = $this->initializeRepository(SolrCoreRepository::class, $storagePid); - // Setup Solr only once for all tests in this suite - static $solr = null; - - if ($solr === null) { - $coreName = Solr::createCore(); - $solr = Solr::getInstance($coreName); - foreach ($solrFixtures as $filePath) { - $this->importSolrDocuments($solr, $filePath); - } + $coreName = Solr::createCore('solrSearchTest'); + $solr = Solr::getInstance($coreName); + foreach ($solrFixtures as $filePath) { + $this->importSolrDocuments($solr, $filePath); } $coreModel = $this->solrCoreRepository->findByUid($uid); diff --git a/Tests/Functional/Common/SolrTest.php b/Tests/Functional/Common/SolrTest.php index 4a597bcf9..5e5a2e6d8 100644 --- a/Tests/Functional/Common/SolrTest.php +++ b/Tests/Functional/Common/SolrTest.php @@ -66,10 +66,10 @@ public function canEscapeQueryKeepField() */ public function canGetNextCoreNumber() { - $this->assertEquals(5, Solr::getNextCoreNumber()); - $this->assertEquals(5, Solr::getNextCoreNumber()); + $this->assertEquals(2, Solr::getNextCoreNumber()); + $this->assertEquals(2, Solr::getNextCoreNumber()); Solr::createCore(); - $this->assertEquals(6, Solr::getNextCoreNumber()); + $this->assertEquals(3, Solr::getNextCoreNumber()); } /** @@ -98,15 +98,10 @@ protected function setUpSolr($uid, $storagePid, $solrFixtures) { $this->solrCoreRepository = $this->initializeRepository(SolrCoreRepository::class, $storagePid); - // Setup Solr only once for all tests in this suite - static $solr = null; - - if ($solr === null) { - $coreName = Solr::createCore(); - $solr = Solr::getInstance($coreName); - foreach ($solrFixtures as $filePath) { - $this->importSolrDocuments($solr, $filePath); - } + $coreName = Solr::createCore('SolrTestCore'); + $solr = Solr::getInstance($coreName); + foreach ($solrFixtures as $filePath) { + $this->importSolrDocuments($solr, $filePath); } $coreModel = $this->solrCoreRepository->findByUid($uid); diff --git a/Tests/Functional/Controller/AbstractControllerTest.php b/Tests/Functional/Controller/AbstractControllerTest.php index 9349e1c4f..87d2b8c5e 100644 --- a/Tests/Functional/Controller/AbstractControllerTest.php +++ b/Tests/Functional/Controller/AbstractControllerTest.php @@ -14,6 +14,7 @@ use Kitodo\Dlf\Common\Solr\Solr; use Kitodo\Dlf\Controller\AbstractController; +use Kitodo\Dlf\Domain\Model\SolrCore; use Kitodo\Dlf\Domain\Repository\DocumentRepository; use Kitodo\Dlf\Domain\Repository\SolrCoreRepository; use Kitodo\Dlf\Tests\Functional\FunctionalTestCase; @@ -26,6 +27,9 @@ abstract class AbstractControllerTest extends FunctionalTestCase { + public $currentSolrUid = 1; + + public $currentCoreName = ''; protected function setUpData($databaseFixtures): void { @@ -33,15 +37,21 @@ protected function setUpData($databaseFixtures): void $this->importCSVDataSet($filePath); } $this->persistenceManager = $this->objectManager->get(PersistenceManager::class); - $this->initializeRepository(DocumentRepository::class, 0); + $documentRepository = $this->initializeRepository(DocumentRepository::class, 0); + + $allFixtureDocuments = $documentRepository->findAll(); + foreach ($allFixtureDocuments as $document) { + $document->setSolrCore($this->currentSolrUid); + $documentRepository->update($document); + } + $this->persistenceManager->persistAll(); } - protected function setUpSolr($uid, $storagePid, $solrFixtures) + protected function setUpSolr($uid, $storagePid, $solrFixtures, $name = '') { $this->solrCoreRepository = $this->initializeRepository(SolrCoreRepository::class, $storagePid); - // Setup Solr only once for all tests in this suite - static $solr = null; + $solr = null; if ($solr === null) { $coreName = Solr::createCore(); @@ -51,10 +61,13 @@ protected function setUpSolr($uid, $storagePid, $solrFixtures) } } - $coreModel = $this->solrCoreRepository->findByUid($uid); - $coreModel->setIndexName($solr->core); - $this->solrCoreRepository->update($coreModel); + $coreModel = new SolrCore(); + $coreModel->setIndexName($coreName); + $this->solrCoreRepository->add($coreModel); $this->persistenceManager->persistAll(); + $this->currentSolrUid = $coreModel->getUid(); + $this->currentCoreName = $coreName; + } protected function setUpRequest($actionName, $arguments = []): Request diff --git a/Tests/Functional/Controller/CalendarControllerTest.php b/Tests/Functional/Controller/CalendarControllerTest.php index 630a8c89e..f95f834bb 100644 --- a/Tests/Functional/Controller/CalendarControllerTest.php +++ b/Tests/Functional/Controller/CalendarControllerTest.php @@ -36,7 +36,7 @@ public function setUp(): void */ public function canCalendarAction() { - $settings = ['solrcore' => 4]; + $settings = ['solrcore' => $this->currentSolrUid]; $templateHtml = ' calendarData: @@ -89,7 +89,7 @@ public function canMainAction() */ public function canYearsAction() { - $settings = ['solrcore' => 4]; + $settings = ['solrcore' => $this->currentSolrUid]; $templateHtml = ' documentId: {documentId} allYearDocTitle: {allYearDocTitle} diff --git a/Tests/Functional/Controller/CollectionControllerTest.php b/Tests/Functional/Controller/CollectionControllerTest.php index 2944fb55a..fae72fafc 100644 --- a/Tests/Functional/Controller/CollectionControllerTest.php +++ b/Tests/Functional/Controller/CollectionControllerTest.php @@ -39,7 +39,7 @@ public function setUp(): void public function canListAction() { $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'dont_show_single' => 'some_value', 'randomize' => '' @@ -62,7 +62,7 @@ public function canListAction() public function canListActionForwardToShow() { $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'randomize' => '' ]; @@ -80,7 +80,7 @@ public function canListActionForwardToShow() public function canShowAction() { $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'dont_show_single' => 'some_value', 'randomize' => '' @@ -104,7 +104,7 @@ public function canShowAction() public function canShowSortedAction() { $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'dont_show_single' => 'some_value', 'randomize' => '' diff --git a/Tests/Functional/Controller/FeedsControllerTest.php b/Tests/Functional/Controller/FeedsControllerTest.php index 6ee681ca9..abf1ff3a5 100644 --- a/Tests/Functional/Controller/FeedsControllerTest.php +++ b/Tests/Functional/Controller/FeedsControllerTest.php @@ -36,7 +36,7 @@ public function canMainAction() { $GLOBALS['LANG'] = LanguageService::create('default'); $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'limit' => 1 ]; diff --git a/Tests/Functional/Controller/ListViewControllerTest.php b/Tests/Functional/Controller/ListViewControllerTest.php index 2bfae6f67..847a46f8e 100644 --- a/Tests/Functional/Controller/ListViewControllerTest.php +++ b/Tests/Functional/Controller/ListViewControllerTest.php @@ -44,7 +44,7 @@ public function canMainAction(): void ] ]; $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'storagePid' => 2, 'dont_show_single' => 'some_value', 'randomize' => '' @@ -52,9 +52,8 @@ public function canMainAction(): void $templateHtml = ' uniqueId-length: {viewData.uniqueId} - page: {viewData.requestData.page} + page: {page} double: {viewData.requestData.double} - widgetPage: {widgetPage.currentPage} lastSearch.query: {lastSearch.query} numResults: {numResults} diff --git a/Tests/Functional/Controller/MetadataControllerTest.php b/Tests/Functional/Controller/MetadataControllerTest.php index 373e9bfd6..2ac44aab9 100644 --- a/Tests/Functional/Controller/MetadataControllerTest.php +++ b/Tests/Functional/Controller/MetadataControllerTest.php @@ -34,7 +34,7 @@ public function setUp(): void public function canMainAction() { $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'storagePid' => 0 ]; $templateHtml = ' diff --git a/Tests/Functional/Controller/NavigationControllerTest.php b/Tests/Functional/Controller/NavigationControllerTest.php index 8432627a1..83bb5fd46 100644 --- a/Tests/Functional/Controller/NavigationControllerTest.php +++ b/Tests/Functional/Controller/NavigationControllerTest.php @@ -43,7 +43,7 @@ public function canMainAction() numPages: {numPages} pageOptions:{entry}, '; - $controller = $this->setUpController(NavigationController::class, ['solrcore' => 4], $templateHtml); + $controller = $this->setUpController(NavigationController::class, ['solrcore' => $this->currentSolrUid], $templateHtml); $request = $this->setUpRequest('main'); $response = $this->getResponse(); $GLOBALS['TSFE']->fe_user = new FrontendUserAuthentication(); @@ -69,7 +69,7 @@ public function canPageSelectAction() $pageSelectForm->setPage(2); $pageSelectForm->setDouble(false); - $controller = $this->setUpController(NavigationController::class, ['solrcore' => 4], ''); + $controller = $this->setUpController(NavigationController::class, ['solrcore' => $this->currentSolrUid], ''); $request = $this->setUpRequest('pageSelect', ['pageSelectForm' => $pageSelectForm]); $response = $this->getResponse(); diff --git a/Tests/Functional/Controller/PageViewControllerTest.php b/Tests/Functional/Controller/PageViewControllerTest.php index 794e1caff..a626667d3 100644 --- a/Tests/Functional/Controller/PageViewControllerTest.php +++ b/Tests/Functional/Controller/PageViewControllerTest.php @@ -45,7 +45,7 @@ public function canMainAction() {image.mimetype} viewerConfiguration:{viewerConfiguration} '; - $controller = $this->setUpController(PageViewController::class, ['solrcore' => 4], $templateHtml); + $controller = $this->setUpController(PageViewController::class, ['solrcore' => $this->currentSolrUid], $templateHtml); $request = $this->setUpRequest('main'); $response = $this->getResponse(); diff --git a/Tests/Functional/Controller/SearchControllerTest.php b/Tests/Functional/Controller/SearchControllerTest.php index e0fde14b4..c994054cd 100644 --- a/Tests/Functional/Controller/SearchControllerTest.php +++ b/Tests/Functional/Controller/SearchControllerTest.php @@ -31,8 +31,8 @@ class SearchControllerTest extends AbstractControllerTest public function setUp(): void { parent::setUp(); - $this->setUpData(self::$databaseFixtures); $this->setUpSolr(4, 0, self::$solrFixtures); + $this->setUpData(self::$databaseFixtures); } /** @@ -52,7 +52,7 @@ public function canMainAction() ] ]; $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'extendedFields' => 'field1,field2,field3', 'extendedSlotCount' => 1 ]; @@ -94,7 +94,7 @@ public function canMakeFacetsMenuArray() 'query' => '*' ]; $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'storagePid' => 0, 'facets' => 'type', 'facetCollections' => '1' diff --git a/Tests/Functional/Controller/StatisticsControllerTest.php b/Tests/Functional/Controller/StatisticsControllerTest.php index 258ac31c7..f2efabd66 100644 --- a/Tests/Functional/Controller/StatisticsControllerTest.php +++ b/Tests/Functional/Controller/StatisticsControllerTest.php @@ -36,7 +36,7 @@ public function canMainAction() $GLOBALS['LANG'] = LanguageService::create('default'); $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'collections' => '1', 'storagePid' => '0', 'description' => 'There are ###TITLES### and ###VOLUMES###.' diff --git a/Tests/Functional/Controller/ToolboxControllerTest.php b/Tests/Functional/Controller/ToolboxControllerTest.php index 557c12b77..a8cb5dfc4 100644 --- a/Tests/Functional/Controller/ToolboxControllerTest.php +++ b/Tests/Functional/Controller/ToolboxControllerTest.php @@ -139,7 +139,7 @@ public function canMainAction() 'double' => 1 ]; $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'library' => 1, 'tools' => 'tx_dlf_annotationtool', 'limit' => 1 @@ -197,7 +197,7 @@ public function canSearchindocumenttool() 'page' => 1 ]; $settings = [ - 'solrcore' => 4, + 'solrcore' => $this->currentSolrUid, 'tools' => 'tx_dlf_searchindocumenttool', 'queryInputName' => 'queryInputName', 'startInputName' => 'startInputName',