mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	fix: project environments order (#1599)
This commit is contained in:
		
							parent
							
								
									f306622580
								
							
						
					
					
						commit
						0f272680ee
					
				@ -311,7 +311,6 @@ class FeatureStrategiesStore implements IFeatureStrategiesStore {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
 | 
					 | 
				
			||||||
    private static getEnvironment(r: any): IEnvironmentOverview {
 | 
					    private static getEnvironment(r: any): IEnvironmentOverview {
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            name: r.environment,
 | 
					            name: r.environment,
 | 
				
			||||||
 | 
				
			|||||||
@ -238,7 +238,14 @@ class ProjectStore implements IProjectStore {
 | 
				
			|||||||
            .where({
 | 
					            .where({
 | 
				
			||||||
                project_id: id,
 | 
					                project_id: id,
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
            .pluck('environment_name');
 | 
					            .innerJoin(
 | 
				
			||||||
 | 
					                'environments',
 | 
				
			||||||
 | 
					                'project_environments.environment_name',
 | 
				
			||||||
 | 
					                'environments.name',
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            .orderBy('environments.sort_order', 'asc')
 | 
				
			||||||
 | 
					            .orderBy('project_environments.environment_name', 'asc')
 | 
				
			||||||
 | 
					            .pluck('project_environments.environment_name');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async getMembers(projectId: string): Promise<number> {
 | 
					    async getMembers(projectId: string): Promise<number> {
 | 
				
			||||||
 | 
				
			|||||||
@ -518,6 +518,44 @@ test('A newly created project only gets connected to enabled environments', asyn
 | 
				
			|||||||
    expect(connectedEnvs.some((e) => e === disabledEnv)).toBeFalsy();
 | 
					    expect(connectedEnvs.some((e) => e === disabledEnv)).toBeFalsy();
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test('should have environments sorted in order', async () => {
 | 
				
			||||||
 | 
					    const project = {
 | 
				
			||||||
 | 
					        id: 'environment-order-test',
 | 
				
			||||||
 | 
					        name: 'Environment testing project',
 | 
				
			||||||
 | 
					        description: '',
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    const first = 'test';
 | 
				
			||||||
 | 
					    const second = 'abc';
 | 
				
			||||||
 | 
					    const third = 'example';
 | 
				
			||||||
 | 
					    const fourth = 'mock';
 | 
				
			||||||
 | 
					    await db.stores.environmentStore.create({
 | 
				
			||||||
 | 
					        name: first,
 | 
				
			||||||
 | 
					        type: 'test',
 | 
				
			||||||
 | 
					        sortOrder: 1,
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    await db.stores.environmentStore.create({
 | 
				
			||||||
 | 
					        name: fourth,
 | 
				
			||||||
 | 
					        type: 'test',
 | 
				
			||||||
 | 
					        sortOrder: 4,
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    await db.stores.environmentStore.create({
 | 
				
			||||||
 | 
					        name: third,
 | 
				
			||||||
 | 
					        type: 'test',
 | 
				
			||||||
 | 
					        sortOrder: 3,
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    await db.stores.environmentStore.create({
 | 
				
			||||||
 | 
					        name: second,
 | 
				
			||||||
 | 
					        type: 'test',
 | 
				
			||||||
 | 
					        sortOrder: 2,
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    await projectService.createProject(project, user);
 | 
				
			||||||
 | 
					    const connectedEnvs =
 | 
				
			||||||
 | 
					        await db.stores.projectStore.getEnvironmentsForProject(project.id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    expect(connectedEnvs).toEqual(['default', first, second, third, fourth]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test('should add a user to the project with a custom role', async () => {
 | 
					test('should add a user to the project with a custom role', async () => {
 | 
				
			||||||
    const project = {
 | 
					    const project = {
 | 
				
			||||||
        id: 'add-users-custom-role',
 | 
					        id: 'add-users-custom-role',
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user