create(['logo' => 'technologies/angular.svg']); $this->assertContains('technologies/angular.svg', Media::referencedPaths()); } #[Test] public function an_image_inside_a_page_body_is_in_use_in_any_language(): void { $url = Storage::disk((string) config('media.disk'))->url('pages/content/diagrama.png'); Page::factory()->create([ 'body' => [ 'es' => '

Así funciona:

Diagrama', 'en' => '
', ], ]); $paths = Media::referencedPaths(); $this->assertContains('pages/content/diagrama.png', $paths); $this->assertContains('pages/content/diagram en.png', $paths); } #[Test] public function an_image_in_a_projects_prose_is_in_use_even_in_the_bin(): void { Project::factory()->create([ 'decisions' => ['es' => ''], ])->delete(); $this->assertContains('projects/arquitectura.webp', Media::referencedPaths()); } #[Test] public function pruning_leaves_an_image_a_body_shows_and_takes_a_true_orphan(): void { $disk = Storage::disk((string) config('media.disk')); foreach (['pages/content/usada.png', 'pages/huerfana.png'] as $path) { $disk->put($path, 'x'); Media::query()->create(['disk' => (string) config('media.disk'), 'path' => $path]); } Page::factory()->create(['body' => ['es' => '']]); $this->artisan('content:prune', ['--media' => true])->assertSuccessful(); $disk->assertExists('pages/content/usada.png'); $disk->assertMissing('pages/huerfana.png'); } #[Test] public function html_without_images_on_the_disk_says_nothing(): void { $this->assertSame([], Media::pathsEmbeddedIn('

Texto

')); } }