Skip to content
Snippets Groups Projects
Commit f13c379f authored by Laurent's avatar Laurent
Browse files

hotline #116263 templates : fix workflow usage for articles

parent a771a88c
Branches
Tags 8.0.14
1 merge request!3626hotline : non display draft articles
Pipeline #11062 passed with stage
in 48 minutes and 31 seconds
- ticket #116263 : Magasin de thèmes : correction du filtrage des articles selon leur statut lorsque le WORKFLOW est activé
\ No newline at end of file
......@@ -29,7 +29,7 @@ class Intonation_Library_Widget_Carousel_Article_View extends Intonation_Library
$loader = Class_Article::getLoader();
$this->preferences['size'] = 100;
$this->_articles = $loader->getArticlesByPreferences($this->preferences);
return $this->_articles;
return Class_Article::filterByLocaleAndWorkflow($this->_articles);
}
......
......@@ -33,7 +33,14 @@ abstract class TemplatesArticlesWidgetTestCase extends Admin_AbstractControllerT
'libelle' => 'My page'])
->setBoiteOfTypeInDivision(2,
Intonation_Library_Widget_Carousel_Article_Definition::CODE,
['all_layout' => Intonation_Library_Widget_Carousel_Definition::LISTING])
['all_layout' => Intonation_Library_Widget_Carousel_Definition::LISTING,
'order' => 'Selection',
'id_items' => '5-6-7',
'rss' => 1,
'link_to_all' => 1,
'embeded_code'=> 1,
'IntonationShowFooter' => 1,
'layout' => 'multiple_carousel'])
->assertSave();
$this->fixture('Class_Article',
......@@ -94,33 +101,79 @@ class TemplatesArticlesEditWidgetTest extends TemplatesArticlesWidgetTestCase {
class TemplatesArticlesWidgetTest extends TemplatesArticlesWidgetTestCase {
public function setUp() {
parent::setUp();
$widget = ((new Class_Systeme_Widget_Widget)
->setId(1)
->setProfileId(1)
->load());
$widget
->setNewDatas(['order' => 'Selection',
'id_items' => '5-6-7',
'rss' => 1,
'link_to_all' => 1,
'embeded_code'=> 1,
'IntonationShowFooter' => 1,
'layout' => 'multiple_carousel'])
->updateProfile();
$this
->onLoaderOfModel('Class_Article')
->whenCalled('getArticlesByPreferences')
->answers(Class_Article::findAllBy(['id_article' => [4, 6, 7]]));
$this->dispatch('/opac/index/index/id_profil/1', true);
}
public function articleTitles() {
return [
['Winter'],
['Sprechen Sie Deutsch'],
['Parlez-vous français']
];
}
/**
* @test
* @dataProvider articleTitles
*/
public function widgetCarouselArticleShouldContainsTitle($title) {
$this->assertXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]',
$title);
}
}
class TemplatesArticlesWidgetWithWorklowTest extends TemplatesArticlesWidgetTestCase {
public function setUp() {
parent::setUp();
Class_AdminVar::set('WORKFLOW', 1);
Class_Article::find(4)->beValidated()->assertSave();
Class_Article::find(6)->beDraft()->assertSave();
Class_Article::find(7)->beValidationPending()->assertSave();
$this
->onLoaderOfModel('Class_Article')
->whenCalled('getArticlesByPreferences')
->answers(Class_Article::findAllBy(['id_article' => [4, 6, 7]]));
ZendAfi_Auth::getInstance()->clearIdentity();
$this->dispatch('/opac/index/index/id_profil/1', true);
}
/** @test */
public function dispatchFrontShouldContainsSprechenSieDeutsh() {
$this->assertXPathContentContains('//div', 'Sprechen Sie Deutsch ?');
public function widgetCarouselShouldContainsValidatedArticleWinter() {
$this->assertXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]',
'Winter');
}
/** @test */
public function widgetCarouselShouldNotContainsDraftArticleSprechenSieDeutsh() {
$this->assertNotXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]',
'Sprechen Sie Deutsch ?');
}
/** @test */
public function widgetCarouselShouldNotContainsPendingArticleParlezVousFrancais() {
$this->assertNotXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]',
'Parlez-vous français ?');
}
}
......@@ -309,4 +362,4 @@ class TemplatesArticlesMapTest extends TemplatesArticlesWithLocationTestCase {
public function dataOSMShouldNotContainsArticleLostInTranslation() {
$this->assertNotXPath('//div[contains(@data-osm, "Lost in translation")]');
}
}
\ No newline at end of file
}
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