48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Initialize;
|
|
|
|
use App\Initialize\InitializeGroups;
|
|
use App\Setting\NamiSettings;
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
use Tests\TestCase;
|
|
use Zoomyboy\LaravelNami\Fakes\GroupFake;
|
|
|
|
class InitializeGroupsTest extends TestCase
|
|
{
|
|
use DatabaseTransactions;
|
|
|
|
public function testItInitializesGroups(): void
|
|
{
|
|
app(GroupFake::class)
|
|
->fetches(null, [1000 => ['name' => 'testgroup']])
|
|
->fetches(1000, []);
|
|
|
|
$this->withoutExceptionHandling()->login()->loginNami();
|
|
|
|
(new InitializeGroups(app(NamiSettings::class)->login()))->handle();
|
|
|
|
$this->assertDatabaseHas('groups', ['nami_id' => 1000, 'name' => 'testgroup']);
|
|
}
|
|
|
|
public function testItInitializesSubgroups(): void
|
|
{
|
|
app(GroupFake::class)
|
|
->fetches(null, [1000 => ['name' => 'testgroup']])
|
|
->fetches(1000, [
|
|
1001 => ['name' => 'subgroup1'],
|
|
1002 => ['name' => 'subgroup2'],
|
|
])
|
|
->fetches(1001, [])
|
|
->fetches(1002, []);
|
|
|
|
$this->withoutExceptionHandling()->login()->loginNami();
|
|
|
|
(new InitializeGroups(app(NamiSettings::class)->login()))->handle();
|
|
|
|
$this->assertDatabaseHas('groups', ['nami_id' => 1000, 'name' => 'testgroup', 'inner_name' => 'testgroup', 'level' => null]);
|
|
$this->assertDatabaseHas('groups', ['nami_id' => 1001, 'name' => 'subgroup1']);
|
|
$this->assertDatabaseHas('groups', ['nami_id' => 1002, 'name' => 'subgroup2']);
|
|
}
|
|
}
|