whisper-money/tests/Feature/Console/ResetDemoAccountCommandTest...

30 lines
822 B
PHP

<?php
use App\Models\User;
beforeEach(function () {
config(['app.demo' => [
'email' => 'demo@whisper.money',
'password' => 'demo',
'encryption_key' => 'demo',
]]);
});
test('demo:reset fails if demo email is not configured', function () {
config(['app.demo.email' => null]);
$this->artisan('demo:reset')->assertFailed();
});
test('demo:reset creates demo user with basic data structure', function () {
$this->artisan('demo:reset')->assertSuccessful();
$user = User::where('email', 'demo@whisper.money')->first();
// Verify core data exists
expect($user)->not->toBeNull();
expect($user->accounts()->count())->toBe(6);
expect($user->transactions()->count())->toBeGreaterThan(2000);
expect($user->categories()->count())->toBe(63);
})->group('slow');