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;
use FireflyConfig;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Middleware\IsDemoUser;
@ -85,7 +86,7 @@ class UpdateController extends Controller
public function post(Request $request)
{
$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')));
return redirect(route('admin.update-check'));
@ -107,7 +108,7 @@ class UpdateController extends Controller
$first = reset($releases);
$string = '';
$check = version_compare($current, $first->getTitle());
app('fireflyconfig')->set('last_update_check', time());
FireflyConfig::set('last_update_check', time());
} catch (FireflyException $e) {
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 FireflyIII\Models\Configuration;
use FireflyIII\Services\Github\Request\UpdateRequest;
use Tests\TestCase;
/**
@ -33,23 +34,23 @@ use Tests\TestCase;
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class ConfigurationControllerTest extends TestCase
class UpdateControllerTest extends TestCase
{
/**
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::index
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::__construct
* @covers \FireflyIII\Http\Controllers\Admin\UpdateController::index
* @covers \FireflyIII\Http\Controllers\Admin\UpdateController::__construct
*/
public function testIndex()
{
$this->be($this->user());
$config = new Configuration;
$config = new Configuration;
$config->data = -1;
$falseConfig = new Configuration;
$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);
$response = $this->get(route('admin.update-check'));
@ -59,21 +60,59 @@ class ConfigurationControllerTest extends TestCase
$response->assertSee('<ol class="breadcrumb">');
}
// /**
// * @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);
// }
/**
* @covers \FireflyIII\Http\Controllers\Admin\UpdateController::post
*/
public function testPost()
{
$falseConfig = new Configuration;
$falseConfig->data = false;
FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->once()->andReturn($falseConfig);
FireflyConfig::shouldReceive('set')->withArgs(['permission_update_check', 1])->once()->andReturn(new Configuration);
$this->be($this->user());
$response = $this->post(route('admin.update-check.post'), ['check_for_updates' => 1]);
$response->assertSessionHas('success');
$response->assertStatus(302);
$response->assertRedirect(route('admin.update-check'));
}
/**
* @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);
// }
}