createLibraryImage(12, 'Hero shot');
$article = $this->makeArticle([
'content' => "Intro\n\n\n",
'content_format' => ContentFormat::MARKDOWN,
]);
$html = app(ContentRenderer::class)->toHtml(
(string) $article->content,
ContentFormat::MARKDOWN,
$article->id,
);
$this->assertStringContainsString((string) $media->url, $html);
$this->assertStringContainsString('assertStringNotContainsString('media:'.$media->id, $html);
$this->assertStringContainsString("", (string) $article->fresh()->content);
}
public function test_html_body_hydrates_media_shortcode(): void
{
$media = $this->createLibraryImage(21, 'Inline');
$html = app(ContentRenderer::class)->toHtml(
'
see [media='.$media->id.']
', ContentFormat::HTML, ); $this->assertStringContainsString((string) $media->url, $html); $this->assertStringNotContainsString('[media='.$media->id.']', $html); } public function test_article_page_shows_library_image_and_cover(): void { $media = $this->createLibraryImage(33, 'Cover art'); $article = $this->makeArticle([ 'content' => "", 'content_format' => ContentFormat::MARKDOWN, 'cover_media_id' => $media->id, ]); $this->get('/show-'.$article->id.'.shtml') ->assertOk() ->assertSee((string) $media->url, false) ->assertDontSee('media:'.$media->id, false); $article->refresh(); $this->assertTrue($article->hasCover()); $this->assertSame((string) $media->url, $article->coverUrl()); } public function test_auto_cover_prefers_media_protocol_in_markdown(): void { $media = $this->createLibraryImage(44, 'First image'); $article = $this->makeArticle([ 'content' => "Hello\n\n\n", 'content_format' => ContentFormat::MARKDOWN, ]); app(ArticleCoverService::class)->apply($article, 'from_content'); $article->refresh(); $this->assertTrue($article->hasCover()); $this->assertSame(ArticleCoverService::SOURCE_CONTENT_IMAGE, $article->cover_source); $this->assertSame((string) $media->url, $article->cover_path); } public function test_admin_media_library_pages_load(): void { Role::findOrCreate('admin'); $admin = User::factory()->create([ 'email' => 'admin-media@larablog.test', ]); $admin->assignRole('admin'); $this->actingAs($admin)->get('/admin/media-library')->assertOk(); $this->actingAs($admin)->get('/admin/media-folders')->assertOk(); $this->actingAs($admin)->get('/admin/articles/create') ->assertOk() ->assertSee('media:ID', false); } /** * @param array