mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('json.action')); $response->assertStatus(200); } /** * @covers \FireflyIII\Http\Controllers\JsonController::budgets */ public function testBudgets() { // mock stuff $budget = factory(Budget::class)->make(); $categoryRepos = $this->mock(BudgetRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $categoryRepos->shouldReceive('getBudgets')->andReturn(new Collection([$budget])); $this->be($this->user()); $response = $this->get(route('json.budgets')); $response->assertStatus(200); $response->assertExactJson([$budget->name]); } /** * @covers \FireflyIII\Http\Controllers\JsonController::categories */ public function testCategories() { // mock stuff $category = factory(Category::class)->make(); $categoryRepos = $this->mock(CategoryRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $categoryRepos->shouldReceive('getCategories')->andReturn(new Collection([$category])); $this->be($this->user()); $response = $this->get(route('json.categories')); $response->assertStatus(200); $response->assertExactJson([$category->name]); } /** * @covers \FireflyIII\Http\Controllers\JsonController::tags */ public function testTags() { // mock stuff $tag = factory(Tag::class)->make(); $tagRepos = $this->mock(TagRepositoryInterface::class); $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $tagRepos->shouldReceive('get')->andReturn(new Collection([$tag]))->once(); $this->be($this->user()); $response = $this->get(route('json.tags')); $response->assertStatus(200); $response->assertExactJson([$tag->tag]); } /** * @covers \FireflyIII\Http\Controllers\JsonController::transactionTypes */ public function testTransactionTypes() { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $journalRepos->shouldReceive('getTransactionTypes')->once()->andReturn(new Collection); $this->be($this->user()); $response = $this->get(route('json.transaction-types', ['deposit'])); $response->assertStatus(200); $response->assertExactJson([]); } /** * @covers \FireflyIII\Http\Controllers\JsonController::trigger */ public function testTrigger() { // mock stuff $journalRepos = $this->mock(JournalRepositoryInterface::class); $journalRepos->shouldReceive('first')->once()->andReturn(new TransactionJournal); $this->be($this->user()); $response = $this->get(route('json.trigger')); $response->assertStatus(200); } }