Tests für die API sind vorhanden.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\Views;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class BrowseWorkingHoursMonthlyCest
|
||||
{
|
||||
/**
|
||||
* @param ApiTester $I
|
||||
*/
|
||||
public function browseWorkingHoursView(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/views/working-hours/monthly');
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_VIEW_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\Views;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class BrowseWorkingHoursWeeklyCest
|
||||
{
|
||||
/**
|
||||
* @param ApiTester $I
|
||||
*/
|
||||
public function browseWorkingHoursView(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/views/working-hours/weekly');
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_VIEW_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\Views;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class BrowseWorkingHoursYearlyCest
|
||||
{
|
||||
/**
|
||||
* @param ApiTester $I
|
||||
*/
|
||||
public function browseWorkingHoursView(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/views/working-hours/yearly');
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_VIEW_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class BrowseWorkingHoursCest
|
||||
{
|
||||
/**
|
||||
* @param ApiTester $I
|
||||
*/
|
||||
public function browseWorkingHours(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/working-hours');
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class CreateWorkingHoursCest
|
||||
{
|
||||
public function createWorkingHoursWithNewValidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPost('/working-hours', [
|
||||
'date' => '2020-04-01',
|
||||
'workingHours' => '08:00:00',
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::CREATED);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
||||
}
|
||||
|
||||
// tests
|
||||
public function createWorkingHoursWithNewInvalidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPost('/working-hours', [
|
||||
'date' => '2020-04-01',
|
||||
'workingHours' => 8.0,
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::BAD_REQUEST);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||
}
|
||||
|
||||
// tests
|
||||
public function createWorkingHoursWithExistingValidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPost('/working-hours', [
|
||||
'date' => '2020-01-15',
|
||||
'workingHours' => '08:00:00',
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::CONFLICT);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class ReadWorkingHoursCest
|
||||
{
|
||||
public function readExistingWorkingHours(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/working-hours/2020-01-15');
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
||||
}
|
||||
|
||||
public function readNotExistingWorkingHours(ApiTester $I): void
|
||||
{
|
||||
$I->sendGet('/working-hours/2020-04-15');
|
||||
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php /** @noinspection PhpUnused */
|
||||
|
||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
||||
|
||||
use ApiTester;
|
||||
use Codeception\Util\HttpCode;
|
||||
use Helper\Api;
|
||||
|
||||
class UpdateWorkingHoursCest
|
||||
{
|
||||
public function updateWorkingHoursWithExistingValidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPut('/working-hours/2020-01-15', [
|
||||
'date' => '2020-01-15',
|
||||
'workingHours' => '10:00:00',
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::OK);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
||||
}
|
||||
|
||||
public function updateWorkingHoursWithNewValidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPut('/working-hours/2020-01-15', [
|
||||
'date' => '2020-04-15',
|
||||
'workingHours' => '10:00:00',
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||
}
|
||||
|
||||
public function updateWorkingHoursWithNewInvalidRecord(ApiTester $I): void
|
||||
{
|
||||
$I->haveHttpHeader('accept', 'application/json');
|
||||
$I->haveHttpHeader('content-type', 'application/json');
|
||||
$I->sendPut('/working-hours/2020-01-15', [
|
||||
'date' => '2020-01-15',
|
||||
'workingHours' => 8.0,
|
||||
]);
|
||||
$I->seeResponseCodeIs(HttpCode::BAD_REQUEST);
|
||||
$I->seeResponseIsJson();
|
||||
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user