be($user); // mock: $repository = $this->mock('FireflyIII\Repositories\Account\AccountRepositoryInterface'); // fake! $repository->shouldReceive('getAccounts')->with(['Default account', 'Asset account'])->andReturn(new Collection); Preferences::shouldReceive('get')->once()->withArgs(['viewRange', '1M'])->andReturn($pref); Preferences::shouldReceive('get')->once()->withArgs(['frontPageAccounts', []])->andReturn($pref); Preferences::shouldReceive('get')->once()->withArgs(['budgetMaximum', 1000])->andReturn($pref); Preferences::shouldReceive('get')->once()->withArgs(['currencyPreference', 'EUR'])->andReturn($pref); Amount::shouldReceive('format')->andReturn('xx'); Amount::shouldReceive('getCurrencyCode')->andReturn('X'); Amount::shouldReceive('getAllCurrencies')->andReturn(new Collection); Amount::shouldReceive('getDefaultCurrency')->andReturn($currency); $this->call('GET', '/preferences'); $this->assertResponseOk(); } public function testPostIndex() { $user = FactoryMuffin::create('FireflyIII\User'); $this->be($user); $data = [ 'frontPageAccounts' => [1, 2, 3], '_token' => 'replaceMe', 'viewRange' => '1M' ]; Preferences::shouldReceive('set')->once()->withArgs(['frontPageAccounts', [1, 2, 3]]); Preferences::shouldReceive('set')->once()->withArgs(['viewRange', '1M']); Preferences::shouldReceive('set')->once()->withArgs(['budgetMaximum', 0]); $this->call('POST', '/preferences', $data); $this->assertResponseStatus(302); } }