From bd3e262273cdf026c747cf1953995fe339fb0099 Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 28 Dec 2017 19:55:10 +0100 Subject: [PATCH] Expand coverage. --- .../Controllers/Admin/UpdateController.php | 4 +-- .../Admin/UpdateControllerTest.php | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/UpdateController.php b/app/Http/Controllers/Admin/UpdateController.php index d00a5ae311..38b2723ca1 100644 --- a/app/Http/Controllers/Admin/UpdateController.php +++ b/app/Http/Controllers/Admin/UpdateController.php @@ -112,10 +112,10 @@ class UpdateController extends Controller $check = version_compare($current, $first->getTitle()); FireflyConfig::set('last_update_check', time()); } catch (FireflyException $e) { - Log::error(sprintf('Could not check for updates: %s', $e->getMessage())); // @codeCoverageIgnore + Log::error(sprintf('Could not check for updates: %s', $e->getMessage())); } if ($check === -2) { - $string = strval(trans('firefly.update_check_error')); // @codeCoverageIgnore + $string = strval(trans('firefly.update_check_error')); } if ($check === -1) { diff --git a/tests/Feature/Controllers/Admin/UpdateControllerTest.php b/tests/Feature/Controllers/Admin/UpdateControllerTest.php index a37a97ae46..8a0c56771f 100644 --- a/tests/Feature/Controllers/Admin/UpdateControllerTest.php +++ b/tests/Feature/Controllers/Admin/UpdateControllerTest.php @@ -24,6 +24,7 @@ namespace Tests\Feature\Controllers\Admin; use Carbon\Carbon; use FireflyConfig; +use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Configuration; use FireflyIII\Services\Github\Object\Release; use FireflyIII\Services\Github\Request\UpdateRequest; @@ -160,4 +161,28 @@ class UpdateControllerTest extends TestCase $response->assertSee($version); $response->assertSee('which is newer than the'); } + + /** + * @covers \FireflyIII\Http\Controllers\Admin\UpdateController::updateCheck + */ + public function testUpdateCheckError() + { + $falseConfig = new Configuration; + $falseConfig->data = false; + FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); + + $version = config('firefly.version') . '-alpha'; + $releases = [ + new Release(['id' => 'x', 'title' => $version, 'content' => '', 'updated' => new Carbon]), + ]; + $updater = $this->mock(UpdateRequest::class); + $updater->shouldReceive('call')->andThrow(FireflyException::class, 'Something broke.'); + $updater->shouldReceive('getReleases')->andReturn($releases); + + // expect a new release (because of .1) + $this->be($this->user()); + $response = $this->post(route('admin.update-check.manual')); + $response->assertStatus(200); + $response->assertSee('An error occurred while checking'); + } }