Add test for group instance

This commit is contained in:
Philipp Lang 2022-03-11 20:13:19 +01:00
parent 99974ec425
commit db2671c11a
1 changed files with 13 additions and 16 deletions

View File

@ -2,19 +2,16 @@
namespace Zoomyboy\LaravelNami\Tests\Unit;
use Illuminate\Support\Facades\Http;
use Zoomyboy\LaravelNami\Authentication\Auth;
use Zoomyboy\LaravelNami\Exceptions\NotAuthenticatedException;
use Zoomyboy\LaravelNami\Fakes\CourseFake;
use Zoomyboy\LaravelNami\Fakes\GroupFake;
use Zoomyboy\LaravelNami\LoginException;
use Zoomyboy\LaravelNami\Group;
use Zoomyboy\LaravelNami\Nami;
use Zoomyboy\LaravelNami\NamiException;
use Zoomyboy\LaravelNami\Tests\TestCase;
class GroupsTest extends TestCase
{
public function setUp(): void
{
parent::setUp();
@ -22,28 +19,29 @@ class GroupsTest extends TestCase
Auth::fake();
}
public function test_get_groups(): void
public function testGetGroups(): void
{
Auth::success(12345, 'secret');
app(GroupFake::class)->fetches(null, [
1234 => ['name' => 'testgroup']
1234 => ['name' => 'testgroup'],
]);
$group = Nami::login(12345, 'secret')->group(1234);
$this->assertInstanceOf(Group::class, $group);
$this->assertEquals('testgroup', $group->name);
$this->assertEquals(1234, $group->id);
app(GroupFake::class)->assertRootFetched();
}
public function test_get_subgroups(): void
public function testGetSubgroups(): void
{
Auth::success(12345, 'secret');
app(GroupFake::class)->fetches(null, [
1234 => ['name' => 'testgroup']
1234 => ['name' => 'testgroup'],
])->fetches(1234, [
555 => ['name' => 'ABC']
555 => ['name' => 'ABC'],
]);
$group = Nami::login(12345, 'secret')->groups(1234)->first();
@ -54,13 +52,13 @@ class GroupsTest extends TestCase
app(GroupFake::class)->assertFetched(1234);
}
public function test_needs_authentication(): void
public function testNeedsAuthentication(): void
{
$this->expectException(NotAuthenticatedException::class);
$group = Nami::group(1234);
}
public function test_throws_exception_when_group_fetch_failed(): void
public function testThrowsExceptionWhenGroupFetchFailed(): void
{
$this->expectException(NamiException::class);
Auth::success(12345, 'secret');
@ -69,19 +67,19 @@ class GroupsTest extends TestCase
Nami::login(12345, 'secret')->group(1234);
}
public function test_throws_exception_when_subgroup_fetch_failed(): void
public function testThrowsExceptionWhenSubgroupFetchFailed(): void
{
$this->expectException(NamiException::class);
Auth::success(12345, 'secret');
app(GroupFake::class)->fetches(null, [
1234 => ['name' => 'testgroup']
1234 => ['name' => 'testgroup'],
]);
app(GroupFake::class)->failsToFetch(1234);
Nami::login(12345, 'secret')->groups(1234);
}
public function test_it_doesnt_return_group_when_no_json_is_returned(): void
public function testItDoesntReturnGroupWhenNoJsonIsReturned(): void
{
Auth::success(12345, 'secret');
app(GroupFake::class)->failsToFetchWithoutJson(null);
@ -89,5 +87,4 @@ class GroupsTest extends TestCase
$group = Nami::login(12345, 'secret')->group(1234);
$this->assertNull($group);
}
}