get_inst_om_application("admin", "admin");
// Template des requête permettant de récupérer les élèment voulus pour
// l'insertion des données
$sql_get_da =
"SELECT dossier_autorisation_type
FROM %sdossier_autorisation_type
WHERE libelle = '%s'";
$sql_get_om_collectivite =
"SELECT om_collectivite
FROM %som_collectivite
WHERE libelle = 'MARSEILLE'";
// Insertion en base de données des bibles répondant au différent cas d'usage
$query = sprintf(
'INSERT INTO %1$sbible (bible, libelle, evenement, contenu, complement, dossier_autorisation_type, om_collectivite, precharge) VALUES
(nextVal(\'%1$sbible_seq\'), \'libellé A\', (%2$s), \'contenu A\', 1, (%3$s), (%4$s), true),
(nextVal(\'%1$sbible_seq\'), \'libellé B\', (%5$s), \'contenu B\', 2, null, (%4$s), true),
(nextVal(\'%1$sbible_seq\'), \'libellé C\', null, \'contenu C\', 2, (%6$s), (%4$s), true),
(nextVal(\'%1$sbible_seq\'), \'libellé D\', null, \'contenu D\', 1, null, (%4$s), true),
(nextVal(\'%1$sbible_seq\'), \'libellé E\', (%2$s), \'contenu E\', null, (%3$s), (%4$s), true),
(nextVal(\'%1$sbible_seq\'), \'libellé F\', (%2$s), \'contenu F\', null, (%3$s), (%4$s), false);',
DB_PREFIXE,
sprintf($this->sql_get_evenement, DB_PREFIXE, "Lettre d''information d''accès citoyen"),
sprintf($sql_get_da, DB_PREFIXE, "Déclaration préalable"),
sprintf($sql_get_om_collectivite, DB_PREFIXE),
sprintf($this->sql_get_evenement, DB_PREFIXE, "affichage_obligatoire"),
sprintf($sql_get_da, DB_PREFIXE, "Certificat d''urbanisme")
);
$f->execute_db_query($query, array('origin' => __METHOD__,));
$f->__destruct();
return array(
array(1, 'precharge', "contenu A
contenu D
contenu E
"),
array(2, 'precharge', "contenu E
"),
array(3, 'precharge', "contenu E
"),
array(4, 'precharge', "contenu E
")
);
}
/**
* Prépare les élèments nécessaire au différent test, à savoir :
* - instancie l'application et la stocke dans une propriété
* - Récupère l'identifiant de l'évènement "Lettre d'information d'accès citoyen"
* qui sert de référence à la suite des tests
* - instancie et stocke dans une propriété une instruction pour pouvoir faire
* appel à ses méthodes dans la suite des tests
*/
public function common_setUp() {
parent::common_setUp();
// Connexion à l'application
$this->f = $this->get_inst_om_application("instr", "instr");
//Récupération de l'identifiant de l'évènement utilisé dans la suite des tests
$qres = $this->f->get_one_result_from_db_query(
sprintf($this->sql_get_evenement, DB_PREFIXE, "Lettre d''information d''accès citoyen"),
array('origin' => __METHOD__)
);
$this->evenement = $qres['result'];
// Récupération d'une instance d'instruction pour pouvoir appeler les différentes méthodes
$this->instruction = $this->f->get_inst__om_dbform(array(
'obj' => 'instruction',
'idx' => 0
));
}
/**
* Vérifie que la méthode instruction::getBible renvoie bien les textes attendus selon le
* paramétrage fournis.
*
* @dataProvider bibleProvider
*
* @param integer $complement : numéro du complément sur lequel le texte de bible s'applique
* @param string $type : type de complément à récupérer (precharge ou automatique)
* @param string $contenu : contenu attendu en retour de la méthode getBible
*/
public function testGetBible($complement, $type, $contenu) {
$contenu_bible = $this->instruction->getBible($this->evenement, $this->dossier, $complement, $type);
$this->assertSame($contenu, $contenu_bible);
}
/**
* Vérifie que la méthode instruction::set_precharge_complement set correctement les valeurs
* du formulaire d'instruction (remplissage de la propriété valF).
*
* @depends testGetBible
*/
public function testSetPrechargeComplement() {
$this->instruction->set_precharge_complement($this->evenement, $this->dossier);
$expected_val_by_comp = array(
"contenu A
contenu D
contenu E
",
"contenu E
",
"contenu E
",
"contenu E
"
);
// Vérifie pour les 4 premiers compléments qu'ils ont bien été rempli dans valF
for ($i = 1; $i <= count($expected_val_by_comp); $i++) {
$field = "complement".($i === 1 ? '' : $i)."_om_html";
$this->assertSame($expected_val_by_comp[$i - 1], $this->instruction->valF[$field]);
}
}
/**
* Méthode lancée en fin de traitement
*/
public function common_tearDown() {
parent::common_tearDown();
$this->clean_session();
// Destruction de la classe *om_application*
$this->f->__destruct();
}
}