Skip to content

Commit f746a21

Browse files
committed
fixes
1 parent 4cb66e4 commit f746a21

File tree

2 files changed

+135
-5
lines changed

2 files changed

+135
-5
lines changed

tests/api/RestCest.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,8 @@
33
namespace Tests\Api;
44

55
use ApiTester;
6-
use App\Constants\Roles;
7-
use App\Library\Queue;
8-
use App\Model\User;
9-
use App\Library\Auth\User\Authentication as UserAuth;
106
use Codeception\Example;
117
use Codeception\Util\HttpCode;
12-
use Illuminate\Support\Facades\Auth;
138

149
/**
1510
* Test all basic rest requests

tests/api/_RestCestClean.php

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
<?php
2+
3+
namespace Tests\Api;
4+
5+
use ApiTester;
6+
use Codeception\Example;
7+
use Codeception\Util\HttpCode;
8+
9+
/**
10+
* Test all basic rest requests
11+
*/
12+
class RestCest
13+
{
14+
/**
15+
* @return array
16+
*/
17+
protected function endpoints()
18+
{
19+
return [
20+
['endpoint' => 'posts'],
21+
//...
22+
//Other RESTful objects
23+
];
24+
}
25+
26+
/**
27+
* @param ApiTester $I
28+
* @return mixed
29+
*/
30+
private function authenticate(ApiTester $I)
31+
{
32+
$user = factory(\App\User::class)->create();
33+
//$I->haveHttpHeader("token", $user->getToken());
34+
return $user;
35+
}
36+
37+
/**
38+
* @param ApiTester $I
39+
* @param Example $example
40+
* @dataprovider endpoints
41+
*/
42+
public function testListForbidden(ApiTester $I, Example $example)
43+
{
44+
$I->sendGet('/api/'.$example['endpoint']);
45+
//Should be forbidden if we have auth layer
46+
//$I->seeResponseCodeIs(HttpCode::FORBIDDEN);
47+
$I->seeResponseIsJson();
48+
}
49+
50+
/**
51+
* @param ApiTester $I
52+
* @param Example $example
53+
* @before authenticate
54+
* @dataprovider endpoints
55+
*/
56+
public function testList(ApiTester $I, Example $example)
57+
{
58+
$I->sendGet('/api/'.$example['endpoint']);
59+
$I->seeResponseCodeIs(HttpCode::OK);
60+
$I->seeResponseIsJson();
61+
}
62+
63+
/**
64+
* @param ApiTester $I
65+
* @param Example $example
66+
* @before authenticate
67+
* @dataprovider endpoints
68+
* @todo enhance method
69+
*/
70+
/**public function testRead(ApiTester $I, Example $example)
71+
{
72+
$model = factory($example['model'])->create();
73+
$I->sendGet('/api/'.$example['endpoint'].'/'.$model->id);
74+
$I->seeResponseCodeIs(HttpCode::OK);
75+
$I->seeResponseIsJson();
76+
}**/
77+
78+
/**
79+
* @param ApiTester $I
80+
* @param Example $example
81+
* @before authenticate
82+
* @dataprovider endpoints
83+
*/
84+
public function testReadNotFound(ApiTester $I, Example $example)
85+
{
86+
$I->sendGet('/api/'.$example['endpoint'].'/'.sq());
87+
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
88+
$I->seeResponseIsJson();
89+
}
90+
91+
/**
92+
* @param ApiTester $I
93+
* @param Example $example
94+
* @before authenticate
95+
* @dataprovider endpoints
96+
* @todo fix and add
97+
*/
98+
/**
99+
public function testCreate(ApiTester $I, Example $example)
100+
{
101+
$I->sendPost('/api/'.$example['endpoint'], []);
102+
$I->seeResponseCodeIs(HttpCode::CREATED);
103+
$I->seeResponseIsJson();
104+
}
105+
* **/
106+
107+
/**
108+
* @param ApiTester $I
109+
* @param Example $example
110+
* @before authenticate
111+
* @dataprovider endpoints
112+
*/
113+
public function testUpdateNotFound(ApiTester $I, Example $example)
114+
{
115+
$I->haveHttpHeader('Content-Type', 'application/json');
116+
$I->sendPUT('/api/'.$example['endpoint'].'/'.sq());
117+
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
118+
$I->seeResponseIsJson();
119+
}
120+
121+
/**
122+
* @param ApiTester $I
123+
* @param Example $example
124+
* @before authenticate
125+
* @dataprovider endpoints
126+
*/
127+
public function testDeleteNotFound(ApiTester $I, Example $example)
128+
{
129+
$I->sendDELETE('/api/'.$example['endpoint'].'/'.sq());
130+
$I->seeResponseCodeIs(HttpCode::NOT_FOUND);
131+
$I->seeResponseIsJson();
132+
}
133+
134+
135+
}

0 commit comments

Comments
 (0)