Implement academy analytics, billing, and web stories updates
This commit is contained in:
69
tests/Feature/Web/FeaturedArtworksPageTest.php
Normal file
69
tests/Feature/Web/FeaturedArtworksPageTest.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Models\Artwork;
|
||||
use App\Models\ContentType;
|
||||
use App\Models\Category;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
it('renders featured artworks without lazy loading category content types', function (): void {
|
||||
$contentType = ContentType::query()->create([
|
||||
'name' => 'Digital Art',
|
||||
'slug' => 'digital-art',
|
||||
'description' => 'Digital art content type',
|
||||
'order' => 1,
|
||||
'hide_from_menu' => false,
|
||||
]);
|
||||
|
||||
$category = Category::query()->create([
|
||||
'content_type_id' => $contentType->id,
|
||||
'parent_id' => null,
|
||||
'name' => 'Featured Category',
|
||||
'slug' => 'featured-category',
|
||||
'description' => 'Featured category',
|
||||
'is_active' => true,
|
||||
'sort_order' => 1,
|
||||
]);
|
||||
|
||||
$artwork = Artwork::factory()->create([
|
||||
'title' => 'Featured Route Artwork',
|
||||
'slug' => 'featured-route-artwork-' . Str::lower((string) Str::uuid()),
|
||||
'is_public' => true,
|
||||
'is_approved' => true,
|
||||
'published_at' => now()->subHour(),
|
||||
'has_missing_thumbnails' => false,
|
||||
]);
|
||||
|
||||
$artwork->categories()->attach($category->id);
|
||||
|
||||
DB::table('artwork_features')->insert([
|
||||
'artwork_id' => $artwork->id,
|
||||
'priority' => 100,
|
||||
'featured_at' => now()->subHour(),
|
||||
'expires_at' => null,
|
||||
'label' => null,
|
||||
'note' => null,
|
||||
'is_active' => true,
|
||||
'created_by' => null,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
'deleted_at' => null,
|
||||
]);
|
||||
|
||||
Model::preventLazyLoading();
|
||||
|
||||
try {
|
||||
$this->withoutExceptionHandling()
|
||||
->get(route('featured'))
|
||||
->assertOk()
|
||||
->assertSee('Featured Route Artwork');
|
||||
} finally {
|
||||
Model::preventLazyLoading(false);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user