]> BookStack Code Mirror - bookstack/blob - tests/User/UserManagementTest.php
Merge branch 'master' of git://github.com/Swoy/BookStack into Swoy-master
[bookstack] / tests / User / UserManagementTest.php
1 <?php namespace Tests\User;
2
3 use BookStack\Actions\ActivityType;
4 use BookStack\Auth\User;
5 use BookStack\Entities\Models\Page;
6 use Tests\TestCase;
7
8 class UserManagementTest extends TestCase
9 {
10
11     public function test_delete()
12     {
13         $editor = $this->getEditor();
14         $resp = $this->asAdmin()->delete("settings/users/{$editor->id}");
15         $resp->assertRedirect("/settings/users");
16         $resp = $this->followRedirects($resp);
17
18         $resp->assertSee("User successfully removed");
19         $this->assertActivityExists(ActivityType::USER_DELETE);
20
21         $this->assertDatabaseMissing('users', ['id' => $editor->id]);
22     }
23
24     public function test_delete_offers_migrate_option()
25     {
26         $editor = $this->getEditor();
27         $resp = $this->asAdmin()->get("settings/users/{$editor->id}/delete");
28         $resp->assertSee("Migrate Ownership");
29         $resp->assertSee("new_owner_id");
30     }
31
32     public function test_delete_with_new_owner_id_changes_ownership()
33     {
34         $page = Page::query()->first();
35         $owner = $page->ownedBy;
36         $newOwner = User::query()->where('id', '!=' , $owner->id)->first();
37
38         $this->asAdmin()->delete("settings/users/{$owner->id}", ['new_owner_id' => $newOwner->id]);
39         $this->assertDatabaseHas('pages', [
40             'id' => $page->id,
41             'owned_by' => $newOwner->id,
42         ]);
43     }
44 }