Skip to content
Snippets Groups Projects
Commit b2bfd7ae authored by Robert Lange's avatar Robert Lange Committed by Dorian Merz
Browse files

refs #20620 [finc] add tests for getUrls

* handle warning in SolrMarcFincTrait for empty indicator
* add tests and fixtures for #20600 and #18915
* run with: docker exec -it [your php container] sh -c "vendor/bin/phpunit --configuration module/finc/tests/phpunit.xml module/finc/tests/unit-tests/src/fincTest/RecordDriver/SolrMarcFincTestCase.php"
parent 4f75c461
Branches
Tags
No related merge requests found
03910nam a22009732 45000010013000000030007000130050017000200070015000370080041000520240039000930350023001320350026001550350022001810400031002030410008002340840043002421000030002852450247003152460014005622640009005763000037005853360026006223370032006483380037006805000057007175020058007745060106008325330104009385350015010425400083010575400104011405830068012446550091013127510074014037760214014778500007016918560114016988560119018129120016019319360192019479510007021398520032021468560065021788520031022439700007022749710010022819720010022919730007023019350009023088520016023178520018023338520017023518520017023688520018023858520016024038520018024198520018024378520018024558520017024738520017024908520018025078520017025258560065025428520031026079700007026389710010026459720010026559730007026659350009026728520016026818520018026978520017027158520017027328520018027498520016027678520018027838520018028018520018028198520017028378520017028548520018028718520017028899800030029060-1763648745DE-62720210719201444.0cr uuu---uuuuu210719s1965 xx |||||om 00| ||ger c7 aurn:nbn:de:bsz:15-0020-3325332urn a(DE-627)1763648745 a(DE-599)KXP1763648745 a(OCoLC)1260628169 aDE-627bgercDE-627erakwb ager aZX 70002rvk0(DE-625)rvk/158439:142571 aGöldner, Karl-Heinz4aut10aZum gegenseitigen Führen, Ein- und Unterordnen der Schüler im Sportunterrichtbein Beitrag zur Erziehung der Schüler zur Kollektivität im Sportunterricht; dargestellt auf der Grundlage eines pädagogischen ExperimentscKarl-Heinz Göldner30aEinordnen 1c1965 aIX, 200, XXVI Bl.bgraph. Darst. aTextbtxt2rdacontent aComputermedienbc2rdamedia aOnline-Ressourcebcr2rdacarrier aWahrnehmung der Rechte durch die VG Wort (§ 51 VGG) aLeipzig, Dt. Hochsch. für Körperkultur, Diss., 19650 qDE-15aOpen AccesseControlled Vocabulary for Access Rightsuhttp://purl.org/coar/access_right/c_abf2 aOnline-AusgabebLeipzigcUniversitätsbibliothek Leipzigd2020e1 Online-Ressource7|2020||||||||||1 aUB Leipzig qDE-15aUrheberrechtsschutz 1.02rsuhttp://rightsstatements.org/vocab/InC/1.0/ qDE-15aFreier Zugang - Rechte vorbehalten 1.0fUBL FZ-RV 1.0uhttps://www.ub.uni-leipzig.de/fz-rv-11 aArchivierung/Langzeitarchivierung gewährleistet2pdager5DE-15 7aHochschulschrift0(DE-588)4113937-90(DE-627)1058257780(DE-576)2094805802gnd-content aLeipzig0(DE-588)4035206-70(DE-627)1047989980(DE-576)2090112464uvp08iElektronische Reproduktion vonaGöldner, Karl-HeinztZum gegenseitigen Führen, Ein- und Unterordnen der Schüler im Sportunterrichtd1965hIX, 200, XXVI Bl.w(DE-627)142511671Xw(DE-576)355116715nUB Leipzig aaa40uhttp://nbn-resolving.org/urn:nbn:de:bsz:15-0020-332533xDigitalisierungyOnline-Zugriffzkostenfrei3Volltext42uhttps://iiif.ub.uni-leipzig.de/0000030933/manifest.jsonmB:DE-15qapplication/jsonxDigitalisierungyIIIF-Manifest aZDB-175-LHSrvaZX 7000bAllgemeines; EinführungenkSportkSportwissenschaftkTheorie des SportskAllgemeineskAllgemeines; Einführungen0(DE-627)139653542X0(DE-625)rvk/158439:142570(DE-576)32653542X aBO aDE-15z2021-07-19T00:00:00Z40uhttp://nbn-resolving.org/urn:nbn:de:bsz:15-0020-3325339LFER aLFERz2021-08-10T19:50:52Z cOD cEBOOK cEBOOK cEB alfer 2lferaDE-15 2lferaDE-Brt1 2lferaDE-Rs1 2lferaDE-Ch1 2lferaDE-L229 2lferaDE-14 2lferaDE-Pl11 2lferaDE-Gla1 2lferaDE-Zwi2 2lferaDE-Zi4 2lferaDE-Bn3 2lferaDE-D161 2lferaDE-10540uhttp://nbn-resolving.org/urn:nbn:de:bsz:15-0020-3325339LFER aLFERz2021-09-14T20:01:17Z cOD cEBOOK cEBOOK cEB alfer 2lferaDE-15 2lferaDE-Brt1 2lferaDE-Rs1 2lferaDE-Ch1 2lferaDE-L229 2lferaDE-14 2lferaDE-Pl11 2lferaDE-Gla1 2lferaDE-Zwi2 2lferaDE-Zi4 2lferaDE-Bn3 2lferaDE-D161 2lferaDE-105 a1763648745b0k1763648745
\ No newline at end of file
[
{
"url": "http://nbn-resolving.org/urn:nbn:de:bsz:15-0020-332533",
"desc": "Full Text",
"indicators": "40"
},
{
"url": "https://iiif.ub.uni-leipzig.de/0000030933/manifest.json",
"desc": "IIIF-Manifest, Digitalisierung",
"indicators": "42"
}
]
\ No newline at end of file
03104naa a2200997 45000010013000000030007000130050017000200070015000370080041000520240041000930350023001340350022001570350025001790400031002040410008002350820008002431000091002512450062003422640051004043000021004553360026004763370032005023380037005345910065005716500071006366500076007076500074007836510070008579510007009278560083009348520032010179500009010499500014010589500017010729500010010899500015010999500028011149500018011429500011011609500011011719500015011829500009011979500010012069500015012169500014012319500014012459500025012599500029012849500035013139500016013489500012013649500018013769500015013949500015014099500023014249500030014479500009014779500039014869500031015259500009015569500042015659500048016079500041016559500010016969500040017069500009017469500011017559500027017669500007017939500015018009500025018159500026018409500022018669500020018889500019019089500014019279500013019419500015019549500017019699500017019869500015020039510010020189510010020288520027020389800041020650-1497294835DE-62720150306122414.0cr uuu---uuuuu150306s2015 xx |||||o 00| ||eng c7 aurn:nbn:de:bsz:15-qucosa-1619432urn a(DE-627)1497294835 a(DE-576)427294835 a(DE-599)BSZ427294835 aDE-627bgercDE-627erakwb aeng0 a7911 aStoppe, Sebastiand1978-0(DE-588)13178076X0(DE-627)6633567330(DE-576)34640150X4aut10aHow predictable are the Academy Awards?cSebastian Stoppe 1aLeipzigbUniversitätsbibliothek Leipzigc2015 aOnline-Ressource aTextbtxt2rdacontent aComputermedienbc2rdamedia aOnline-Ressourcebcr2rdacarrier aworkingPaper ; IMD-Felder und 1131 maschinell ergänzt (SWB)070(DE-588)4017102-40(DE-627)1045596830(DE-576)208918531aFilm2gnd070(DE-588)4204337-20(DE-627)10514410X0(DE-576)210161345aFilmpreis2gnd070(DE-588)4005227-80(DE-627)1047680290(DE-576)208859845aUmfrage2gnd 70(DE-588)4078704-70(DE-627)1060766120(DE-576)209209682aUSA2gnd aAR4 uhttp://nbn-resolving.de/urn:nbn:de:bsz:15-qucosa-161943yOnline-Zugriff9DE-15 aDE-15z2015-03-06T12:24:14Z aKino aSpielfilm aFilmaufnahme aFilme aSpielfilme aAudiovisuelles Material aVideokassette a电影 a電影 aФильм aFilm aPreis aFilmpreise a电影奬 a電影奬 aКинопремия aUnited States of America aVereinigte Staaten von Amerika aNordamerika aAmerika aUnited States aEtats Unis aEtats-Unis aVereinigte Staaten aEstados Unidos de America aEEUU aVereinigte Staaten von Nordamerika aSoedinennye Štaty Ameriki aSŠA aStany Zjednoczone Ameryki Północnej aHēnōmenai Politeiai tēs Boreiu Amerikēs aHēnōmenes Politeies tēs Amerikēs aHēPA aĒnōmenes Politeies tēs Amerikēs aĒPA aMeiguo aEtats-Unis d'Amérique aUS aAmerikaner aBevölkerungsumfrage aRepräsentativumfrage aMeinungsbefragung aMeinungsumfrage aVolksbefragung aBefragung aUmfragen aDemoskopie a民意调查 a民意調查 aОпрос aXD-US bXA-DE 2fincaFID-MEDIEN-DE-15 a1497294835b0k1497294835o427294835
\ No newline at end of file
[
{
"url": "http://nbn-resolving.de/urn:nbn:de:bsz:15-qucosa-161943",
"desc": "Online-Zugriff",
"indicators": "4 "
}
]
\ No newline at end of file
01725cam a2200397157450000100200000000700150002000800390003504100080007403700360008210000220011824500440014026000790018452005410026350000170080485600780082165000340089965000150093365000220094865000210097065000090099165000350100065000110103565000140104665000190106065000260107965000110110565000220111665000190113865000090115765000200116665000290118665000100121565000110122508200080123698000830124422-15-qucosa-161943cr |||||||||||150101s2015 xx eng aeng nurn:nbn:de:bsz:15-qucosa-161943 aStoppe, Sebastian aHow predictable are the Academy Awards? bUniversitätsbibliothek Leipzigc2015g(issued 2015-03-06)9(created 2015)3 aBy conducting an explorative study it is tried to determine whether a sample of film enthusiasts can produce a similar result in judging for the 87th Academy Awards for movies in 2014 like the actual Academy members or not. An online survey has been created and the votes cast by the participants have been tabulated. It can be shown that the results of the simulated awards voting in the survey are quite similar to the actual Academy decision. However, additional adjustments and further studies are recommended to ensure the results. aworkingPaper41uhttps://nbn-resolving.org/urn:nbn:de:bsz:15-qucosa-161943zOnline-Zugriff 4aAcademy Awards. Rangfolgewahl 4aWahlzettel 4aeinfache Mehrheit 4aVorhersagbarkeit 4aFilm 4aVereinigte Staaten von Amerika 4aStudie 4aBefragung 4aAcademy Awards 4ainstant runoff voting 4aballot 4arelative majority 4apredictability 4afilm 4amotion pictures 4aUnited States of America 4astudy 4asurvey0 a791 aurn:nbn:de:bsz:15-qucosa-161943b22csid-22-col-qucosa-adlrcsid-22-col-qucosa
\ No newline at end of file
[
{
"url": "https://nbn-resolving.org/urn:nbn:de:bsz:15-qucosa-161943",
"desc": "Online-Zugriff",
"indicators": "41"
}
]
\ No newline at end of file
...@@ -28,8 +28,9 @@ ...@@ -28,8 +28,9 @@
*/ */
namespace fincTest\RecordDriver; namespace fincTest\RecordDriver;
use VuFindTest\Unit\TestCase as VuFindTestCase;
use finc\RecordDriver\SolrMarcFinc as SolrMarcFincDriver; use finc\RecordDriver\SolrMarcFinc as SolrMarcFincDriver;
use finc\RecordDriver\SolrMarcFincTrait;
use VuFindTest\Unit\TestCase as VuFindTestCase;
/** /**
* SolrMarcTestCase * SolrMarcTestCase
...@@ -38,6 +39,7 @@ use finc\RecordDriver\SolrMarcFinc as SolrMarcFincDriver; ...@@ -38,6 +39,7 @@ use finc\RecordDriver\SolrMarcFinc as SolrMarcFincDriver;
* @package finc * @package finc
* @author Guenter Hipler <guenter.hipler@unibas.ch> * @author Guenter Hipler <guenter.hipler@unibas.ch>
* @author Frank Morgner <morgnerf@ub.uni-leipzig.de> * @author Frank Morgner <morgnerf@ub.uni-leipzig.de>
* @author Robert Lange <lange@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
* @link http://vufind.org * @link http://vufind.org
*/ */
...@@ -73,11 +75,62 @@ class SolrMarcFincTestCase extends VuFindTestCase ...@@ -73,11 +75,62 @@ class SolrMarcFincTestCase extends VuFindTestCase
* *
* @return array * @return array
*/ */
protected function getFixtureData($file) protected function getFixtureData($file, $decode = true)
{
$content = file_get_contents(realpath(FINC_TEST_FIXTURES . '/' . $file));
return $decode ? json_decode($content, true) : $content;
}
/**
* @return void
*/
public function testGetURLs()
{
// although not current isil, link for IIIF should be shown based on indicator 2 #20600
$this->runGetURLsTestCase('IIIF_0-1763648745');
$this->runGetURLsTestCase('IIIF_0-1763648745', ['DE-15']);
// Record 0-1497294835 with isil of DE-15 in fullrecord (subfield 9) results in empty array for adlr #18915
$this->runGetURLsTestCase('isil_with_DE-15_0-1497294835', ['DE-15-FID'], []);
$this->runGetURLsTestCase('isil_with_DE-15_0-1497294835', ['FID-MEDIEN-DE-15'], []);
// .. but is shown in DE-15
$this->runGetURLsTestCase('isil_with_DE-15_0-1497294835', ['DE-15']);
// Record 0-1497294835 has no given isil in fullrecord (subfield 9) => shown as default / fallback #18915
$this->runGetURLsTestCase('no_isil_for_22-15-qucosa-161943', ['DE-15-FID']);
$this->runGetURLsTestCase('no_isil_for_22-15-qucosa-161943', ['DE-15']);
}
protected function getDriverMock()
{
return new SolrMarcFincDriverMock();
}
/**
* @return void
*/
public function runGetURLsTestCase(string $testCase, array $isils = [], $expectedResult = null)
{
$driver = $this->getDriverMock();
$driver->setFullRecord($this->getFixtureData("getUrls/{$testCase}_fullrecord.txt", false));
$driver->setIsils($isils);
$actualResult = $driver->getURLs();
$expectedResult = $expectedResult ?? $this->getFixtureData("/getUrls/{$testCase}_result.json");
$this->assertEquals($expectedResult, $actualResult);
}
}
class SolrMarcFincDriverMock extends SolrMarcFincDriver
{
use SolrMarcFincTrait;
public function setFullRecord(string $fullrecord)
{
$this->fields['fullrecord'] = $fullrecord;
}
public function setIsils(array $isils)
{ {
return json_decode( $this->isil = $isils;
file_get_contents(realpath(FINC_TEST_FIXTURES . '/' . $file)),
true
);
} }
} }
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment