1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-31 00:16:47 +01:00
unleash.unleash/src/lib/features/project-insights/project-insights-service.test.ts

54 lines
1.6 KiB
TypeScript

import { createFakeProjectInsightsService } from './createProjectInsightsService';
test('Return basic insights', async () => {
const {
projectInsightsService,
projectStatsStore,
featureToggleStore,
projectStore,
} = createFakeProjectInsightsService();
await featureToggleStore.create('default', {
name: 'irrelevant',
createdByUserId: 1,
type: 'release',
});
await projectStore.create({
id: 'default',
name: 'irrelevant',
});
await projectStatsStore.updateProjectStats('default', {
archivedCurrentWindow: 1,
archivedPastWindow: 1,
createdCurrentWindow: 1,
createdPastWindow: 1,
avgTimeToProdCurrentWindow: 1,
projectActivityCurrentWindow: 1,
projectActivityPastWindow: 1,
projectMembersAddedCurrentWindow: 1,
});
const insights = await projectInsightsService.getProjectInsights('default');
expect(insights).toEqual({
stats: {
archivedCurrentWindow: 1,
archivedPastWindow: 1,
createdCurrentWindow: 1,
createdPastWindow: 1,
avgTimeToProdCurrentWindow: 1,
projectActivityCurrentWindow: 1,
projectActivityPastWindow: 1,
projectMembersAddedCurrentWindow: 1,
},
featureTypeCounts: [{ type: 'release', count: 1 }],
health: {
activeCount: 0,
potentiallyStaleCount: 0,
staleCount: 0,
rating: 100,
},
leadTime: { features: [], projectAverage: 0 },
members: { currentMembers: 0, change: 0 },
});
});