use BookStack\Auth\Role;
use BookStack\Auth\User;
-use BookStack\Entities\Page;
+use BookStack\Entities\Models\Page;
use BookStack\Notifications\ConfirmEmail;
use BookStack\Notifications\ResetPassword;
use BookStack\Settings\SettingService;
use DB;
use Hash;
use Illuminate\Support\Facades\Notification;
+use Illuminate\Support\Str;
use Tests\BrowserKitTest;
class AuthTest extends BrowserKitTest
->seePageIs('/register/confirm')
->seeInDatabase('users', ['name' => $user->name, 'email' => $user->email, 'email_confirmed' => false]);
+ $this->visit('/')
+ ->seePageIs('/register/confirm/awaiting');
+
+ auth()->logout();
+
$this->visit('/')->seePageIs('/login')
->type($user->email, '#email')
->type($user->password, '#password')
->seePageIs('/register/confirm')
->seeInDatabase('users', ['name' => $user->name, 'email' => $user->email, 'email_confirmed' => false]);
+ $this->visit('/')
+ ->seePageIs('/register/confirm/awaiting');
+
+ auth()->logout();
$this->visit('/')->seePageIs('/login')
->type($user->email, '#email')
->type($user->password, '#password')
public function test_user_creation()
{
+ /** @var User $user */
$user = factory(User::class)->make();
$adminRole = Role::getRole('admin');
->type($user->password, '#password-confirm')
->press('Save')
->seePageIs('/settings/users')
- ->seeInDatabase('users', $user->toArray())
+ ->seeInDatabase('users', $user->only(['name', 'email']))
->see($user->name);
+
+ $user->refresh();
+ $this->assertStringStartsWith(Str::slug($user->name), $user->slug);
}
public function test_user_updating()
->seePageIs('/settings/users')
->seeInDatabase('users', ['id' => $user->id, 'name' => 'Barry Scott', 'password' => $password])
->notSeeInDatabase('users', ['name' => $user->name]);
+
+ $user->refresh();
+ $this->assertStringStartsWith(Str::slug($user->name), $user->slug);
}
public function test_user_password_update()