create([ 'has_roles' => true, 'last_active_at' => now(), ]); $user->refresh(); UserRoles::create([ 'profile_id' => $user->profile_id, 'user_id' => $user->id, 'roles' => $roles, ]); return $user; } beforeEach(function () { Storage::fake(config('filesystems.default')); config(['pixelfed.enforce_account_limit' => false]); }); it('rejects a can-post=false user on POST /api/v1/media with 403', function () { $user = restrictedRoleUser(['can-post' => false]); Passport::actingAs($user, ['write']); $this->postJson('/api/v1/media', [ 'file' => UploadedFile::fake()->image('test.jpg', 100, 100), ])->assertStatus(403); }); it('rejects a can-post=false user on POST /api/v2/media with 403', function () { $user = restrictedRoleUser(['can-post' => false]); Passport::actingAs($user, ['write']); $this->postJson('/api/v2/media', [ 'file' => UploadedFile::fake()->image('test.jpg', 100, 100), ])->assertStatus(403); }); it('allows a can-post=true user on POST /api/v2/media', function () { $user = restrictedRoleUser(['can-post' => true]); Passport::actingAs($user, ['write']); $this->postJson('/api/v2/media', [ 'file' => UploadedFile::fake()->image('test.jpg', 100, 100), 'description' => 'test image', ]) ->assertAccepted() ->assertJsonStructure(['id', 'type', 'url', 'preview_url']); });