Skip to content
Snippets Groups Projects
RechercheControllerReservationPergameTest.php 3.46 KiB
Newer Older
<?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 RechercheControllerReservationPergameTestCase extends AbstractControllerTestCase {

	protected $_jacques;
	protected $_pergame;

	public function setUp() {
		Class_Reservation::beVolatile();
		$this->fixture('Class_IntBib', ['id' => 8,
																		'comm_sigb' => Class_IntBib::COM_PERGAME,
																		'comm_params' => ['url_serveur' => 'http://bib.bar.net']]);

		$this->_jacques = $this->fixture('Class_Users', ['id' => 1,
																	 'login' => 'jacques',
																	 'password' => 'secret',
																	 'idabon' => '1414',
																	 'id_site' => 6,
																	 'int_bib' => $this->fixture('Class_IntBib', ['id' => 6,
																																								'comm_sigb' => Class_IntBib::COM_PERGAME,
																																								'comm_params' => ['url_serveur' => 'http://bib.foo.net']])]);

		ZendAfi_Auth::getInstance()->logUser($this->_jacques);

		$this->fixture('Class_Notice', ['id' => 31084,
																		'titres' => 'TITEUF TITEF FILLES FIL C00  EST NUL']);

		$this->fixture('Class_Exemplaire', ['id' => 1142445,
																				'id_notice' => 31084,
																				'id_bib' => 8,
																				'code_barres' => '0229923321',
																				'annexe' => 8,
																				'id_origine' => '00021243',
																				'id_int_bib' => 8]);

	}
}




class  RechercheControllerReservationPergameWithPickupToItemLibrary extends RechercheControllerReservationPergameTestCase {
	public function setUp() {
		parent::setUp();

		$this->fixture('Class_CosmoVar', ['id' => 'site_retrait_resa',
																							'valeur' => 0]);

		$this->dispatch('recherche/reservationajax/id_bib/8/id_origine/1142445/code_annexe/8',true);
	}


	/** @test */
	public function holdShouldHaveBeenCreatedOnPickupLibrary8() {
		$hold = Class_Reservation::findFirstBy(['id_notice_origine' => '00021243',
																						'id_site' => 8,
																						'idabon' => 1414]);

		$this->assertNotNull($hold);
	}
}	




class  RechercheControllerReservationPergameWithPickupToPatronLibrary extends RechercheControllerReservationPergameTestCase {
	public function setUp() {
		parent::setUp();

		$this->fixture('Class_CosmoVar', ['id' => 'site_retrait_resa',
																							'valeur' => 2]);

		$this->dispatch('recherche/reservationajax/id_bib/8/id_origine/1142445/code_annexe/8',true);
	}


	/** @test */
	public function holdShouldHaveBeenCreatedOnPickupLibrary6() {
		$hold = Class_Reservation::findFirstBy(['id_notice_origine' => '00021243',
																						'id_site' => 6,
																						'idabon' => 1414]);

		$this->assertNotNull($hold);
	}
}