First code to check for new version.

This commit is contained in:
James Cole 2017-12-28 18:39:17 +01:00
parent a10672a683
commit ca4db81dbd
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
2 changed files with 64 additions and 24 deletions

View File

@ -22,6 +22,7 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Admin; namespace FireflyIII\Http\Controllers\Admin;
use FireflyConfig;
use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Http\Middleware\IsDemoUser;
@ -85,7 +86,7 @@ class UpdateController extends Controller
public function post(Request $request) public function post(Request $request)
{ {
$checkForUpdates = intval($request->get('check_for_updates')); $checkForUpdates = intval($request->get('check_for_updates'));
app('fireflyconfig')->set('permission_update_check', $checkForUpdates); FireflyConfig::set('permission_update_check', $checkForUpdates);
Session::flash('success', strval(trans('firefly.configuration_updated'))); Session::flash('success', strval(trans('firefly.configuration_updated')));
return redirect(route('admin.update-check')); return redirect(route('admin.update-check'));
@ -107,7 +108,7 @@ class UpdateController extends Controller
$first = reset($releases); $first = reset($releases);
$string = ''; $string = '';
$check = version_compare($current, $first->getTitle()); $check = version_compare($current, $first->getTitle());
app('fireflyconfig')->set('last_update_check', time()); FireflyConfig::set('last_update_check', time());
} catch (FireflyException $e) { } catch (FireflyException $e) {
Log::error(sprintf('Could not check for updates: %s', $e->getMessage())); Log::error(sprintf('Could not check for updates: %s', $e->getMessage()));
} }

View File

@ -24,6 +24,7 @@ namespace Tests\Feature\Controllers\Admin;
use FireflyConfig; use FireflyConfig;
use FireflyIII\Models\Configuration; use FireflyIII\Models\Configuration;
use FireflyIII\Services\Github\Request\UpdateRequest;
use Tests\TestCase; use Tests\TestCase;
/** /**
@ -33,11 +34,11 @@ use Tests\TestCase;
* @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/ */
class ConfigurationControllerTest extends TestCase class UpdateControllerTest extends TestCase
{ {
/** /**
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::index * @covers \FireflyIII\Http\Controllers\Admin\UpdateController::index
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::__construct * @covers \FireflyIII\Http\Controllers\Admin\UpdateController::__construct
*/ */
public function testIndex() public function testIndex()
{ {
@ -49,7 +50,7 @@ class ConfigurationControllerTest extends TestCase
$falseConfig = new Configuration; $falseConfig = new Configuration;
$falseConfig->data = false; $falseConfig->data = false;
FireflyConfig::shouldReceive('get')->withArgs(['permission_update_check', true])->once()->andReturn($config); FireflyConfig::shouldReceive('get')->withArgs(['permission_update_check', -1])->once()->andReturn($config);
FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig);
$response = $this->get(route('admin.update-check')); $response = $this->get(route('admin.update-check'));
@ -59,21 +60,59 @@ class ConfigurationControllerTest extends TestCase
$response->assertSee('<ol class="breadcrumb">'); $response->assertSee('<ol class="breadcrumb">');
} }
// /** /**
// * @covers \FireflyIII\Http\Controllers\Admin\ConfigurationController::postIndex * @covers \FireflyIII\Http\Controllers\Admin\UpdateController::post
// */ */
// public function testPostIndex() public function testPost()
// { {
// $falseConfig = new Configuration; $falseConfig = new Configuration;
// $falseConfig->data = false; $falseConfig->data = false;
//
// FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig); FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig);
// FireflyConfig::shouldReceive('set')->withArgs(['single_user_mode', false])->once(); FireflyConfig::shouldReceive('set')->withArgs(['permission_update_check', 1])->once()->andReturn(new Configuration);
// FireflyConfig::shouldReceive('set')->withArgs(['is_demo_site', false])->once(); $this->be($this->user());
// $response = $this->post(route('admin.update-check.post'), ['check_for_updates' => 1]);
// $this->be($this->user()); $response->assertSessionHas('success');
// $response = $this->post(route('admin.configuration.index.post')); $response->assertStatus(302);
// $response->assertSessionHas('success'); $response->assertRedirect(route('admin.update-check'));
// $response->assertStatus(302); }
// }
/**
* @covers \FireflyIII\Http\Controllers\Admin\UpdateController::updateCheck
*/
public function testUpdateCheck()
{
$releases = [
];
$updater = $this->mock(UpdateRequest::class);
$updater->shouldReceive('call')->andReturnNull();
$updater->shouldReceive('getReleases')->andReturn(true);
$this->be($this->user());
$response = $this->post(route('admin.update-check.manual'));
$response->assertStatus(200);
}
// /**
// * @covers \FireflyIII\Http\Controllers\Admin\ConfigurationController::postIndex
// */
// public function testPostIndex()
// {
// $falseConfig = new Configuration;
// $falseConfig->data = false;
//
// FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig);
// FireflyConfig::shouldReceive('set')->withArgs(['single_user_mode', false])->once();
// FireflyConfig::shouldReceive('set')->withArgs(['is_demo_site', false])->once();
//
// $this->be($this->user());
// $response = $this->post(route('admin.configuration.index.post'));
// $response->assertSessionHas('success');
// $response->assertStatus(302);
// }
} }