feature-ui/eintrag-per-woche #23
@@ -3,6 +3,7 @@
|
|||||||
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
namespace TorstenHettstedt\TimekeepingApi\Tests\Api\WorkingHours;
|
||||||
|
|
||||||
use ApiTester;
|
use ApiTester;
|
||||||
|
use Codeception\Example;
|
||||||
use Codeception\Util\HttpCode;
|
use Codeception\Util\HttpCode;
|
||||||
use Helper\Api;
|
use Helper\Api;
|
||||||
|
|
||||||
@@ -20,16 +21,54 @@ class BrowseWorkingHoursCest
|
|||||||
$I->seeHttpHeader('Access-Control-Max-Age');
|
$I->seeHttpHeader('Access-Control-Max-Age');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function validWorkingHoursFilterProvider(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
[[null]],
|
||||||
|
[['start-date' => '2020-01-01', 'end-date' => '2020-01-08']],
|
||||||
|
[['start-date' => '2020-01-01', 'end-date' => '2020-04-30']],
|
||||||
|
[['start-date' => '2020-04-01', 'end-date' => '2020-04-30']],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ApiTester $I
|
* @param ApiTester $I
|
||||||
|
* @param Example $example
|
||||||
|
*
|
||||||
|
* @dataProvider validWorkingHoursFilterProvider
|
||||||
*/
|
*/
|
||||||
public function browseWorkingHours(ApiTester $I): void
|
public function browseWorkingHours(ApiTester $I, Example $example): void
|
||||||
{
|
{
|
||||||
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
||||||
$I->sendGet('/working-hours');
|
$I->sendGet('/working-hours', $example[0]);
|
||||||
$I->seeResponseCodeIs(HttpCode::OK);
|
$I->seeResponseCodeIs(HttpCode::OK);
|
||||||
$I->canSeeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
$I->canSeeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
||||||
$I->seeResponseIsJson();
|
$I->seeResponseIsJson();
|
||||||
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
$I->seeResponseMatchesJsonType(Api::WORKING_HOURS_JSON_FORMAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function invalidWorkingHoursFilterProvider(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
['2020-11-31'],
|
||||||
|
['2020-11'],
|
||||||
|
['2020'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param ApiTester $I
|
||||||
|
* @param Example $example
|
||||||
|
*
|
||||||
|
* @dataProvider invalidWorkingHoursFilterProvider
|
||||||
|
*/
|
||||||
|
public function browseWorkingHoursWithWrongFilterDate(ApiTester $I, Example $example): void
|
||||||
|
{
|
||||||
|
$I->haveHttpHeader('Origin', Api::TEST_ORIGIN);
|
||||||
|
$I->sendGet('/working-hours', ['start-date' => $example[0]]);
|
||||||
|
$I->seeResponseCodeIs(HttpCode::BAD_REQUEST);
|
||||||
|
$I->canSeeHttpHeader('Access-Control-Allow-Origin', Api::TEST_ORIGIN);
|
||||||
|
$I->seeResponseIsJson();
|
||||||
|
$I->seeResponseMatchesJsonType(Api::ERROR_JSON_FORMAT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user