. */ declare(strict_types=1); namespace Tests\Feature\Controllers\Admin; use FireflyConfig; use FireflyIII\Models\Configuration; use FireflyIII\Repositories\User\UserRepositoryInterface; use Log; use Mockery; use Preferences; use Tests\TestCase; /** * Class ConfigurationControllerTest * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.TooManyPublicMethods) */ class ConfigurationControllerTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', get_class($this))); } /** * @covers \FireflyIII\Http\Controllers\Admin\ConfigurationController */ public function testIndex(): void { $this->mockDefaultSession(); $userRepos = $this->mock(UserRepositoryInterface::class); // for session $userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->andReturn(true)->atLeast()->once(); //Amount::shouldReceive('getDefaultCurrency')->atLeast()->once()->andReturn($euro); $this->mockDefaultPreferences(); $this->be($this->user()); $falseConfig = new Configuration; $falseConfig->data = false; $trueConfig = new Configuration; $trueConfig->data = true; FireflyConfig::shouldReceive('get')->withArgs(['single_user_mode', true])->once()->andReturn($trueConfig); //FireflyConfig::shouldReceive('get')->withArgs(['is_demo_site', false])->times(2)->andReturn($falseConfig); $response = $this->get(route('admin.configuration.index')); $response->assertStatus(200); // has bread crumb $response->assertSee('