Skip to content
Snippets Groups Projects
Commit 3e24a301 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

Merge branch...

Merge branch 'hotline#80536_minsoc_les_criteres_searchaxe_prend_le_pas_sur_les_criteres_custom_multifacet_' into 'hotline'

Hotline#80536 minsoc les criteres searchaxe prend le pas sur les criteres custom multifacet

See merge request !2864
parents 05745a64 2b257c36
Branches
Tags
2 merge requests!2870Hotline,!2864Hotline#80536 minsoc les criteres searchaxe prend le pas sur les criteres custom multifacet
Pipeline #5217 passed with stage
in 30 minutes and 54 seconds
- ticket #80536 : Affine le resultat de recherche multicritères: différencie les thésauri
\ No newline at end of file
......@@ -230,7 +230,8 @@ class Class_MoteurRecherche {
if (!$facet)
return;
$code = substr($facet, 0, 1);
$code = (new Class_Notice_Facette($facet))->getCodeRubrique();
if (!isset($this->multi_facets[$code]))
$this->multi_facets[$code] = [];
$this->multi_facets[$code][] = $facet;
......
......@@ -3119,6 +3119,99 @@ class RechercheControllerSimpleActionWithEmptyDomainSettingsAndSiteLinkedTest ex
class RechercheControlleSimpleActionWithMultifacetsThesauriTest extends RechercheControllerNoticeTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_CodifThesaurus',
['id' => 3,
'libelle' => 'Document',
'libelle_facette' => 'Document',
'id_thesaurus' => 'DOCU',
'id_origine' => null,
'code' => 'DOCU',
'rules' => '{"label":" 99$t "}']);
$this->fixture('Class_CodifThesaurus',
['id' => 30,
'libelle' => 'Musique',
'libelle_facette' => 'Musique',
'id_thesaurus' => 'MUSI',
'id_origine' => null,
'code' => 'MUSI',
'rules' => '{"label":" 95$t "}']);
$this->fixture('Class_CodifThesaurus',
['id' => 4,
'libelle' => 'SIFI',
'libelle_facette' => 'Science fiction',
'id_thesaurus' => 'DOCU0001',
'code' => 'SIFI',
'rules' => '{"label":" 99$t "}']);
$this->fixture('Class_CodifThesaurus',
['id' => 5,
'libelle' => 'BD',
'libelle_facette' => 'Bande dessinee',
'id_thesaurus' => 'DOCU0002',
'code' => 'BD',
'rules' => '{"label":" 99$t "}']);
$this->fixture('Class_CodifThesaurus',
['id' => 6,
'libelle' => 'BD',
'libelle_facette' => 'Manga',
'id_thesaurus' => 'DOCU00020001',
'code' => 'Manga',
'rules' => '{"label":" 90$t "}']);
$this->fixture('Class_CodifThesaurus',
['id' => 31,
'libelle' => 'Experimentale',
'libelle_facette' => 'Experimentale',
'id_origine' => 30,
'id_thesaurus' => 'MUSI0001',
'code' => 'EXPE',
'rules' => '{"label":" 95$t "}']);
$this->fixture('Class_Article',
['id' => 1,
'titre' => 'News of the sprint',
'id_user' => 1,
'indexation' => 1,
'contenu' => 'Articles are going to be auto indexed !',
'domaine_ids' => '3']);
Class_Article::find(1)->index();
$this->mock_sql
->whenCalled('fetchAll')
->with("select id_notice, facettes from notices Where MATCH(facettes) AGAINST('+(HDOCU0001 HDOCU0002 HDOCU00020001) +(HMUSI0001)' IN BOOLEAN MODE)", true, false)
->answers([ [1, ''] ])
->whenCalled('fetchOne')
->answers(1)
->whenCalled('fetchAll')
->answers([Class_Notice::find(1)->toArray()])
->beStrict();
Class_Profil::getCurrentProfil()
->setCfgModules(['recherche' =>
['resultatsimple' =>
['liste_format' => Class_Systeme_ModulesAppli::LISTE_FORMAT_MUR]]]);
$this->dispatch('/recherche/simple/multifacets/HDOCU0001-HDOCU0002-HDOCU00020001-HMUSI0001', true);
}
/** @test */
public function newsOfTheSPrintShouldExistsAsANotice() {
$this->assertNotNull(Class_Notice::find(1));
}
}
class RechercheControlleSimpleActionWithEmptyDomainSettingsAndArticlesLinkedTest extends RechercheControllerNoticeTestCase {
public function setUp() {
parent::setUp();
......
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