Skip to content

Commit 27470e7

Browse files
committed
Added more tests to UserController
1 parent 458fc7e commit 27470e7

2 files changed

Lines changed: 293 additions & 4 deletions

File tree

app/sprinkles/admin/tests/Integration/Controller/UserControllerGuestTest.php

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,58 @@ public function testGetListWithNoPermission(UserController $controller)
110110
$controller->getList($this->getRequest(), $this->getResponse(), []);
111111
}
112112

113+
/**
114+
* @depends testControllerConstructorWithUser
115+
* @param UserController $controller
116+
*/
117+
public function testGetModalConfirmDeleteWithNoPermission(UserController $controller)
118+
{
119+
$request = $this->getRequest()->withQueryParams([
120+
'user_name' => 'userfoo'
121+
]);
122+
123+
$this->expectException(ForbiddenException::class);
124+
$controller->getModalConfirmDelete($request, $this->getResponse(), []);
125+
}
126+
127+
/**
128+
* @depends testControllerConstructorWithUser
129+
* @param UserController $controller
130+
*/
131+
public function testGetModalCreateWithNoPermission(UserController $controller)
132+
{
133+
$request = $this->getRequest()->withQueryParams([
134+
'user_name' => 'userfoo'
135+
]);
136+
137+
$this->expectException(ForbiddenException::class);
138+
$controller->getModalCreate($request, $this->getResponse(), []);
139+
}
140+
141+
/**
142+
* @depends testControllerConstructorWithUser
143+
* @param UserController $controller
144+
*/
145+
public function testGetModalEditRolesWithNoPermission(UserController $controller)
146+
{
147+
$request = $this->getRequest()->withQueryParams([
148+
'user_name' => 'userfoo'
149+
]);
150+
151+
$this->expectException(ForbiddenException::class);
152+
$controller->getModalEditRoles($request, $this->getResponse(), []);
153+
}
154+
155+
/**
156+
* @depends testControllerConstructorWithUser
157+
* @param UserController $controller
158+
*/
159+
public function testPageListWithNoPermission(UserController $controller)
160+
{
161+
$this->expectException(ForbiddenException::class);
162+
$controller->pageList($this->getRequest(), $this->getResponse(), []);
163+
}
164+
113165
/**
114166
* @return UserController
115167
*/

app/sprinkles/admin/tests/Integration/Controller/UserControllerTest.php

Lines changed: 241 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ public function testControllerConstructorWithUser()
124124

125125
/**
126126
* @depends testControllerConstructorWithUser
127-
* @depends testCreate
128127
* @param UserController $controller
129128
*/
130129
public function testCreateWithNoUsername(UserController $controller)
@@ -152,7 +151,6 @@ public function testCreateWithNoUsername(UserController $controller)
152151

153152
/**
154153
* @depends testControllerConstructorWithUser
155-
* @depends testCreate
156154
* @param UserController $controller
157155
*/
158156
public function testCreateWithNoEmail(UserController $controller)
@@ -180,7 +178,6 @@ public function testCreateWithNoEmail(UserController $controller)
180178

181179
/**
182180
* @depends testControllerConstructorWithUser
183-
* @depends testCreate
184181
* @param UserController $controller
185182
*/
186183
public function testCreateWithDuplicateUsername(UserController $controller)
@@ -209,7 +206,6 @@ public function testCreateWithDuplicateUsername(UserController $controller)
209206

210207
/**
211208
* @depends testControllerConstructorWithUser
212-
* @depends testCreate
213209
* @param UserController $controller
214210
*/
215211
public function testCreateWithDuplicateEmail(UserController $controller)
@@ -373,6 +369,247 @@ public function testGetList(UserController $controller)
373369
$this->assertNotEmpty((string) $result->getBody());
374370
}
375371

372+
/**
373+
* @depends testControllerConstructorWithUser
374+
* @param UserController $controller
375+
*/
376+
public function testGetModalConfirmDelete(UserController $controller)
377+
{
378+
$request = $this->getRequest()->withQueryParams([
379+
'user_name' => 'userfoo'
380+
]);
381+
382+
// Get controller stuff
383+
$result = $controller->getModalConfirmDelete($request, $this->getResponse(), []);
384+
$this->assertSame($result->getStatusCode(), 200);
385+
$this->assertNotSame('', (string) $result->getBody());
386+
}
387+
388+
/**
389+
* @depends testControllerConstructorWithUser
390+
* @depends testGetModalConfirmDelete
391+
* @param UserController $controller
392+
*/
393+
public function testGetModalConfirmDeleteWithNoUser(UserController $controller)
394+
{
395+
$this->expectException(BadRequestException::class);
396+
$controller->getModalConfirmDelete($this->getRequest(), $this->getResponse(), []);
397+
}
398+
399+
/**
400+
* @depends testControllerConstructorWithUser
401+
* @depends testGetModalConfirmDelete
402+
* @param UserController $controller
403+
*/
404+
public function testGetModalConfirmDeleteWithNonExistingUser(UserController $controller)
405+
{
406+
$request = $this->getRequest()->withQueryParams([
407+
'user_name' => 'foobar'
408+
]);
409+
410+
$this->expectException(NotFoundException::class);
411+
$controller->getModalConfirmDelete($request, $this->getResponse(), []);
412+
}
413+
414+
/**
415+
* @depends testControllerConstructorWithUser
416+
* @depends testGetModalConfirmDelete
417+
* @param UserController $controller
418+
*/
419+
public function testGetModalConfirmDeleteWithReservedId(UserController $controller)
420+
{
421+
// Default should be the existing admin user.
422+
$user = User::find($this->ci->config['reserved_user_ids.master']);
423+
424+
// In case the user don't exist
425+
if (!$user) {
426+
$user = $fm->create('UserFrosting\Sprinkle\Account\Database\Models\User', [
427+
'id' => $this->ci->config['reserved_user_ids.master']
428+
]);
429+
}
430+
431+
$request = $this->getRequest()->withQueryParams([
432+
'user_name' => $user->user_name
433+
]);
434+
435+
$this->expectException(BadRequestException::class);
436+
$controller->getModalConfirmDelete($request, $this->getResponse(), []);
437+
}
438+
439+
/**
440+
* @depends testControllerConstructorWithUser
441+
* @param UserController $controller
442+
*/
443+
public function testGetModalCreate(UserController $controller)
444+
{
445+
$result = $controller->getModalCreate($this->getRequest(), $this->getResponse(), []);
446+
$this->assertSame($result->getStatusCode(), 200);
447+
$this->assertNotSame('', (string) $result->getBody());
448+
}
449+
450+
/**
451+
* @depends testControllerConstructorWithUser
452+
* @param UserController $controller
453+
*/
454+
public function testGetModalEdit(UserController $controller)
455+
{
456+
$request = $this->getRequest()->withQueryParams([
457+
'user_name' => 'userfoo'
458+
]);
459+
460+
$result = $controller->getModalEdit($request, $this->getResponse(), []);
461+
$this->assertSame($result->getStatusCode(), 200);
462+
$this->assertNotSame('', (string) $result->getBody());
463+
}
464+
465+
/**
466+
* @depends testControllerConstructorWithUser
467+
* @param UserController $controller
468+
*/
469+
public function testGetModalEditWithNoUser(UserController $controller)
470+
{
471+
$request = $this->getRequest()->withQueryParams([
472+
'user_name' => 'foobar'
473+
]);
474+
475+
$this->expectException(NotFoundException::class);
476+
$controller->getModalEdit($request, $this->getResponse(), []);
477+
}
478+
479+
/**
480+
* @depends testControllerConstructorWithUser
481+
* @param UserController $controller
482+
*/
483+
public function testGetModalEditPassword(UserController $controller)
484+
{
485+
$request = $this->getRequest()->withQueryParams([
486+
'user_name' => 'userfoo'
487+
]);
488+
489+
$result = $controller->getModalEditPassword($request, $this->getResponse(), []);
490+
$this->assertSame($result->getStatusCode(), 200);
491+
$this->assertNotSame('', (string) $result->getBody());
492+
}
493+
494+
/**
495+
* @depends testControllerConstructorWithUser
496+
* @param UserController $controller
497+
*/
498+
public function testGetModalEditPasswordWithNoUser(UserController $controller)
499+
{
500+
$request = $this->getRequest()->withQueryParams([
501+
'user_name' => 'foobar'
502+
]);
503+
504+
$this->expectException(NotFoundException::class);
505+
$controller->getModalEditPassword($request, $this->getResponse(), []);
506+
}
507+
508+
/**
509+
* @depends testControllerConstructorWithUser
510+
* @param UserController $controller
511+
*/
512+
public function testGetModalEditRoles(UserController $controller)
513+
{
514+
$request = $this->getRequest()->withQueryParams([
515+
'user_name' => 'userfoo'
516+
]);
517+
518+
$result = $controller->getModalEditRoles($request, $this->getResponse(), []);
519+
$this->assertSame($result->getStatusCode(), 200);
520+
$this->assertNotSame('', (string) $result->getBody());
521+
}
522+
523+
/**
524+
* @depends testControllerConstructorWithUser
525+
* @param UserController $controller
526+
*/
527+
public function testGetModalEditRolesWithNoUser(UserController $controller)
528+
{
529+
$request = $this->getRequest()->withQueryParams([
530+
'user_name' => 'foobar'
531+
]);
532+
533+
$this->expectException(NotFoundException::class);
534+
$controller->getModalEditRoles($request, $this->getResponse(), []);
535+
}
536+
537+
/**
538+
* @depends testControllerConstructorWithUser
539+
* @param UserController $controller
540+
*/
541+
public function testGetPermissions(UserController $controller)
542+
{
543+
$result = $controller->getPermissions($this->getRequest(), $this->getResponse(), ['user_name' => 'userfoo']);
544+
$this->assertSame($result->getStatusCode(), 200);
545+
$this->assertJson((string) $result->getBody());
546+
$this->assertNotEmpty((string) $result->getBody());
547+
}
548+
549+
/**
550+
* @depends testControllerConstructorWithUser
551+
* @param UserController $controller
552+
*/
553+
public function testGetPermissionsWithNoUser(UserController $controller)
554+
{
555+
$this->expectException(NotFoundException::class);
556+
$controller->getPermissions($this->getRequest(), $this->getResponse(), ['user_name' => 'foobar']);
557+
}
558+
559+
/**
560+
* @depends testControllerConstructorWithUser
561+
* @param UserController $controller
562+
*/
563+
public function testGetRoles(UserController $controller)
564+
{
565+
$result = $controller->getRoles($this->getRequest(), $this->getResponse(), ['user_name' => 'userfoo']);
566+
$this->assertSame($result->getStatusCode(), 200);
567+
$this->assertJson((string) $result->getBody());
568+
$this->assertNotEmpty((string) $result->getBody());
569+
}
570+
571+
/**
572+
* @depends testControllerConstructorWithUser
573+
* @param UserController $controller
574+
*/
575+
public function testGetRolesWithNoUser(UserController $controller)
576+
{
577+
$this->expectException(NotFoundException::class);
578+
$controller->getRoles($this->getRequest(), $this->getResponse(), ['user_name' => 'foobar']);
579+
}
580+
581+
/**
582+
* @depends testControllerConstructorWithUser
583+
* @param UserController $controller
584+
*/
585+
public function testPageInfo(UserController $controller)
586+
{
587+
$result = $controller->pageInfo($this->getRequest(), $this->getResponse(), ['user_name' => 'userfoo']);
588+
$this->assertSame($result->getStatusCode(), 200);
589+
$this->assertNotSame('', (string) $result->getBody());
590+
}
591+
592+
/**
593+
* @depends testControllerConstructorWithUser
594+
* @param UserController $controller
595+
*/
596+
public function testPageInfoWithNoUser(UserController $controller)
597+
{
598+
$this->expectException(NotFoundException::class);
599+
$controller->pageInfo($this->getRequest(), $this->getResponse(), ['user_name' => 'foobar']);
600+
}
601+
602+
/**
603+
* @depends testControllerConstructorWithUser
604+
* @param UserController $controller
605+
*/
606+
public function testPageList(UserController $controller)
607+
{
608+
$result = $controller->pageList($this->getRequest(), $this->getResponse(), []);
609+
$this->assertSame($result->getStatusCode(), 200);
610+
$this->assertNotSame('', (string) $result->getBody());
611+
}
612+
376613
/**
377614
* @return UserController
378615
*/

0 commit comments

Comments
 (0)