]> BookStack Code Mirror - bookstack/blob - tests/Entity/PageTemplateTest.php
Started implementation of page template
[bookstack] / tests / Entity / PageTemplateTest.php
1 <?php namespace Entity;
2
3 use BookStack\Entities\Page;
4 use Tests\TestCase;
5
6 class PageTemplateTest extends TestCase
7 {
8     public function test_active_templates_visible_on_page_view()
9     {
10         $page = Page::first();
11
12         $this->asEditor();
13         $templateView = $this->get($page->getUrl());
14         $templateView->assertDontSee('Page Template');
15
16         $page->template = true;
17         $page->save();
18
19         $templateView = $this->get($page->getUrl());
20         $templateView->assertSee('Page Template');
21     }
22
23     public function test_manage_templates_permission_required_to_change_page_template_status()
24     {
25         $page = Page::first();
26         $editor = $this->getEditor();
27         $this->actingAs($editor);
28
29         $pageUpdateData = [
30             'name' => $page->name,
31             'html' => $page->html,
32             'template' => 'true',
33         ];
34
35         $this->put($page->getUrl(), $pageUpdateData);
36         $this->assertDatabaseHas('pages', [
37             'id' => $page->id,
38             'template' => false,
39         ]);
40
41         $this->giveUserPermissions($editor, ['templates-manage']);
42
43         $this->put($page->getUrl(), $pageUpdateData);
44         $this->assertDatabaseHas('pages', [
45             'id' => $page->id,
46             'template' => true,
47         ]);
48     }
49
50 }