diff --git a/application/modules/admin/controllers/TypeDocsController.php b/application/modules/admin/controllers/TypeDocsController.php index 17f5274a9030aebce95121d44a67d155afcbacaa..bd0b240e39e42f20162c88325b86e8502649cb81 100644 --- a/application/modules/admin/controllers/TypeDocsController.php +++ b/application/modules/admin/controllers/TypeDocsController.php @@ -32,11 +32,22 @@ class Admin_TypeDocsController extends ZendAfi_Controller_Action { 'actions' => ['edit' => ['title' => 'Modification du type de document: %s'], 'index' => ['title' => 'Types de documents']], - 'display_groups' => ['definition' => ['legend' => 'Définition', - 'elements' => ['famille_id' => ['element' => 'select', - 'options' => ['multiOptions' => Class_CodifTypeDoc::getFamillesLibelles(), - 'label' => 'Famille du document: ', - 'required' => true]] ]]], + + 'display_groups' => [ + 'definition' => [ + 'legend' => 'Définition', + 'elements' => [ + 'label' => ['element' => 'text', + 'options' => ['label' => 'Libellé: ', + 'required' => true]], + + 'famille_id' => ['element' => 'select', + 'options' => ['multiOptions' => Class_CodifTypeDoc::getFamillesLibelles(), + 'label' => 'Famille du document: ', + 'required' => true]] + ] + ] + ], 'after_edit' => function() {$this->_redirect('/admin/type-docs');} ]; diff --git a/library/Class/TypeDoc.php b/library/Class/TypeDoc.php index 10bc9de27cc6229a40a09533a531651c0e701368..ab22b9350f2ab8f5757a79982eb17b376ba5379b 100644 --- a/library/Class/TypeDoc.php +++ b/library/Class/TypeDoc.php @@ -286,7 +286,8 @@ class Class_TypeDoc extends Storm_Model_Abstract { public function toArray() { return ['id'=> $this->getId(), - 'famille_id' => $this->getFamilleId()]; + 'famille_id' => $this->getFamilleId(), + 'label' => $this->getLabel()]; } } diff --git a/tests/application/modules/admin/controllers/TypeDocsControllerTest.php b/tests/application/modules/admin/controllers/TypeDocsControllerTest.php index e88872baacd209ad09b715df26992ceb9c848a97..1dbe3ff79cee6bb75b4edffd18296df7980e3af1 100644 --- a/tests/application/modules/admin/controllers/TypeDocsControllerTest.php +++ b/tests/application/modules/admin/controllers/TypeDocsControllerTest.php @@ -24,6 +24,7 @@ abstract class AbstractTypeDocsControllerTestCase extends AbstractControllerTestCase { public function setUp() { parent::setUp(); + Class_CosmoVar::beVolatile(); Class_CosmoVar::newInstanceWithId('types_docs', ['liste' => "0:non identifié\r\n1:Livres\r\n2:périodiques"]); $this->fixture('Class_CodifTypeDoc', ['id' => 1, 'famille_id' => Class_CodifTypeDoc::LIVRE]); @@ -104,12 +105,19 @@ class TypeDocsControllerEditEPubTest extends AbstractTypeDocsControllerTestCase /** @test */ public function titreShouldBeModificationDuTypeDocEPUB() { - $this->assertXPathContentContains('//h1','Modification du type de document: E-Books',$this->_response->getBody()); + $this->assertXPathContentContains('//h1','Modification du type de document: E-Books'); + } + + + /** @test */ + public function inputLibelleShouldContainsEPUB() { + $this->assertXPath('//form//input[@name="label"][@value="E-Books"]'); } + /** @test */ public function livreShouldBeSelected() { - $this->assertXPath('//form//select[@name="famille_id"]/option[@value="1"][@selected="selected"]', $this->_response->getBody()); + $this->assertXPath('//form//select[@name="famille_id"]/option[@value="1"][@selected="selected"]'); } } @@ -118,7 +126,8 @@ class TypeDocsControllerEditEPubTest extends AbstractTypeDocsControllerTestCase class TypeDocsControllerEditLivrePostTest extends AbstractTypeDocsControllerTestCase { public function setUp() { parent::setUp(); - $this->postDispatch('/admin/type-docs/edit/id/1', [ 'famille_id' => '4']); + $this->postDispatch('/admin/type-docs/edit/id/1', [ 'famille_id' => '4', + 'label' => 'Book']); Class_CodifTypeDoc::clearCache(); } @@ -128,6 +137,12 @@ class TypeDocsControllerEditLivrePostTest extends AbstractTypeDocsControllerTest $this->assertEquals(4,Class_CodifTypeDoc::find(1)->getFamilleId()); } + + /** @test */ + public function labelShouldBeBook() { + $this->assertEquals('Book', Class_TypeDoc::find(1)->getLabel()); + } + /** @test */ public function pageShouldBeRedirectedOnIndex() { $this->assertRedirectTo('/admin/type-docs');