mock(AccountRepositoryInterface::class); $accountRepos->shouldReceive('getAccountsByType') ->withArgs([[AccountType::REVENUE, AccountType::EXPENSE, AccountType::BENEFICIARY, AccountType::DEFAULT, AccountType::ASSET]]) ->andReturn(new Collection); $this->be($this->user()); $response = $this->get(route('json.all-accounts')); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::allTransactionJournals */ public function testAllTransactionJournals() { $collector = $this->mock(JournalCollectorInterface::class); $collector->shouldReceive('setLimit')->withArgs([250])->andReturnSelf(); $collector->shouldReceive('setPage')->withArgs([1])->andReturnSelf(); $collector->shouldReceive('getJournals')->andReturn(new Collection); $this->be($this->user()); $response = $this->get(route('json.all-transaction-journals')); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::expenseAccounts */ public function testExpenseAccounts() { // mock stuff $account = factory(Account::class)->make(); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->withArgs([[AccountType::EXPENSE, AccountType::BENEFICIARY]])->once()->andReturn( new Collection([$account]) ); $this->be($this->user()); $response = $this->get(route('json.expense-accounts')); $response->assertStatus(200); $response->assertExactJson([$account->name]); } /** * @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::revenueAccounts */ public function testRevenueAccounts() { // mock stuff $account = factory(Account::class)->make(); $accountRepos = $this->mock(AccountRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $accountRepos->shouldReceive('getAccountsByType')->withArgs([[AccountType::REVENUE]])->once()->andReturn( new Collection([$account]) ); $this->be($this->user()); $response = $this->get(route('json.revenue-accounts')); $response->assertStatus(200); $response->assertExactJson([$account->name]); } /** * @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::transactionJournals */ public function testTransactionJournals() { // mock stuff $collector = $this->mock(JournalCollectorInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $collector->shouldReceive('setTypes')->andReturnSelf(); $collector->shouldReceive('setLimit')->andReturnSelf(); $collector->shouldReceive('setPage')->andReturnSelf(); $collector->shouldReceive('getJournals')->andReturn(new Collection); $this->be($this->user()); $response = $this->get(route('json.transaction-journals', ['deposit'])); $response->assertStatus(200); $response->assertExactJson([]); } }