refactor(core): Rename UsageMetrics to LicenseMetrics (no-changelog) (#10053)

This commit is contained in:
Iván Ovejero
2024-07-15 12:42:49 +02:00
committed by GitHub
parent 04b62e0398
commit 9c23f7616b
5 changed files with 24 additions and 24 deletions

View File

@@ -0,0 +1,32 @@
import { mock } from 'jest-mock-extended';
import { LicenseMetricsService } from '@/metrics/license-metrics.service';
import type { WorkflowRepository } from '@/databases/repositories/workflow.repository';
import type { LicenseMetricsRepository } from '@/databases/repositories/license-metrics.repository';
describe('LicenseMetricsService', () => {
const workflowRepository = mock<WorkflowRepository>();
const licenseMetricsService = new LicenseMetricsService(
mock<LicenseMetricsRepository>(),
workflowRepository,
);
describe('collectPassthroughData', () => {
test('should return an object with active workflow IDs', async () => {
/**
* Arrange
*/
const activeWorkflowIds = ['1', '2'];
workflowRepository.getActiveIds.mockResolvedValue(activeWorkflowIds);
/**
* Act
*/
const result = await licenseMetricsService.collectPassthroughData();
/**
* Assert
*/
expect(result).toEqual({ activeWorkflowIds });
});
});
});

View File

@@ -0,0 +1,39 @@
import { LicenseMetricsRepository } from '@/databases/repositories/license-metrics.repository';
import { Service } from 'typedi';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
@Service()
export class LicenseMetricsService {
constructor(
private readonly licenseMetricsRepository: LicenseMetricsRepository,
private readonly workflowRepository: WorkflowRepository,
) {}
async collectUsageMetrics() {
const {
activeWorkflows,
totalWorkflows,
enabledUsers,
totalUsers,
totalCredentials,
productionExecutions,
manualExecutions,
} = await this.licenseMetricsRepository.getLicenseRenewalMetrics();
return [
{ name: 'activeWorkflows', value: activeWorkflows },
{ name: 'totalWorkflows', value: totalWorkflows },
{ name: 'enabledUsers', value: enabledUsers },
{ name: 'totalUsers', value: totalUsers },
{ name: 'totalCredentials', value: totalCredentials },
{ name: 'productionExecutions', value: productionExecutions },
{ name: 'manualExecutions', value: manualExecutions },
];
}
async collectPassthroughData() {
return {
activeWorkflowIds: await this.workflowRepository.getActiveIds(),
};
}
}