diff --git a/app/Http/Controllers/ExportController.php b/app/Http/Controllers/ExportController.php index f081736c93..7f9d29eb7f 100644 --- a/app/Http/Controllers/ExportController.php +++ b/app/Http/Controllers/ExportController.php @@ -26,7 +26,6 @@ use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface; use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface as EJRI; use Preferences; use Response; -use Storage; use View; /** @@ -145,7 +144,7 @@ class ExportController extends Controller 'job' => $job, ]; - $job->change('export_status_make_exporter'); + $jobs->changeStatus($job, 'export_status_make_exporter'); /** @var ProcessorInterface $processor */ $processor = app(ProcessorInterface::class, [$settings]); @@ -153,47 +152,46 @@ class ExportController extends Controller /* * Collect journals: */ - $job->change('export_status_collecting_journals'); + $jobs->changeStatus($job, 'export_status_collecting_journals'); $processor->collectJournals(); - $job->change('export_status_collected_journals'); + $jobs->changeStatus($job, 'export_status_collected_journals'); /* * Transform to exportable entries: */ - $job->change('export_status_converting_to_export_format'); + $jobs->changeStatus($job, 'export_status_converting_to_export_format'); $processor->convertJournals(); - $job->change('export_status_converted_to_export_format'); + $jobs->changeStatus($job, 'export_status_converted_to_export_format'); /* * Transform to (temporary) file: */ - $job->change('export_status_creating_journal_file'); + $jobs->changeStatus($job, 'export_status_creating_journal_file'); $processor->exportJournals(); - $job->change('export_status_created_journal_file'); + $jobs->changeStatus($job, 'export_status_created_journal_file'); /* * Collect attachments, if applicable. */ if ($settings['includeAttachments']) { - $job->change('export_status_collecting_attachments'); + $jobs->changeStatus($job, 'export_status_collecting_attachments'); $processor->collectAttachments(); - $job->change('export_status_collected_attachments'); + $jobs->changeStatus($job, 'export_status_collected_attachments'); } /* * Collect old uploads */ if ($settings['includeOldUploads']) { - $job->change('export_status_collecting_old_uploads'); + $jobs->changeStatus($job, 'export_status_collecting_old_uploads'); $processor->collectOldUploads(); - $job->change('export_status_collected_old_uploads'); + $jobs->changeStatus($job, 'export_status_collected_old_uploads'); } /* * Create ZIP file: */ - $job->change('export_status_creating_zip_file'); + $jobs->changeStatus($job, 'export_status_creating_zip_file'); $processor->createZipFile(); - $job->change('export_status_created_zip_file'); - - $job->change('export_status_finished'); + $jobs->changeStatus($job, 'export_status_created_zip_file'); + $jobs->changeStatus($job, 'export_status_finished'); return Response::json('ok'); } diff --git a/app/Repositories/ExportJob/ExportJobRepository.php b/app/Repositories/ExportJob/ExportJobRepository.php index acb8999786..66458230ec 100644 --- a/app/Repositories/ExportJob/ExportJobRepository.php +++ b/app/Repositories/ExportJob/ExportJobRepository.php @@ -39,6 +39,19 @@ class ExportJobRepository implements ExportJobRepositoryInterface $this->user = $user; } + /** + * @param ExportJob $job + * @param string $status + * + * @return bool + */ + public function changeStatus(ExportJob $job, string $status): bool + { + $job->change($status); + + return true; + } + /** * @return bool */ diff --git a/app/Repositories/ExportJob/ExportJobRepositoryInterface.php b/app/Repositories/ExportJob/ExportJobRepositoryInterface.php index 650aac15a6..f9e7a4402d 100644 --- a/app/Repositories/ExportJob/ExportJobRepositoryInterface.php +++ b/app/Repositories/ExportJob/ExportJobRepositoryInterface.php @@ -32,6 +32,14 @@ interface ExportJobRepositoryInterface */ public function create(): ExportJob; + /** + * @param ExportJob $job + * @param string $status + * + * @return bool + */ + public function changeStatus(ExportJob $job, string $status): bool; + /** * @param ExportJob $job * diff --git a/app/Support/FireflyConfig.php b/app/Support/FireflyConfig.php index 9e42c6de17..18f8754b55 100644 --- a/app/Support/FireflyConfig.php +++ b/app/Support/FireflyConfig.php @@ -49,11 +49,8 @@ class FireflyConfig */ public function get($name, $default = null) { - Log::debug('Now in FFConfig::get()', ['name' => $name]); $fullName = 'ff-config-' . $name; if (Cache::has($fullName)) { - Log::debug('Return cache.'); - return Cache::get($fullName); } diff --git a/test.sh b/test.sh index befdb1c714..3c06c5acec 100755 --- a/test.sh +++ b/test.sh @@ -81,6 +81,7 @@ then echo "Will not reset database" fi +echo "Copy test database over original" # take database from copy: cp $DATABASECOPY $DATABASE diff --git a/tests/acceptance/Controllers/ExportControllerTest.php b/tests/acceptance/Controllers/ExportControllerTest.php index ee94794c22..f0eb8d5716 100644 --- a/tests/acceptance/Controllers/ExportControllerTest.php +++ b/tests/acceptance/Controllers/ExportControllerTest.php @@ -9,6 +9,7 @@ * See the LICENSE file for details. */ use FireflyIII\Export\Processor; +use FireflyIII\Models\ExportJob; use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface; /** @@ -83,6 +84,10 @@ class ExportControllerTest extends TestCase $processor->shouldReceive('exportJournals')->once(); $processor->shouldReceive('createZipFile')->once(); + $repository = $this->mock(ExportJobRepositoryInterface::class); + $repository->shouldReceive('changeStatus')->andReturn(true); + $repository->shouldReceive('findByKey')->andReturn(new ExportJob); + $this->be($this->user()); $this->call('post', route('export.export'), $data);