seed(DatabaseSeeder::class); expect(Plan::query()->count())->toBe(4); expect(PaymentOption::query()->count())->toBe(3); }); test('payment option seeder does not invent stripe ids', function () { /** @var TestCase $this */ $this->seed(DatabaseSeeder::class); expect(PaymentOption::query()->whereNotNull('stripe_price_id')->exists())->toBeFalse(); expect(PaymentOption::query()->whereNotNull('stripe_product_id')->exists())->toBeFalse(); }); test('dev users are seeded outside production', function () { /** @var TestCase $this */ $this->seed(DatabaseSeeder::class); expect(User::findByEmail('admin@pressekonto.test'))->not->toBeNull(); expect(User::findByEmail('test@example.com'))->not->toBeNull(); }); test('dev users are not seeded in production', function () { /** @var TestCase $this */ $originalEnv = $this->app['env']; $this->app['env'] = 'production'; try { // Direkt statt über artisan db:seed – das Command würde in // "production" interaktiv um Bestätigung bitten. (new DatabaseSeeder)->setContainer($this->app)->__invoke(); } finally { $this->app['env'] = $originalEnv; } expect(User::query()->count())->toBe(0); expect(Plan::query()->count())->toBe(4); });