Added 404 page and extra tests
This commit is contained in:
parent
fd3929e809
commit
144eb69cad
|
@ -91,9 +91,12 @@ class BookRepo
|
||||||
|
|
||||||
public function findSuitableSlug($name, $currentId = false)
|
public function findSuitableSlug($name, $currentId = false)
|
||||||
{
|
{
|
||||||
$slug = Str::slug($name);
|
$originalSlug = Str::slug($name);
|
||||||
|
$slug = $originalSlug;
|
||||||
|
$count = 2;
|
||||||
while($this->doesSlugExist($slug, $currentId)) {
|
while($this->doesSlugExist($slug, $currentId)) {
|
||||||
$slug .= '-' . substr(md5(rand(1, 500)), 0, 3);
|
$slug = $originalSlug . '-' . $count;
|
||||||
|
$count++;
|
||||||
}
|
}
|
||||||
return $slug;
|
return $slug;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if(count($books) > 1)
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<h3>Show Other Books</h3>
|
<h3>Show Other Books</h3>
|
||||||
@foreach($books as $otherBook)
|
@foreach($books as $otherBook)
|
||||||
|
@ -21,6 +22,7 @@
|
||||||
@endif
|
@endif
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
@extends('public')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Page Not Found</h1>
|
||||||
|
<p>The page you were looking for could not be found.</p>
|
||||||
|
|
||||||
|
@stop
|
|
@ -37,7 +37,7 @@
|
||||||
<div class="links text-center">
|
<div class="links text-center">
|
||||||
@yield('header-buttons')
|
@yield('header-buttons')
|
||||||
</div>
|
</div>
|
||||||
@if($signedIn)
|
@if(isset($signedIn) && $signedIn)
|
||||||
<img class="avatar" src="{{$currentUser->getAvatar(30)}}" alt="{{ $currentUser->name }}">
|
<img class="avatar" src="{{$currentUser->getAvatar(30)}}" alt="{{ $currentUser->name }}">
|
||||||
<div class="dropdown-container" data-dropdown>
|
<div class="dropdown-container" data-dropdown>
|
||||||
<span class="user-name" data-dropdown-toggle>
|
<span class="user-name" data-dropdown-toggle>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class EntityTest extends TestCase
|
class EntityTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -113,6 +115,12 @@ class EntityTest extends TestCase
|
||||||
->seePageIs('/books/my-first-book')
|
->seePageIs('/books/my-first-book')
|
||||||
->see($book->name)->see($book->description);
|
->see($book->name)->see($book->description);
|
||||||
|
|
||||||
|
// Ensure duplicate names are given different slugs
|
||||||
|
$this->asAdmin()
|
||||||
|
->visit('/books/create')
|
||||||
|
->submitForm('Save Book', $book->toArray())
|
||||||
|
->seePageIs('/books/my-first-book-2');
|
||||||
|
|
||||||
$book = \BookStack\Book::where('slug', '=', 'my-first-book')->first();
|
$book = \BookStack\Book::where('slug', '=', 'my-first-book')->first();
|
||||||
return $book;
|
return $book;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue