1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-17 01:17:29 +02:00

chore: remove ts-ignore and adapt tests (#5103)

## About the changes
Just using proper types and adapting a few tests
This commit is contained in:
Gastón Fournier 2023-10-19 17:17:28 +02:00 committed by GitHub
parent 347c1cabbc
commit b5d9bbaa76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -171,10 +171,6 @@ test('should not be able to delete project with toggles', async () => {
await projectService.createProject(project, user);
await stores.featureToggleStore.create(project.id, {
name: 'test-project-delete',
// @ts-ignore project does not exist in type FeatureToggleDTO
project: project.id,
enabled: false,
defaultStickiness: 'default',
});
try {
@ -511,8 +507,11 @@ test('should not change project if feature toggle project does not match current
const toggle = { name: 'test-toggle' };
await projectService.createProject(project, user);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(project.id, toggle, user);
await featureToggleService.createFeatureToggle(
project.id,
toggle,
user.email,
);
try {
await projectService.changeProject(
@ -539,8 +538,11 @@ test('should return 404 if no project is found with the project id', async () =>
const toggle = { name: 'test-toggle-2' };
await projectService.createProject(project, user);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(project.id, toggle, user);
await featureToggleService.createFeatureToggle(
project.id,
toggle,
user.email,
);
try {
await projectService.changeProject(
@ -579,8 +581,11 @@ test('should fail if user is not authorized', async () => {
await projectService.createProject(project, user);
await projectService.createProject(projectDestination, projectAdmin1);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(project.id, toggle, user);
await featureToggleService.createFeatureToggle(
project.id,
toggle,
user.email,
);
try {
await projectService.changeProject(
@ -612,8 +617,11 @@ test('should change project when checks pass', async () => {
await projectService.createProject(projectA, user);
await projectService.createProject(projectB, user);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(projectA.id, toggle, user);
await featureToggleService.createFeatureToggle(
projectA.id,
toggle,
user.email,
);
await projectService.changeProject(
projectB.id,
toggle.name,
@ -643,8 +651,11 @@ test('changing project should emit event even if user does not have a username s
const toggle = { name: randomId() };
await projectService.createProject(projectA, user);
await projectService.createProject(projectB, user);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(projectA.id, toggle, user);
await featureToggleService.createFeatureToggle(
projectA.id,
toggle,
user.email,
);
const eventsBeforeChange = await stores.eventStore.getEvents();
await projectService.changeProject(
projectB.id,
@ -674,8 +685,11 @@ test('should require equal project environments to move features', async () => {
await projectService.createProject(projectA, user);
await projectService.createProject(projectB, user);
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(projectA.id, toggle, user);
await featureToggleService.createFeatureToggle(
projectA.id,
toggle,
user.email,
);
await stores.environmentStore.create(environment);
await environmentService.addEnvironmentToProject(
environment.name,
@ -1185,8 +1199,7 @@ test('Should allow bulk update of group permissions', async () => {
mode: 'open' as const,
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const groupStore = stores.groupStore;
const user1 = await stores.userStore.insert({
@ -1254,8 +1267,7 @@ test('Should allow bulk update of only groups', async () => {
};
const groupStore = stores.groupStore;
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const group1 = await groupStore.create({
name: 'ViewersOnly',
@ -1289,8 +1301,7 @@ test('Should allow permutations of roles, groups and users when adding a new acc
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const group1 = await stores.groupStore.create({
name: 'permutation-group-1',
@ -1343,11 +1354,13 @@ test('Should allow permutations of roles, groups and users when adding a new acc
const { users, groups } = await projectService.getAccessToProject(
project.id,
);
const ownerRole = await stores.roleStore.getRoleByName(RoleName.OWNER);
expect(users).toHaveLength(2);
expect(users).toHaveLength(3); // the 2 added plus the one that created the project
expect(groups).toHaveLength(2);
expect(users[0].roles).toStrictEqual([role1.id, role2.id]);
expect(users[0].roles).toStrictEqual([ownerRole.id]);
expect(users[1].roles).toStrictEqual([role1.id, role2.id]);
expect(groups[0].roles).toStrictEqual([role1.id, role2.id]);
});
@ -1364,15 +1377,9 @@ test('should only count active feature toggles for project', async () => {
await stores.featureToggleStore.create(project.id, {
name: 'only-active-t1',
// @ts-ignore project property does not exist in FeatureToggleDTO
project: project.id,
enabled: false,
});
await stores.featureToggleStore.create(project.id, {
name: 'only-active-t2',
// @ts-ignore project property does not exist in FeatureToggleDTO
project: project.id,
enabled: false,
});
await featureToggleService.archiveToggle('only-active-t2', user);
@ -1395,9 +1402,6 @@ test('should list projects with all features archived', async () => {
await stores.featureToggleStore.create(project.id, {
name: 'archived-toggle',
// @ts-ignore project property does not exist in FeatureToggleDTO
project: project.id,
enabled: false,
});
await featureToggleService.archiveToggle('archived-toggle', user);
@ -1429,8 +1433,7 @@ test('should calculate average time to production', async () => {
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const toggles = [
{ name: 'average-prod-time' },
@ -1445,8 +1448,7 @@ test('should calculate average time to production', async () => {
return featureToggleService.createFeatureToggle(
project.id,
toggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
}),
);
@ -1497,8 +1499,7 @@ test('should calculate average time to production ignoring some items', async ()
tags: [],
});
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
await stores.environmentStore.create({
name: 'customEnv',
type: 'development',
@ -1507,8 +1508,11 @@ test('should calculate average time to production ignoring some items', async ()
// actual toggle we take for calculations
const toggle = { name: 'main-toggle' };
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(project.id, toggle, user);
await featureToggleService.createFeatureToggle(
project.id,
toggle,
user.email,
);
await updateFeature(toggle.name, {
created_at: subDays(new Date(), 20),
});
@ -1523,8 +1527,11 @@ test('should calculate average time to production ignoring some items', async ()
// ignore toggles enabled in non-prod envs
const devToggle = { name: 'dev-toggle' };
// @ts-ignore user is wrong parameter type, should be string
await featureToggleService.createFeatureToggle(project.id, devToggle, user);
await featureToggleService.createFeatureToggle(
project.id,
devToggle,
user.email,
);
await eventService.storeEvent(
new FeatureEnvironmentEvent({
...makeEvent(devToggle.name),
@ -1537,8 +1544,7 @@ test('should calculate average time to production ignoring some items', async ()
await featureToggleService.createFeatureToggle(
'default',
otherProjectToggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
await eventService.storeEvent(
new FeatureEnvironmentEvent(makeEvent(otherProjectToggle.name)),
@ -1549,8 +1555,7 @@ test('should calculate average time to production ignoring some items', async ()
await featureToggleService.createFeatureToggle(
project.id,
nonReleaseToggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
await eventService.storeEvent(
new FeatureEnvironmentEvent(makeEvent(nonReleaseToggle.name)),
@ -1561,8 +1566,7 @@ test('should calculate average time to production ignoring some items', async ()
await featureToggleService.createFeatureToggle(
project.id,
previouslyDeleteToggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
await eventService.storeEvent(
new FeatureEnvironmentEvent(makeEvent(previouslyDeleteToggle.name)),
@ -1584,8 +1588,7 @@ test('should get correct amount of features created in current and past window',
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const toggles = [
{ name: 'features-created' },
@ -1599,8 +1602,7 @@ test('should get correct amount of features created in current and past window',
return featureToggleService.createFeatureToggle(
project.id,
toggle,
// @ts-ignore user is wrong parameter type
user,
user.email,
);
}),
);
@ -1623,8 +1625,7 @@ test('should get correct amount of features archived in current and past window'
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const toggles = [
{ name: 'features-archived' },
@ -1638,8 +1639,7 @@ test('should get correct amount of features archived in current and past window'
return featureToggleService.createFeatureToggle(
project.id,
toggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
}),
);
@ -1676,8 +1676,7 @@ test('should get correct amount of project members for current and past window',
defaultStickiness: 'default',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const users = [
{ name: 'memberOne', email: 'memberOne@getunleash.io' },
@ -1704,7 +1703,7 @@ test('should get correct amount of project members for current and past window',
);
const result = await projectService.getStatusUpdates(project.id);
expect(result.updates.projectMembersAddedCurrentWindow).toBe(5);
expect(result.updates.projectMembersAddedCurrentWindow).toBe(6); // 5 members + 1 owner
expect(result.updates.projectActivityCurrentWindow).toBe(6);
expect(result.updates.projectActivityPastWindow).toBe(0);
});
@ -1717,8 +1716,7 @@ test('should return average time to production per toggle', async () => {
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong type should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const toggles = [
{ name: 'average-prod-time-pt', subdays: 7 },
@ -1733,7 +1731,7 @@ test('should return average time to production per toggle', async () => {
return featureToggleService.createFeatureToggle(
project.id,
toggle,
user.email!,
user.email,
);
}),
);
@ -1782,10 +1780,8 @@ test('should return average time to production per toggle for a specific project
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project1, user.id);
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project2, user.id);
await projectService.createProject(project1, user);
await projectService.createProject(project2, user);
const togglesProject1 = [
{ name: 'average-prod-time-pt-10', subdays: 7 },
@ -1803,8 +1799,7 @@ test('should return average time to production per toggle for a specific project
return featureToggleService.createFeatureToggle(
project1.id,
toggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
}),
);
@ -1814,8 +1809,7 @@ test('should return average time to production per toggle for a specific project
return featureToggleService.createFeatureToggle(
project2.id,
toggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
}),
);
@ -1879,8 +1873,7 @@ test('should return average time to production per toggle and include archived t
defaultStickiness: 'clientId',
};
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project1, user.id);
await projectService.createProject(project1, user);
const togglesProject1 = [
{ name: 'average-prod-time-pta-10', subdays: 7 },
@ -1893,8 +1886,7 @@ test('should return average time to production per toggle and include archived t
return featureToggleService.createFeatureToggle(
project1.id,
toggle,
// @ts-ignore user is wrong parameter type, should be string
user,
user.email,
);
}),
);
@ -1945,8 +1937,7 @@ describe('feature flag naming patterns', () => {
featureNaming,
};
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
await projectService.updateProjectEnterpriseSettings(project, user);
@ -1960,8 +1951,7 @@ describe('feature flag naming patterns', () => {
...project,
featureNaming: { pattern: newPattern },
},
// @ts-ignore user.id is wrong parameter type, should be user
user.id,
user,
);
const updatedProject = await projectService.getProject(project.id);
@ -1979,15 +1969,10 @@ test('deleting a project with archived toggles should result in any remaining ar
};
const toggleName = 'archived-and-deleted';
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
await stores.featureToggleStore.create(project.id, {
name: toggleName,
// @ts-ignore project property does not exist in FeatureToggleDTO
project: project.id,
enabled: false,
defaultStickiness: 'default',
});
await stores.featureToggleStore.archive(toggleName);
@ -1995,8 +1980,7 @@ test('deleting a project with archived toggles should result in any remaining ar
// bring the project back again, previously this would allow those archived toggles to be resurrected
// we now expect them to be deleted correctly
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
const toggles = await stores.featureToggleStore.getAll({
project: project.id,
@ -2012,7 +1996,6 @@ test('deleting a project with no archived toggles should not result in an error'
name: 'project-with-nothing',
};
// @ts-ignore user.id is wrong parameter type, should be user
await projectService.createProject(project, user.id);
await projectService.createProject(project, user);
await projectService.deleteProject(project.id, user);
});