|
6 | 6 | use Illuminate\Support\Facades\Event; |
7 | 7 | use Wnx\LaravelBackupRestore\Commands\RestoreCommand; |
8 | 8 | use Wnx\LaravelBackupRestore\Events\DatabaseReset; |
| 9 | +use Wnx\LaravelBackupRestore\Events\LocalBackupRemoved; |
9 | 10 | use Wnx\LaravelBackupRestore\Exceptions\NoBackupsFound; |
10 | 11 |
|
11 | 12 | // MySQL |
|
21 | 22 | ->expectsOutputToContain('All health checks passed.') |
22 | 23 | ->assertSuccessful(); |
23 | 24 |
|
24 | | - $result = DB::connection('mysql')->table('users')->count(); |
| 25 | + $result = DB::connection('mysql-restore')->table('users')->count(); |
25 | 26 |
|
26 | 27 | expect($result)->toBe(10); |
27 | 28 | })->with([ |
|
124 | 125 | ->expectsQuestion('Proceed to restore "Laravel/2023-01-28-mysql-no-compression-encrypted.zip" using the "mysql-restore" database connection. (Database: laravel_backup_restore, Host: 127.0.0.1, username: root)', true) |
125 | 126 | ->assertSuccessful(); |
126 | 127 |
|
127 | | - $result = DB::connection('mysql')->table('users')->count(); |
| 128 | + $result = DB::connection('mysql-restore')->table('users')->count(); |
128 | 129 |
|
129 | 130 | expect($result)->toBe(10); |
130 | 131 | })->group('mysql'); |
|
175 | 176 | ->expectsOutputToContain('Database has not tables after restore.') |
176 | 177 | ->assertFailed(); |
177 | 178 | }); |
| 179 | + |
| 180 | +it('does not clear downloaded backup if --keep option is being used', function () { |
| 181 | + Event::fake([LocalBackupRemoved::class]); |
| 182 | + |
| 183 | + $this->artisan(RestoreCommand::class, [ |
| 184 | + '--disk' => 'remote', |
| 185 | + '--backup' => 'Laravel/2023-02-28-sqlite-no-compression-no-encryption.zip', |
| 186 | + '--connection' => 'sqlite-restore', |
| 187 | + '--password' => null, |
| 188 | + '--no-interaction' => true, |
| 189 | + '--keep' => true, |
| 190 | + ]) |
| 191 | + ->expectsQuestion('Proceed to restore "Laravel/2023-02-28-sqlite-no-compression-no-encryption.zip" using the "sqlite-restore" database connection. (Database: database/database.sqlite)', true) |
| 192 | + ->assertSuccessful(); |
| 193 | + |
| 194 | + Event::assertNotDispatched(LocalBackupRemoved::class); |
| 195 | + $files = \Illuminate\Support\Facades\Storage::disk('local')->allFiles('backup-restore-temp'); |
| 196 | + |
| 197 | + expect($files)->not->toBeEmpty(); |
| 198 | + |
| 199 | +})->group('sqlite'); |
0 commit comments