mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-06-05 17:16:52 +03:00
Added basic system tests for markdown editor, Added extra test helpers
Added test helpers for checking if an element exists / does not exist on a page. Also fixed markdown editor bugs found while creating tests.
This commit is contained in:
parent
e1994ef2cf
commit
dc2978824e
@ -57,6 +57,9 @@
|
|||||||
padding: 0 $-m 0;
|
padding: 0 $-m 0;
|
||||||
margin-left: -1px;
|
margin-left: -1px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
.page-content {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.editor-toolbar {
|
.editor-toolbar {
|
||||||
|
@ -68,7 +68,9 @@
|
|||||||
<div class="editor-toolbar">
|
<div class="editor-toolbar">
|
||||||
<div class="">Preview</div>
|
<div class="">Preview</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown-display page-content" ng-bind-html="displayContent"></div>
|
<div class="markdown-display">
|
||||||
|
<div class="page-content" ng-bind-html="displayContent"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
51
tests/Entity/MarkdownTest.php
Normal file
51
tests/Entity/MarkdownTest.php
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
class MarkdownTest extends TestCase
|
||||||
|
{
|
||||||
|
protected $page;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->page = \BookStack\Page::first();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function setMarkdownEditor()
|
||||||
|
{
|
||||||
|
$this->setSettings(['app-editor' => 'markdown']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_default_editor_is_wysiwyg()
|
||||||
|
{
|
||||||
|
$this->assertEquals(setting('app-editor'), 'wysiwyg');
|
||||||
|
$this->asAdmin()->visit($this->page->getUrl() . '/edit')
|
||||||
|
->pageHasElement('#html-editor');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_markdown_setting_shows_markdown_editor()
|
||||||
|
{
|
||||||
|
$this->setMarkdownEditor();
|
||||||
|
$this->asAdmin()->visit($this->page->getUrl() . '/edit')
|
||||||
|
->pageNotHasElement('#html-editor')
|
||||||
|
->pageHasElement('#markdown-editor');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_markdown_content_given_to_editor()
|
||||||
|
{
|
||||||
|
$this->setMarkdownEditor();
|
||||||
|
$mdContent = '# hello. This is a test';
|
||||||
|
$this->page->markdown = $mdContent;
|
||||||
|
$this->page->save();
|
||||||
|
$this->asAdmin()->visit($this->page->getUrl() . '/edit')
|
||||||
|
->seeInField('markdown', $mdContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_html_content_given_to_editor_if_no_markdown()
|
||||||
|
{
|
||||||
|
$this->setMarkdownEditor();
|
||||||
|
$this->asAdmin()->visit($this->page->getUrl() . '/edit')
|
||||||
|
->seeInField('markdown', $this->page->html);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -170,4 +170,28 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
|
|||||||
$this->visit($link->link()->getUri());
|
$this->visit($link->link()->getUri());
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the page contains the given element.
|
||||||
|
* @param string $selector
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function pageHasElement($selector)
|
||||||
|
{
|
||||||
|
$elements = $this->crawler->filter($selector);
|
||||||
|
$this->assertTrue(count($elements) > 0, "The page does not contain an element matching " . $selector);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the page contains the given element.
|
||||||
|
* @param string $selector
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function pageNotHasElement($selector)
|
||||||
|
{
|
||||||
|
$elements = $this->crawler->filter($selector);
|
||||||
|
$this->assertFalse(count($elements) > 0, "The page contains " . count($elements) . " elements matching " . $selector);
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user