SMMP/test/automate.php

400 lines
8.2 KiB
PHP
Raw Normal View History

2016-07-02 15:10:41 +00:00
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
require_once __ROOT__.'/manager/autoloader.php';
use \manager\ModuleRequest;
use \manager\sessionManager;
use \manager\ResourceDispatcher;
use \manager\ManagerError;
use \manager\Repo;
use \manager\Database;
2016-07-21 20:05:30 +00:00
use \manager\ORM\Table;
use \manager\ORM\Rows;
2016-07-21 19:12:53 +00:00
use \manager\ORM\Row;
debug();
/* INSERTION DES UTILISATEURS DANS LA BDD DEPUIS JSON
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function insertUsersFromJSON(){
$json = file_get_contents(__ROOT__.'/config/generated_users.json');
$json = json_decode( $json, true );
// Pour chaque entree
foreach( $json as $user ){
// Creation de la requete
2016-07-04 13:45:29 +00:00
$request = new ModuleRequest('userDefault/create', [
'code' => $user['code'],
'username' => $user['username'],
'firstname' => $user['firstname'],
'lastname' => $user['lastname'],
'mail' => $user['email'],
'password' => $user['password'],
'status' => $user['status']
2016-07-04 13:45:29 +00:00
]);
$answer = $request->dispatch();
// Debug error
if( $answer->error != ManagerError::Success )
var_dump( $answer->error );
}
return true;
}//insertUsersFromJSON();
/* NSERTION DES MACHINES DANS LA BDD DEPUIS JSON
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function insertMachinesFromJSON(){
$json = file_get_contents(__ROOT__.'/config/generated_machines.json');
$json = json_decode( $json, true );
// Pour chaque entree
foreach( $json as $machine ){
// Creation de la requete
2016-07-04 13:45:29 +00:00
$request = new ModuleRequest('machineDefault/create', [
'name' => $machine['name']
2016-07-04 13:45:29 +00:00
]);
$answer = $request->dispatch();
// Debug error
if( $answer->error != ManagerError::Success )
var_dump( $answer->error );
}
return true;
}//insertMachinesFromJSON();
/* AFFICHAGE DES UTILISATEURS DE LA BDD
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function selectUsers(){
// Creation de la requete
$requete = new ModuleRequest('userDefault/getAll');
$answer = $requete->dispatch();
var_dump( ManagerError::explicit($answer->error) );
var_dump( $answer->get('users') );
return true;
}//selectUsers();
/* AFFICHAGE DES MACHINES DE LA BDD
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function selectMachines(){
// Creation de la requete
$requete = new ModuleRequest('machineDefault/getAll');
$answer = $requete->dispatch();
var_dump( ManagerError::explicit($answer->error) );
var_dump( $answer->get('machines') );
return true;
}//selectMachines();
/* AFFICHAGE DES UTILISATEURS DE LA BDD (MIS EN PAGE)
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function displayUsers(){
// Creation de la requete
$request = new ModuleRequest('userDefault/getAll');
2016-02-05 08:18:01 +00:00
$answer = $request->dispatch();
2016-02-11 15:00:41 +00:00
// Debug error
if( $answer->error != ManagerError::Success )
var_dump( ManagerError::explicit($answer->error) );
2016-02-11 15:00:41 +00:00
// display result
var_dump( $answer->getAll() );
return true;
}//displayUsers();
/* TEST DU DISPATCHER DES MANAGERS
*
* @return nomRetour<typeRetour> Description du retour
2016-07-02 15:10:41 +00:00
*/
function testModuleDispatcher(){
// Creation d'une requete en objet
2016-07-04 13:45:29 +00:00
$req1 = new ModuleRequest('firstModule/returnvar', ['id_user' => 10, 'code' => '11-22-33-44'] );
// Creation d'une requete a partir d'un json en <String>
$req2 = ModuleRequest::fromString('{"path": "firstModule/returnvar", "data": {"id_user":10, "code":"11-22-33-44"}}');
var_dump( $req1->dispatch() );
return true;
}//testModuleDispatcher();
/* TEST DU DISPATCHER DES REPO
*
* @return nomRetour<typeRetour> Description du retour
2016-07-02 15:10:41 +00:00
*/
function testRepoDispatcher(){
// Creation d'une requete en objet
2016-07-04 13:45:29 +00:00
$req1 = new Repo('user/getById', ['19']);
// $req1 = new Repo('user/getByCode', array('92-55-B9-B3'));
var_dump( $req1->answer() );
if( $req1->error != ManagerError::Success )
var_dump( ManagerError::explicit($req1->error) );
return true;
2016-02-11 15:00:41 +00:00
}//testRepoDispatcher();
/* INSERTION (COMPOSITE) DES UTILISATEURS DE LA BDD
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function insertUsersComposite(){
// Creation de la requete
2016-07-04 13:45:29 +00:00
$request = new ModuleRequest('userDefault/create', ['92-55-B9-B1', 'b', 'bla', 'bla', 'bla@test.com', 'sadas', '1'] );
2016-02-11 15:00:41 +00:00
$answer = $request->dispatch();
// Debug error
if( $answer->error != ManagerError::Success )
var_dump( ManagerError::explicit($answer->error) );
2016-02-11 15:00:41 +00:00
var_dump( $answer->getAll() );
return true;
}//insertUsersComposite();
/* RETOURNE LES GROUPES D'UN UTILISATEUR
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function getUserClusters(){
$id_user = 115;
// Groupes de l'utilisateur 'a'
2016-07-04 13:45:29 +00:00
$getUser1Clusters = new Repo('user/getClusters', [$id_user]);
$user1Clusters = $getUser1Clusters->answer();
var_dump( $user1Clusters );
// On ajoute un groupe a l'utilisateur 100
$linkA = new Repo('cluster/link', array($user1Clusters[0]['id_cluster'], 100) );
var_dump( $linkA->answer() );
$getUser2Clusters = new Repo('user/getClusters', array(100));
var_dump( $getUser2Clusters->answer() );
// On retire un groupe a l'utilisateur 100
$unlinkA = new Repo('cluster/unlink', array($user1Clusters[0]['id_cluster'], 100) );
var_dump( $linkA->answer() );
$getUser2Clusters = new Repo('user/getClusters', array(100));
var_dump( $getUser2Clusters->answer() );
return true;
}//getUserClusters();
/* MODIFICATION D'UN UTILISATEUR
*
*
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
*
*/
function editUser(){
$id_user = 48;
$request = new ModuleRequest('userDefault/edit', array(
'B1-87-EA-BF',
'Abigail',
'Mcmillan',
'Savage',
'mcmillansavage@corecom.com',
'password',
0
));
// ["B1-87-EA-BF","Abigail01","Mcmillan","Savage","mcmillansavage@corecom.com","password",0]
var_dump( $request->dispatch() );
return true;
}//editUser();
// new ResourceDispatcher('f/svg/search/st/sub-menu-side/ff0000', true);
function createWarehouse(){
$insert = new Repo('admin/create', [
'FirstAdmin',
'adminmail@gmail.com',
'AdminPassword'
]);
var_dump( $insert->answer() );
$getAll = new Repo('admin/getAll');
}//createWarehouse();
2016-07-11 15:44:18 +00:00
debug();
// $warehouse =
// Table::get('warehouse') // Access to table 'warehouse'
// ->whereName(['stef-montauban', Rows::COND_NOTEQ]); // condition : name = 'my-warehouse'
//
//
// $myUser =
// Table::get('user') // Access to table 'user'
// ->whereId([100, Rows::COND_INF]) // PRIMARY KEY (other condition on same field)
// ->whereUsername(['jo%', Rows::COND_LIKE]) // Dynamic getter 'getByMySuperColumn' -> 'my_super_column'
// ->select(['mail', 'username', 'firstname']) // Select clause
// ->select('id_user') // Select clause (added)
// ->join('id_warehouse', $warehouse) // joins warehouse (with name 'my-warehouse') to column 'id_warehouse'
// ->unique() // unique result
// SELECT
// ->fetch(); // Result
// UPDATE
// ->edit([
// 'id_warehouse' => Table::get('warehouse')->whereName('stef-montauban')->unique()->select('id_warehouse')->fetch()['id_warehouse']
// ]);
$id_user = 1;
$id_warehouse = 7;
$get_clusters = Database::getPDO()->prepare("SELECT c.*
FROM user_cluster as c, user_cluster_merge as cm, user as u
WHERE cm.id_user_cluster = c.id_user_cluster
AND cm.id_user = u.id_user
AND c.id_warehouse = u.id_warehouse
AND cm.id_user = :id_user
AND u.id_warehouse = :id_warehouse
ORDER BY c.name");
$get_clusters->execute([
':id_warehouse' => $id_warehouse,
':id_user' => $id_user
]);
2016-07-21 19:12:53 +00:00
var_dump( Database::delNumeric($get_clusters->fetchAll()) );
2016-07-21 19:12:53 +00:00
// With ORM
$c = Table::get('user_cluster')->whereIdWarehouse($id_warehouse)->select('*');
$cm = Table::get('user_cluster_merge')
->whereIdUser($id_user)
->join('id_user_cluster', $c);
$clusters = $cm->fetch();
var_dump($clusters);
2016-07-02 15:10:41 +00:00
?>