Skip to content
Snippets Groups Projects
Commit 395a693a authored by Damien's avatar Damien
Browse files

FEAT #5987 Groups Administration test

parent 7f014bcd
No related branches found
No related tags found
No related merge requests found
<?php
/**
* Copyright Maarch since 2008 under licence GPLv3.
* See LICENCE.txt file at the root folder for more details.
* This file is part of Maarch software.
*
*/
namespace MaarchTest;
use PHPUnit\Framework\TestCase;
class GroupControllerTest extends TestCase
{
private static $id = null;
public function testCreate()
{
$groupController = new \Core\Controllers\GroupController();
// CREATE
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'POST']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$aArgs = [
'group_id' => 'TEST-Justice League',
'group_desc' => 'Beyond the darkness',
'security' => [
'where_clause' => '1=2',
'maarch_comment' => 'commentateur du dimanche'
]
];
$fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request);
$response = $groupController->create($fullRequest, new \Slim\Http\Response());
$responseBody = json_decode((string)$response->getBody());
self::$id = $responseBody->group->id . '';
$this->assertInternalType('int', $responseBody->group->id);
// READ
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$response = $groupController->getDetailledById($request, new \Slim\Http\Response(), ['id' => self::$id]);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('TEST-Justice League', $responseBody->group->group_id);
$this->assertSame('Beyond the darkness', $responseBody->group->group_desc);
$this->assertSame('Y', $responseBody->group->enabled);
$this->assertSame('1=2', $responseBody->group->security->where_clause);
$this->assertSame('commentateur du dimanche', $responseBody->group->security->maarch_comment);
$this->assertSame(null, $responseBody->group->security->mr_start_date);
$this->assertSame(null, $responseBody->group->security->mr_stop_date);
}
public function testUpdate()
{
$groupController = new \Core\Controllers\GroupController();
// UPDATE
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'PUT']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$aArgs = [
'description' => 'Beyond the darkness #2',
'security' => [
'where_clause' => '1=3',
'maarch_comment' => 'commentateur du dimanche #2'
]
];
$fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request);
$response = $groupController->update($fullRequest, new \Slim\Http\Response(), ['id' => self::$id]);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('success', $responseBody->success);
// READ
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$response = $groupController->getDetailledById($request, new \Slim\Http\Response(), ['id' => self::$id]);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame('TEST-Justice League', $responseBody->group->group_id);
$this->assertSame('Beyond the darkness #2', $responseBody->group->group_desc);
$this->assertSame('Y', $responseBody->group->enabled);
$this->assertSame('1=3', $responseBody->group->security->where_clause);
$this->assertSame('commentateur du dimanche #2', $responseBody->group->security->maarch_comment);
$this->assertSame(null, $responseBody->group->security->mr_start_date);
$this->assertSame(null, $responseBody->group->security->mr_stop_date);
}
public function testDelete()
{
$groupController = new \Core\Controllers\GroupController();
// DELETE
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'DELETE']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$response = $groupController->delete($request, new \Slim\Http\Response(), ['id' => self::$id]);
// READ
$environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']);
$request = \Slim\Http\Request::createFromEnvironment($environment);
$response = $groupController->getDetailledById($request, new \Slim\Http\Response(), ['id' => self::$id]);
$responseBody = json_decode((string)$response->getBody());
$this->assertSame(null, $responseBody->id);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment