1 <?php namespace Tests\User;
3 use BookStack\Actions\ActivityType;
4 use BookStack\Auth\User;
5 use BookStack\Entities\Models\Page;
8 class UserManagementTest extends TestCase
11 public function test_delete()
13 $editor = $this->getEditor();
14 $resp = $this->asAdmin()->delete("settings/users/{$editor->id}");
15 $resp->assertRedirect("/settings/users");
16 $resp = $this->followRedirects($resp);
18 $resp->assertSee("User successfully removed");
19 $this->assertActivityExists(ActivityType::USER_DELETE);
21 $this->assertDatabaseMissing('users', ['id' => $editor->id]);
24 public function test_delete_offers_migrate_option()
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");
32 public function test_delete_with_new_owner_id_changes_ownership()
34 $page = Page::query()->first();
35 $owner = $page->ownedBy;
36 $newOwner = User::query()->where('id', '!=' , $owner->id)->first();
38 $this->asAdmin()->delete("settings/users/{$owner->id}", ['new_owner_id' => $newOwner->id]);
39 $this->assertDatabaseHas('pages', [
41 'owned_by' => $newOwner->id,