<?php /** * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved. * * BOKEH is free software; you can redistribute it and/or modify * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by * the Free Software Foundation. * * There are special exceptions to the terms and conditions of the AGPL as it * is applied to this software (see README file). * * BOKEH is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE * along with BOKEH; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ abstract class Cosmo_SectionControllerTestCase extends CosmoControllerTestCase { protected $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); $this->fixture('Class_CodifSection', ['id' => 5, 'libelle' => '01 Energie Enjeux', 'regles' => '995$q=98']); $this->fixture('Class_CodifSection', ['id' => 7, 'libelle' => '01 Energie Politique', 'regles' => '995$q=99']); } } class Cosmo_SectionControllerIndexTest extends Cosmo_SectionControllerTestCase { public function setUp() { parent::setUp(); $this->dispatch('/cosmo/section', true); } /** @test */ public function addNewSectionShouldBePresent() { $this->assertXPath('//a', 'Ajouter une section'); } /** @test */ public function energieEnjeuxShouldBeInTable() { $this->assertXPathContentContains('//table//tr//td', '01 Energie Enjeux'); } /** @test */ public function energiePolitiqueShouldBeInTable() { $this->assertXPathContentContains('//table//tr//td', '01 Energie Politique'); } /** @test */ public function editEnergiePolitiqueShouldBePresent() { $this->assertXPath('//table//tr//td//a[contains(@href, "/cosmo/section/edit/id/7")]'); } } class Cosmo_SectionControllerActionsTest extends Cosmo_SectionControllerTestCase { public function setUp() { parent::setUp(); } /** @test */ public function inputLibelleShouldBePresent() { $this->dispatch('/cosmo/section/edit/id/7', true); $this->assertXPath('//form//input[@value="01 Energie Politique"]'); } /** @test */ public function postLibelle02ShouldSaveSection() { $this->postDispatch('/cosmo/section/edit/id/7', ['libelle' => '02 Energie Politique']); $this->assertEquals('02 Energie Politique', Class_CodifSection::find(7)->getLibelle()); } /** @test */ public function deleteEnergiePolitiqueShouldRemoveItFromDB() { $this->dispatch('/cosmo/section/delete/id/7', true); $this->assertNull(Class_CodifSection::find(7)); } /** @test */ public function deleteEnergiePolitiqueShouldRedirectToSectionIndex() { $this->dispatch('/cosmo/section/delete/id/7', true); $this->assertRedirectTo('/cosmo/section/index'); } }