Skip to content
Snippets Groups Projects
RechercheControllerReservationPergameTest.php 4.55 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 {

Patrick Barroca's avatar
Patrick Barroca committed
  protected $_storm_default_to_volatile = true;
Patrick Barroca's avatar
Patrick Barroca committed
  public function setUp() {
    parent::setUp();
    $bib_toulon = $this->fixture(Class_Bib::class,
Patrick Barroca's avatar
Patrick Barroca committed
                                 ['id' => 1]);
    $int_bib_toulon = $this->fixture(Class_IntBib::class,
                                     ['id' => 1,
                                      'comm_sigb' => Class_IntBib::COM_PERGAME,
                                      'comm_params' => ['url_serveur' => 'bib-toulon.sud',
                                                        'Autoriser_docs_disponibles' => 1],
                                      'id_bib' => 1]);
    $bib_can = $this->fixture(Class_Bib::class,
Patrick Barroca's avatar
Patrick Barroca committed
                              ['id' => 2]);
    $int_bib_canne = $this->fixture(Class_IntBib::class,
                                    ['id' => 2,
                                     'comm_sigb' => Class_IntBib::COM_PERGAME,
                                     'comm_params' => ['url_serveur' => 'bib-canne.sud',
                                                       'Autoriser_docs_disponibles' => 1],
                                     'id_bib' => 2]);
    $this->fixture(Class_CodifAnnexe::class,
                   ['id' => 2,
                    'libelle' => 'Canne',
                    'id_bib' => 2,
                    'id_origine' => 2]);
    $bib_mars = $this->fixture(Class_Bib::class, ['id' => 3]);
    $jacques = $this->fixture(Class_Users::class,
                              ['id' => 1,
                               'login' => 'jacques',
                               'password' => 'secret',
                               'idabon' => '1414',
                               'ordreabon' => '1',
                               'bib' => $bib_mars,
                               'int_bib' => $int_bib_toulon]);
    ZendAfi_Auth::getInstance()->logUser($jacques);
    $this->fixture(Class_Notice::class,
                   ['id' => 31084,
                    'titres' => 'TITEUF TITEF FILLES FIL C00  EST NUL']);

    $this->fixture(Class_Exemplaire::class,
                   ['id' => 1142445,
                    'id_notice' => 31084,
                    'code_barres' => '0229923321',
                    'id_origine' => '00021243',
                    'id_int_bib' => 2,
                    'id_bib' => 2,
                    'annexe' => 2]);
Patrick Barroca's avatar
Patrick Barroca committed
  }
class RechercheControllerReservationPergameWithPickupToItemLibrary
  extends RechercheControllerReservationPergameTestCase {

Patrick Barroca's avatar
Patrick Barroca committed
  public function setUp() {
    parent::setUp();
    Class_CosmoVar::setValueOf('site_retrait_resa', Class_CosmoVar::PICKUP_LOCATION_ITEM);
    $this->dispatch('recherche/reservationajax/id_bib/2/copy_id/1142445/code_annexe/2');
Patrick Barroca's avatar
Patrick Barroca committed
  }
Patrick Barroca's avatar
Patrick Barroca committed
  /** @test */
  public function holdShouldHaveBeenCreatedWithCanneLibrary() {
    $reservation = Class_Reservation::findFirstBy(['id_notice_origine' => '00021243',
                                                   'idabon' => 1414]);
    $this->assertEquals(2, $reservation->getIdSite());
Patrick Barroca's avatar
Patrick Barroca committed
  }
class RechercheControllerReservationPergameWithPickupToPatronLibrary
  extends RechercheControllerReservationPergameTestCase {

Patrick Barroca's avatar
Patrick Barroca committed
  public function setUp() {
    parent::setUp();
    Class_CosmoVar::setValueOf('site_retrait_resa', Class_CosmoVar::PICKUP_LOCATION_PATRON);
    $this->dispatch('recherche/reservationajax/id_bib/8/copy_id/1142445/code_annexe/18');
Patrick Barroca's avatar
Patrick Barroca committed
  }
Patrick Barroca's avatar
Patrick Barroca committed
  /** @test */
  public function holdShouldHaveBeenCreatedWithJacqueLibraryMars() {
    $reservation = Class_Reservation::findFirstBy(['id_notice_origine' => '00021243',
                                                   'idabon' => 1414]);
    $this->assertEquals(3, $reservation->getIdSite());
Patrick Barroca's avatar
Patrick Barroca committed
  }