Files
InvoiceShelf/tests/Feature/Admin/MemberTest.php
Darko Gjorgjijoski 8a6c085288 Rename company-scoped Users to Members throughout
Complete rename across backend and frontend:
- Controller: Company/Users/UsersController -> Company/Members/MembersController
- Service: UserService -> MemberService
- Requests: UserRequest -> MemberRequest, DeleteUserRequest -> DeleteMemberRequest
- API routes: /api/v1/users -> /api/v1/members (company-scoped only)
- Sidebar menu: "Users" -> "Members"
- Frontend: views/users -> views/members, stores/users -> stores/members
- Router: users.index -> members.index, /admin/users -> /admin/members
- i18n: new "members" section with invitation-related keys
- Tests: UserTest -> MemberTest

Admin/super-admin Users (system-wide user management) remains unchanged.
2026-04-03 23:12:30 +02:00

51 lines
1.2 KiB
PHP

<?php
use App\Http\Controllers\Company\Members\MembersController;
use App\Http\Requests\MemberRequest;
use App\Models\User;
use Laravel\Sanctum\Sanctum;
use function Pest\Laravel\getJson;
beforeEach(function () {
Artisan::call('db:seed', ['--class' => 'DatabaseSeeder', '--force' => true]);
Artisan::call('db:seed', ['--class' => 'DemoSeeder', '--force' => true]);
$user = User::where('role', 'super admin')->first();
$this->withHeaders([
'company' => $user->companies()->first()->id,
]);
Sanctum::actingAs(
$user,
['*']
);
});
test('list members', function () {
getJson('/api/v1/members')->assertOk();
});
test('store member using a form request', function () {
$this->assertActionUsesFormRequest(
MembersController::class,
'store',
MemberRequest::class
);
});
test('get member', function () {
$user = User::factory()->create();
getJson("/api/v1/members/{$user->id}")->assertOk();
});
test('update member using a form request', function () {
$this->assertActionUsesFormRequest(
MembersController::class,
'update',
MemberRequest::class
);
});