Fix tests.

This commit is contained in:
James Cole 2015-05-25 22:56:00 +02:00
parent 50f71c4130
commit 10bff3c0b8
7 changed files with 33 additions and 15 deletions

View File

@ -38,8 +38,7 @@ class PreferencesController extends Controller
$viewRange = $viewRangePref->data;
$frontPageAccounts = Preferences::get('frontPageAccounts', []);
$budgetMax = Preferences::get('budgetMaximum', 1000);
$languagePref = Preferences::get('language', 'en');
$language = $languagePref->data;
$language = Preferences::get('language', 'en')->data;
$budgetMaximum = $budgetMax->data;
return view('preferences.index', compact('budgetMaximum', 'language', 'accounts', 'frontPageAccounts', 'viewRange'));

View File

@ -4,6 +4,7 @@ namespace FireflyIII\Support;
use Auth;
use FireflyIII\Models\Preference;
use Log;
/**
* Class Preferences
@ -20,14 +21,19 @@ class Preferences
*/
public function get($name, $default = null)
{
$pref = Preference::where('user_id', Auth::user()->id)->where('name', $name)->first();
if (is_null($pref) && is_null($default)) {
$preferences = Preference::where('user_id', Auth::user()->id)->get();
/** @var Preference $preference */
foreach ($preferences as $preference) {
if ($preference->name == $name) {
return $preference;
}
}
// no preference found and default is null:
if (is_null($default)) {
// return NULL
return null;
}
if (!is_null($pref)) {
return $pref;
}
return $this->set($name, $default);
@ -41,12 +47,20 @@ class Preferences
*/
public function set($name, $value)
{
$pref = Preference::where('user_id', Auth::user()->id)->where('name', $name)->first();
if (is_null($pref)) {
$pref = new Preference;
$pref->name = $name;
$preferences = Preference::where('user_id', Auth::user()->id)->get();
/** @var Preference $preference */
foreach ($preferences as $preference) {
if ($preference->name == $name) {
$preference->data = $value;
$preference->save();
return $preference;
}
}
$pref = new Preference;
$pref->name = $name;
$pref->data = $value;
if (!is_null(Auth::user()->id)) {
$pref->user()->associate(Auth::user());
$pref->save();

View File

@ -67,7 +67,11 @@ class AccountControllerTest extends TestCase
$this->be($pref->user);
Preferences::shouldReceive('get', 'viewRange')->andReturn($pref);
Preferences::shouldReceive('get')->withArgs(['viewRange', '1M'])->andReturn($pref);
$language = FactoryMuffin::create('FireflyIII\Models\Preference');
$language->data = 'en';
Preferences::shouldReceive('get')->withArgs(['language', 'en'])->andReturn($language);
// CURRENCY:
$currency = FactoryMuffin::create('FireflyIII\Models\TransactionCurrency');

View File

@ -67,7 +67,7 @@ class BillControllerTest extends TestCase
$bill = FactoryMuffin::create('FireflyIII\Models\Bill');
$this->be($bill->user);
$this->call('GET', '/bills/delete/' . $bill->id);
$this->assertViewHas('subTitle', 'Delete "' . e($bill->name) . '"');
$this->assertViewHas('subTitle', 'Delete bill "' . e($bill->name) . '"');
$this->assertResponseOk();
}

View File

@ -97,7 +97,7 @@ class BudgetControllerTest extends TestCase
$this->call('GET', '/budgets/delete/' . $budget->id);
$this->assertResponseOk();
$this->assertViewHas('subTitle', 'Delete budget' . e($budget->name) . '"');
$this->assertViewHas('subTitle', 'Delete budget "' . e($budget->name) . '"');
$this->assertViewHas('budget');
$this->assertSessionHas('budgets.delete.url');
}

View File

@ -101,7 +101,7 @@ class PiggyBankControllerTest extends TestCase
$this->call('GET', '/piggy-banks/delete/' . $piggyBank->id);
$this->assertResponseOk();
$this->assertViewHas('subTitle', 'Delete "' . e($piggyBank->name) . '"');
$this->assertViewHas('subTitle', 'Delete piggy bank "' . e($piggyBank->name) . '"');
}
/**

View File

@ -172,6 +172,7 @@ class ReminderHelperTest extends TestCase
$piggyBank = FactoryMuffin::create('FireflyIII\Models\PiggyBank');
$reminder = FactoryMuffin::create('FireflyIII\Models\Reminder');
$piggyBank->targetdate = new Carbon;
$this->be($piggyBank->account->user);
$reminder->remindersable_id = $piggyBank->id;
Amount::shouldReceive('format')->andReturn('xx');