mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01: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:
		
							parent
							
								
									347c1cabbc
								
							
						
					
					
						commit
						b5d9bbaa76
					
				| @ -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); | ||||
| }); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user