From 9165e0238f92073879ebb710c8d303bf9e368a92 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 17 Dec 2016 08:35:03 +0100 Subject: [PATCH] Import related tests. --- app/Http/breadcrumbs.php | 31 +++++- resources/lang/en_US/firefly.php | 3 + resources/seeds/seed.testing.json | 91 +++++++++++++++++ .../Controllers/ImportControllerTest.php | 99 +++++++++---------- 4 files changed, 171 insertions(+), 53 deletions(-) diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php index 5edec159df..5b99d097ee 100644 --- a/app/Http/breadcrumbs.php +++ b/app/Http/breadcrumbs.php @@ -18,6 +18,7 @@ use FireflyIII\Models\Attachment; use FireflyIII\Models\Bill; use FireflyIII\Models\Budget; use FireflyIII\Models\Category; +use FireflyIII\Models\ImportJob; use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\Rule; @@ -416,6 +417,35 @@ Breadcrumbs::register( } ); +/** + * IMPORT + */ +Breadcrumbs::register( + 'import.index', function (BreadCrumbGenerator $breadcrumbs) { + $breadcrumbs->parent('home'); + $breadcrumbs->push(trans('firefly.import'), route('import.index')); +} +); +Breadcrumbs::register( + 'import.complete', function (BreadCrumbGenerator $breadcrumbs, ImportJob $job) { + $breadcrumbs->parent('import.index'); + $breadcrumbs->push(trans('firefly.bread_crumb_import_complete', ['key' => $job->key]), route('import.complete', [$job->key])); +} +); +Breadcrumbs::register( + 'import.configure', function (BreadCrumbGenerator $breadcrumbs, ImportJob $job) { + $breadcrumbs->parent('import.index'); + $breadcrumbs->push(trans('firefly.bread_crumb_configure_import', ['key' => $job->key]), route('import.configure', [$job->key])); +} +); +Breadcrumbs::register( + 'import.finished', function (BreadCrumbGenerator $breadcrumbs, ImportJob $job) { + $breadcrumbs->parent('import.index'); + $breadcrumbs->push(trans('firefly.bread_crumb_import_finished', ['key' => $job->key]), route('import.finished', [$job->key])); +} +); + + /** * PREFERENCES */ @@ -423,7 +453,6 @@ Breadcrumbs::register( 'preferences.index', function (BreadCrumbGenerator $breadcrumbs) { $breadcrumbs->parent('home'); $breadcrumbs->push(trans('breadcrumbs.preferences'), route('preferences.index')); - } ); diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index b6553ec393..2dd05190e8 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -934,4 +934,7 @@ return [ 'import_finished_link' => 'The transactions imported can be found in tag :tag.', 'need_at_least_one_account' => 'You need at least one asset account to be able to create piggy banks', 'see_help_top_right' => 'For more information, please check out the help pages using the icon in the top right corner of the page.', + 'bread_crumb_import_complete' => 'Import ":key" complete', + 'bread_crumb_configure_import' => 'Configure import ":key"', + 'bread_crumb_import_finished' => 'Import ":key" finished', ]; diff --git a/resources/seeds/seed.testing.json b/resources/seeds/seed.testing.json index 2ff87151c1..7f1f8a811d 100644 --- a/resources/seeds/seed.testing.json +++ b/resources/seeds/seed.testing.json @@ -1070,6 +1070,97 @@ }, "column-mapping-complete": false } + }, + + { + "user_id": 1, + "key": "complete", + "file_type": "csv", + "status": "settings_complete", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } + }, + { + "user_id": 1, + "key": "configure", + "file_type": "csv", + "status": "import_status_never_started", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } + }, + { + "user_id": 1, + "key": "settings", + "file_type": "csv", + "status": "import_configuration_saved", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } + }, + { + "user_id": 1, + "key": "p-settings", + "file_type": "csv", + "status": "import_configuration_saved", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } + }, + { + "user_id": 1, + "key": "p-configure", + "file_type": "csv", + "status": "import_status_never_started", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } + }, + { + "user_id": 1, + "key": "finished", + "file_type": "csv", + "status": "import_complete", + "extended_status": { + "steps_done": 0, + "total_steps": 0, + "errors": [], + "import_count": 0, + "importTag": 0 + }, + "configuration": { + } } ], "export-jobs": [ diff --git a/tests/acceptance/Controllers/ImportControllerTest.php b/tests/acceptance/Controllers/ImportControllerTest.php index 30fee63469..8437b851e9 100644 --- a/tests/acceptance/Controllers/ImportControllerTest.php +++ b/tests/acceptance/Controllers/ImportControllerTest.php @@ -8,6 +8,7 @@ * * See the LICENSE file for details. */ +use FireflyIII\Import\Setup\CsvSetup; /** @@ -28,98 +29,97 @@ class ImportControllerTest extends TestCase /** * @covers \FireflyIII\Http\Controllers\ImportController::complete - * Implement testComplete(). */ public function testComplete() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete( - 'This test has not been implemented yet.' - ); + $this->be($this->user()); + $this->call('GET', route('import.complete', ['complete'])); + $this->assertResponseStatus(200); + $this->see('