Dan Brown

Fixed revision-based redirect on new pages

...@@ -157,6 +157,8 @@ class PageRepo extends EntityRepo ...@@ -157,6 +157,8 @@ class PageRepo extends EntityRepo
157 $draftPage->draft = false; 157 $draftPage->draft = false;
158 158
159 $draftPage->save(); 159 $draftPage->save();
160 + $this->saveRevision($draftPage, 'Initial Publish');
161 +
160 return $draftPage; 162 return $draftPage;
161 } 163 }
162 164
......
...@@ -216,13 +216,24 @@ class EntityTest extends TestCase ...@@ -216,13 +216,24 @@ class EntityTest extends TestCase
216 216
217 public function test_old_page_slugs_redirect_to_new_pages() 217 public function test_old_page_slugs_redirect_to_new_pages()
218 { 218 {
219 - $page = \BookStack\Page::all()->first(); 219 + $page = \BookStack\Page::first();
220 $pageUrl = $page->getUrl(); 220 $pageUrl = $page->getUrl();
221 $newPageUrl = '/books/' . $page->book->slug . '/page/super-test-page'; 221 $newPageUrl = '/books/' . $page->book->slug . '/page/super-test-page';
222 + // Need to save twice since revisions are not generated in seeder.
222 $this->asAdmin()->visit($pageUrl) 223 $this->asAdmin()->visit($pageUrl)
223 ->clickInElement('#content', 'Edit') 224 ->clickInElement('#content', 'Edit')
225 + ->type('super test', '#name')
226 + ->press('Save Page');
227 +
228 + $page = \BookStack\Page::first();
229 + $pageUrl = $page->getUrl();
230 +
231 + // Second Save
232 + $this->visit($pageUrl)
233 + ->clickInElement('#content', 'Edit')
224 ->type('super test page', '#name') 234 ->type('super test page', '#name')
225 ->press('Save Page') 235 ->press('Save Page')
236 + // Check redirect
226 ->seePageIs($newPageUrl) 237 ->seePageIs($newPageUrl)
227 ->visit($pageUrl) 238 ->visit($pageUrl)
228 ->seePageIs($newPageUrl); 239 ->seePageIs($newPageUrl);
......