. */ namespace Tests\Unit\Console\Commands\Correction; use FireflyIII\Models\TransactionGroup; use Log; use Tests\TestCase; /** * Class DeleteEmptyGroupsTest * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.TooManyPublicMethods) */ class DeleteEmptyGroupsTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', get_class($this))); } /** * @covers \FireflyIII\Console\Commands\Correction\DeleteEmptyGroups */ public function testHandle(): void { // assume there are no empty groups.. $this->artisan('firefly-iii:delete-empty-groups') ->expectsOutput('No empty transaction groups.') ->assertExitCode(0); } /** * @covers \FireflyIII\Console\Commands\Correction\DeleteEmptyGroups */ public function testHandleWithGroup(): void { // create new group: $group = TransactionGroup::create(['user_id' => 1]); // command should delete it. $this->artisan('firefly-iii:delete-empty-groups') ->expectsOutput('Deleted 1 empty transaction group(s).') ->assertExitCode(0); // should not be able to find it: $this->assertCount(0, TransactionGroup::where('id', $group->id)->whereNull('deleted_at')->get()); } }