use config, not preferences, first tests.

This commit is contained in:
James Cole 2017-12-28 11:57:38 +01:00
parent b65e1e022e
commit ae7933c8c9
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
3 changed files with 90 additions and 9 deletions

View File

@ -23,10 +23,10 @@ declare(strict_types=1);
namespace FireflyIII\Handlers\Events;
use FireflyConfig;
use FireflyIII\User;
use Illuminate\Auth\Events\Login;
use Log;
use Preferences;
/**
* Class VersionCheckEventHandler
@ -45,9 +45,13 @@ class VersionCheckEventHandler
}
/** @var User $user */
$user = $event->user;
$permission = Preferences::getForUser($user, 'permission_update_check', -1);
$lastCheckTime = Preferences::getForUser($user, 'last_update_check', time());
$user = $event->user;
if (!$user->hasRole('owner')) {
return;
}
$permission = FireflyConfig::get('permission_update_check', -1);
$lastCheckTime = FireflyConfig::get('last_update_check', time());
$now = time();
if ($now - $lastCheckTime->data < 604800) {
Log::debug('Checked for updates less than a week ago.');

View File

@ -30,7 +30,6 @@ use FireflyIII\Services\Github\Object\Release;
use FireflyIII\Services\Github\Request\UpdateRequest;
use Illuminate\Http\Request;
use Log;
use Preferences;
use Response;
use Session;
@ -67,7 +66,7 @@ class UpdateController extends Controller
{
$subTitle = trans('firefly.update_check_title');
$subTitleIcon = 'fa-star';
$permission = app('preferences')->get('permission_update_check', -1);
$permission = app('fireflyconfig')->get('permission_update_check', -1);
$selected = $permission->data;
$options = [
'-1' => trans('firefly.updates_ask_me_later'),
@ -86,9 +85,8 @@ class UpdateController extends Controller
public function post(Request $request)
{
$checkForUpdates = intval($request->get('check_for_updates'));
Preferences::set('permission_update_check', $checkForUpdates);
app('fireflyconfig')->set('permission_update_check', $checkForUpdates);
Session::flash('success', strval(trans('firefly.configuration_updated')));
Preferences::mark();
return redirect(route('admin.update-check'));
}
@ -109,7 +107,7 @@ class UpdateController extends Controller
$first = reset($releases);
$string = '';
$check = version_compare($current, $first->getTitle());
Preferences::set('last_update_check', time());
app('fireflyconfig')->set('last_update_check', time());
} catch (FireflyException $e) {
Log::error(sprintf('Could not check for updates: %s', $e->getMessage()));
}

View File

@ -0,0 +1,79 @@
<?php
/**
* UpdateControllerTest.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace Tests\Feature\Controllers\Admin;
use FireflyConfig;
use FireflyIII\Models\Configuration;
use Tests\TestCase;
/**
* Class UpdateControllerTest
*
* @SuppressWarnings(PHPMD.TooManyPublicMethods)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class ConfigurationControllerTest extends TestCase
{
/**
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::index
* @covers \FireflyIII\Http\Controllers\Admin\UpdateControllerTest::__construct
*/
public function testIndex()
{
$this->be($this->user());
$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(['is_demo_site', false])->once()->andReturn($falseConfig);
$response = $this->get(route('admin.update-check'));
$response->assertStatus(200);
// has bread crumb
$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);
// }
}