mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-09 02:20:09 +00:00
Updated testing for user slugs
This commit is contained in:
parent
da929d5edc
commit
3c57cbc567
3 changed files with 19 additions and 10 deletions
tests
|
@ -9,6 +9,7 @@ use BookStack\Settings\SettingService;
|
||||||
use DB;
|
use DB;
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Support\Facades\Notification;
|
use Illuminate\Support\Facades\Notification;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
use Tests\BrowserKitTest;
|
use Tests\BrowserKitTest;
|
||||||
|
|
||||||
class AuthTest extends BrowserKitTest
|
class AuthTest extends BrowserKitTest
|
||||||
|
@ -221,6 +222,7 @@ class AuthTest extends BrowserKitTest
|
||||||
|
|
||||||
public function test_user_creation()
|
public function test_user_creation()
|
||||||
{
|
{
|
||||||
|
/** @var User $user */
|
||||||
$user = factory(User::class)->make();
|
$user = factory(User::class)->make();
|
||||||
$adminRole = Role::getRole('admin');
|
$adminRole = Role::getRole('admin');
|
||||||
|
|
||||||
|
@ -234,8 +236,11 @@ class AuthTest extends BrowserKitTest
|
||||||
->type($user->password, '#password-confirm')
|
->type($user->password, '#password-confirm')
|
||||||
->press('Save')
|
->press('Save')
|
||||||
->seePageIs('/settings/users')
|
->seePageIs('/settings/users')
|
||||||
->seeInDatabase('users', $user->toArray())
|
->seeInDatabase('users', $user->only(['name', 'email']))
|
||||||
->see($user->name);
|
->see($user->name);
|
||||||
|
|
||||||
|
$user->refresh();
|
||||||
|
$this->assertStringStartsWith(Str::slug($user->name), $user->slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_user_updating()
|
public function test_user_updating()
|
||||||
|
@ -252,6 +257,9 @@ class AuthTest extends BrowserKitTest
|
||||||
->seePageIs('/settings/users')
|
->seePageIs('/settings/users')
|
||||||
->seeInDatabase('users', ['id' => $user->id, 'name' => 'Barry Scott', 'password' => $password])
|
->seeInDatabase('users', ['id' => $user->id, 'name' => 'Barry Scott', 'password' => $password])
|
||||||
->notSeeInDatabase('users', ['name' => $user->name]);
|
->notSeeInDatabase('users', ['name' => $user->name]);
|
||||||
|
|
||||||
|
$user->refresh();
|
||||||
|
$this->assertStringStartsWith(Str::slug($user->name), $user->slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_user_password_update()
|
public function test_user_password_update()
|
||||||
|
|
|
@ -122,6 +122,7 @@ class EntitySearchTest extends TestCase
|
||||||
$page = $this->newPage(['name' => 'My new test quaffleachits', 'html' => 'this is about an orange donkey danzorbhsing']);
|
$page = $this->newPage(['name' => 'My new test quaffleachits', 'html' => 'this is about an orange donkey danzorbhsing']);
|
||||||
$this->asEditor();
|
$this->asEditor();
|
||||||
$editorId = $this->getEditor()->id;
|
$editorId = $this->getEditor()->id;
|
||||||
|
$editorSlug = $this->getEditor()->slug;
|
||||||
|
|
||||||
// Viewed filter searches
|
// Viewed filter searches
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {not_viewed_by_me}'))->assertSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {not_viewed_by_me}'))->assertSee($page->name);
|
||||||
|
@ -133,16 +134,16 @@ class EntitySearchTest extends TestCase
|
||||||
// User filters
|
// User filters
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertDontSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertDontSee($page->name);
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:'.$editorId.'}'))->assertDontSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by: '.$editorSlug.'}'))->assertDontSee($page->name);
|
||||||
$page->created_by = $editorId;
|
$page->created_by = $editorId;
|
||||||
$page->save();
|
$page->save();
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:me}'))->assertSee($page->name);
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {created_by:'.$editorId.'}'))->assertSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {created_by: '.$editorSlug.'}'))->assertSee($page->name);
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertDontSee($page->name);
|
||||||
$page->updated_by = $editorId;
|
$page->updated_by = $editorId;
|
||||||
$page->save();
|
$page->save();
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:me}'))->assertSee($page->name);
|
||||||
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by:'.$editorId.'}'))->assertSee($page->name);
|
$this->get('/search?term=' . urlencode('danzorbhsing {updated_by: '.$editorSlug.'}'))->assertSee($page->name);
|
||||||
|
|
||||||
// Content filters
|
// Content filters
|
||||||
$this->get('/search?term=' . urlencode('{in_name:danzorbhsing}'))->assertDontSee($page->name);
|
$this->get('/search?term=' . urlencode('{in_name:danzorbhsing}'))->assertDontSee($page->name);
|
||||||
|
|
|
@ -19,7 +19,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
public function test_profile_page_shows_name()
|
public function test_profile_page_shows_name()
|
||||||
{
|
{
|
||||||
$this->asAdmin()
|
$this->asAdmin()
|
||||||
->visit('/user/' . $this->user->id)
|
->visit('/user/' . $this->user->slug)
|
||||||
->see($this->user->name);
|
->see($this->user->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
$content = $this->createEntityChainBelongingToUser($this->user, $this->user);
|
$content = $this->createEntityChainBelongingToUser($this->user, $this->user);
|
||||||
|
|
||||||
$this->asAdmin()
|
$this->asAdmin()
|
||||||
->visit('/user/' . $this->user->id)
|
->visit('/user/' . $this->user->slug)
|
||||||
// Check the recently created page is shown
|
// Check the recently created page is shown
|
||||||
->see($content['page']->name)
|
->see($content['page']->name)
|
||||||
// Check the recently created chapter is shown
|
// Check the recently created chapter is shown
|
||||||
|
@ -41,7 +41,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
{
|
{
|
||||||
$newUser = $this->getNewBlankUser();
|
$newUser = $this->getNewBlankUser();
|
||||||
|
|
||||||
$this->asAdmin()->visit('/user/' . $newUser->id)
|
$this->asAdmin()->visit('/user/' . $newUser->slug)
|
||||||
->see($newUser->name)
|
->see($newUser->name)
|
||||||
->seeInElement('#content-counts', '0 Books')
|
->seeInElement('#content-counts', '0 Books')
|
||||||
->seeInElement('#content-counts', '0 Chapters')
|
->seeInElement('#content-counts', '0 Chapters')
|
||||||
|
@ -49,7 +49,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
|
|
||||||
$this->createEntityChainBelongingToUser($newUser, $newUser);
|
$this->createEntityChainBelongingToUser($newUser, $newUser);
|
||||||
|
|
||||||
$this->asAdmin()->visit('/user/' . $newUser->id)
|
$this->asAdmin()->visit('/user/' . $newUser->slug)
|
||||||
->see($newUser->name)
|
->see($newUser->name)
|
||||||
->seeInElement('#content-counts', '1 Book')
|
->seeInElement('#content-counts', '1 Book')
|
||||||
->seeInElement('#content-counts', '1 Chapter')
|
->seeInElement('#content-counts', '1 Chapter')
|
||||||
|
@ -64,7 +64,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
Activity::addForEntity($entities['book'], ActivityType::BOOK_UPDATE);
|
Activity::addForEntity($entities['book'], ActivityType::BOOK_UPDATE);
|
||||||
Activity::addForEntity($entities['page'], ActivityType::PAGE_CREATE);
|
Activity::addForEntity($entities['page'], ActivityType::PAGE_CREATE);
|
||||||
|
|
||||||
$this->asAdmin()->visit('/user/' . $newUser->id)
|
$this->asAdmin()->visit('/user/' . $newUser->slug)
|
||||||
->seeInElement('#recent-user-activity', 'updated book')
|
->seeInElement('#recent-user-activity', 'updated book')
|
||||||
->seeInElement('#recent-user-activity', 'created page')
|
->seeInElement('#recent-user-activity', 'created page')
|
||||||
->seeInElement('#recent-user-activity', $entities['page']->name);
|
->seeInElement('#recent-user-activity', $entities['page']->name);
|
||||||
|
@ -79,7 +79,7 @@ class UserProfileTest extends BrowserKitTest
|
||||||
Activity::addForEntity($entities['page'], ActivityType::PAGE_CREATE);
|
Activity::addForEntity($entities['page'], ActivityType::PAGE_CREATE);
|
||||||
|
|
||||||
$this->asAdmin()->visit('/')->clickInElement('#recent-activity', $newUser->name)
|
$this->asAdmin()->visit('/')->clickInElement('#recent-activity', $newUser->name)
|
||||||
->seePageIs('/user/' . $newUser->id)
|
->seePageIs('/user/' . $newUser->slug)
|
||||||
->see($newUser->name);
|
->see($newUser->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue