mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Improve test coverage.
This commit is contained in:
@@ -25,9 +25,15 @@ namespace Tests\Feature\Controllers\Json;
|
|||||||
use FireflyIII\Helpers\Collector\JournalCollectorInterface;
|
use FireflyIII\Helpers\Collector\JournalCollectorInterface;
|
||||||
use FireflyIII\Models\Account;
|
use FireflyIII\Models\Account;
|
||||||
use FireflyIII\Models\AccountType;
|
use FireflyIII\Models\AccountType;
|
||||||
|
use FireflyIII\Models\Budget;
|
||||||
|
use FireflyIII\Models\Category;
|
||||||
|
use FireflyIII\Models\Tag;
|
||||||
use FireflyIII\Models\TransactionJournal;
|
use FireflyIII\Models\TransactionJournal;
|
||||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||||
|
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
|
||||||
|
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
|
||||||
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
|
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
|
||||||
|
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Log;
|
use Log;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
@@ -37,6 +43,8 @@ use Tests\TestCase;
|
|||||||
*/
|
*/
|
||||||
class AutoCompleteControllerTest extends TestCase
|
class AutoCompleteControllerTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -81,6 +89,40 @@ class AutoCompleteControllerTest extends TestCase
|
|||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::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\Json\AutoCompleteController::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\Json\AutoCompleteController::expenseAccounts
|
* @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::expenseAccounts
|
||||||
*/
|
*/
|
||||||
@@ -144,6 +186,24 @@ class AutoCompleteControllerTest extends TestCase
|
|||||||
$response->assertExactJson([$accountA->name]);
|
$response->assertExactJson([$accountA->name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::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\Json\AutoCompleteController::transactionJournals
|
* @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::transactionJournals
|
||||||
*/
|
*/
|
||||||
@@ -163,4 +223,20 @@ class AutoCompleteControllerTest extends TestCase
|
|||||||
$response->assertStatus(200);
|
$response->assertStatus(200);
|
||||||
$response->assertExactJson([]);
|
$response->assertExactJson([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \FireflyIII\Http\Controllers\Json\AutoCompleteController::transactionTypes
|
||||||
|
*/
|
||||||
|
public function testTransactionTypes(): void
|
||||||
|
{
|
||||||
|
// 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([]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -22,15 +22,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Tests\Feature\Controllers;
|
namespace Tests\Feature\Controllers;
|
||||||
|
|
||||||
use FireflyIII\Models\Budget;
|
|
||||||
use FireflyIII\Models\Category;
|
|
||||||
use FireflyIII\Models\Tag;
|
|
||||||
use FireflyIII\Models\TransactionJournal;
|
use FireflyIII\Models\TransactionJournal;
|
||||||
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
|
|
||||||
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
|
|
||||||
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
|
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
|
||||||
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
|
|
||||||
use Illuminate\Support\Collection;
|
|
||||||
use Log;
|
use Log;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
@@ -67,74 +60,6 @@ class JsonControllerTest extends TestCase
|
|||||||
$response->assertStatus(200);
|
$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
|
* @covers \FireflyIII\Http\Controllers\JsonController::trigger
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user