|
9 | 9 | use Itiden\Backup\Facades\Restorer; |
10 | 10 | use Itiden\Backup\Enums\State; |
11 | 11 | use Itiden\Backup\StateManager; |
| 12 | +use Statamic\Facades\Stache; |
12 | 13 |
|
13 | 14 | use function Itiden\Backup\Tests\fixtures_path; |
| 15 | +use function Itiden\Backup\Tests\user; |
14 | 16 |
|
15 | 17 | describe('restorer', function (): void { |
16 | 18 | it('can restore from timestamp', function (): void { |
|
25 | 27 | expect(File::isEmptyDirectory(fixtures_path('content/collections')))->toBeFalse(); |
26 | 28 | }); |
27 | 29 |
|
| 30 | + it('restores correct files', function (): void { |
| 31 | + user(); |
| 32 | + expect(File::allFiles(Stache::store('entries')->directory()))->toHaveCount(2); // 1 entry, 1 collection |
| 33 | + expect(File::allFiles(Stache::store('form-submissions')->directory()))->toHaveCount(1); |
| 34 | + expect(File::allFiles(Stache::store('users')->directory()))->toHaveCount(1); |
| 35 | + |
| 36 | + // config()->set('backup.stache_stores', [ |
| 37 | + // 'form-submissions', |
| 38 | + // ]); |
| 39 | + |
| 40 | + $backup = Backuper::backup(); |
| 41 | + |
| 42 | + File::cleanDirectory(fixtures_path('content')); // Simulate the stache directories doesnt exist anymore by removing the their parent directory |
| 43 | + File::cleanDirectory(Stache::store('users')->directory()); |
| 44 | + |
| 45 | + expect(file_exists(Stache::store('entries')->directory()))->toBeFalse(); |
| 46 | + expect(file_exists(Stache::store('form-submissions')->directory()))->toBeFalse(); |
| 47 | + expect(File::allFiles(Stache::store('users')->directory()))->toHaveCount(0); |
| 48 | + |
| 49 | + Restorer::restore($backup); |
| 50 | + |
| 51 | + expect(File::allFiles(Stache::store('entries')->directory()))->toHaveCount(2); // 1 entry, 1 collection |
| 52 | + expect(File::allFiles(Stache::store('form-submissions')->directory()))->toHaveCount(1); |
| 53 | + expect(File::allFiles(Stache::store('users')->directory()))->toHaveCount(1); |
| 54 | + }); |
| 55 | + |
28 | 56 | it('throws an exception if the backup path does not exist', function (): void { |
29 | 57 | Restorer::restore( |
30 | 58 | new BackupDto( |
|
0 commit comments