fix(core): Fix user telemetry bugs (#10293)

This commit is contained in:
Iván Ovejero
2024-08-05 13:24:26 +02:00
committed by GitHub
parent 7fb3f62a36
commit 42a0b594d6
4 changed files with 64 additions and 3 deletions

View File

@@ -0,0 +1,52 @@
import { mock } from 'jest-mock-extended';
import { UsersController } from '../users.controller';
import type { UserRequest } from '@/requests';
import type { EventService } from '@/events/event.service';
import type { User } from '@/databases/entities/User';
import type { UserRepository } from '@/databases/repositories/user.repository';
import type { ProjectService } from '@/services/project.service';
describe('UsersController', () => {
const eventService = mock<EventService>();
const userRepository = mock<UserRepository>();
const projectService = mock<ProjectService>();
const controller = new UsersController(
mock(),
mock(),
mock(),
mock(),
userRepository,
mock(),
mock(),
mock(),
mock(),
mock(),
projectService,
eventService,
);
beforeEach(() => {
jest.restoreAllMocks();
});
describe('changeGlobalRole', () => {
it('should emit event user-changed-role', async () => {
const request = mock<UserRequest.ChangeRole>({
user: { id: '123' },
params: { id: '456' },
body: { newRoleName: 'global:member' },
});
userRepository.findOne.mockResolvedValue(mock<User>({ id: '456' }));
projectService.getUserOwnedOrAdminProjects.mockResolvedValue([]);
await controller.changeGlobalRole(request);
expect(eventService.emit).toHaveBeenCalledWith('user-changed-role', {
userId: '123',
targetUserId: '456',
targetUserNewRole: 'global:member',
publicApi: false,
});
});
});
});