From 5abe14982aff9ed2d9817255ffb8d1752519cf95 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 19 May 2024 11:41:45 +0200 Subject: tests: More tests for Module\Rpost. Also refactor the tests a bit to avoid duplicatng code. --- tests/unit/Module/RpostTest.php | 58 +++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 14 deletions(-) (limited to 'tests') diff --git a/tests/unit/Module/RpostTest.php b/tests/unit/Module/RpostTest.php index 2f277e66d..106f06fde 100644 --- a/tests/unit/Module/RpostTest.php +++ b/tests/unit/Module/RpostTest.php @@ -14,20 +14,7 @@ class RpostTest extends \Zotlabs\Tests\Unit\Module\TestCase { * Basic test of a get request with no args as an authenticated user. */ public function test_get_with_no_args(): void { - // Mock `local_chanel()` to emulate a valid logged in channel - $lc_mock = $this->getFunctionMock('Zotlabs\Module', 'local_channel') - ->expects($this->any()) - ->willReturn(42); - - // Set basic access controls to keep AccessList happy. - \App::$channel = [ - 'channel_allow_cid' => null, - 'channel_allow_gid' => null, - 'channel_deny_cid' => null, - 'channel_deny_gid' => null, - ]; - - $this->get('rpost'); + $this->get_authenticated(); $this->assertPageContains('
assertPageContains('assertPageContains('get_authenticated([ + 'title' => 'This is my title', + 'body' => 'The body of the post', + 'source' => 'The temple of the Dagon', + ]); + + $this->assertPageContains('value="This is my title"'); + $this->assertPageContains('>The body of the post'); + $this->assertPageContains('value="The temple of the Dagon"'); + } + + public function test_convert_body_from_html_to_bbcode(): void { + $this->get_authenticated([ + 'body' => "

Awesome page

\r\n

Awesome content!

", + 'type' => 'html', + ]); + + $this->assertPageContains(">[h1]Awesome page[/h1]\n\nAwesome content!"); + } + + /** + * Private helper method to perform an authenticated GET request. + * + * @param array $query An associative array of query parameters. + */ + private function get_authenticated(array $query = []): void { + // Mock `local_chanel()` to emulate a valid logged in channel + $lc_mock = $this->getFunctionMock('Zotlabs\Module', 'local_channel') + ->expects($this->any()) + ->willReturn(42); + + // Set basic access controls to keep AccessList happy. + \App::$channel = [ + 'channel_allow_cid' => null, + 'channel_allow_gid' => null, + 'channel_deny_cid' => null, + 'channel_deny_gid' => null, + ]; + + $this->get('rpost', $query); + } } -- cgit v1.2.3