43 lines
1.5 KiB
PHP
43 lines
1.5 KiB
PHP
<?php /** @noinspection PhpUnused */
|
|
|
|
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
|
|
|
use ApiTester;
|
|
use Codeception\Util\HttpCode;
|
|
use Helper\Api;
|
|
|
|
class ReadWorkingHoursCest
|
|
{
|
|
public static function preflight(ApiTester $I): void
|
|
{
|
|
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
|
$I->haveHttpHeader('Access-Control-Request-Method', 'GET');
|
|
$I->sendOptions('/working-hours/2020-04-15');
|
|
$I->seeResponseCodeIs(HttpCode::OK);
|
|
$I->seeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
|
$I->seeHttpHeader('Access-Control-Allow-Methods');
|
|
$I->seeHttpHeader('Access-Control-Allow-Headers');
|
|
$I->seeHttpHeader('Access-Control-Max-Age');
|
|
}
|
|
|
|
public function readExistingWorkingHours(ApiTester $I): void
|
|
{
|
|
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
|
$I->sendGet('/working-hours/2020-01-15');
|
|
$I->seeResponseCodeIs(HttpCode::OK);
|
|
$I->canSeeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
|
$I->seeResponseIsJson();
|
|
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
|
}
|
|
|
|
public function readNotExistingWorkingHours(ApiTester $I): void
|
|
{
|
|
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
|
$I->sendGet('/working-hours/2020-04-15');
|
|
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
|
|
$I->canSeeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
|
$I->seeResponseIsJson();
|
|
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
|
}
|
|
}
|