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 {
 | 
			
		||||
        return {
 | 
			
		||||
            name: r.environment,
 | 
			
		||||
 | 
			
		||||
@ -238,7 +238,14 @@ class ProjectStore implements IProjectStore {
 | 
			
		||||
            .where({
 | 
			
		||||
                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> {
 | 
			
		||||
 | 
			
		||||
@ -518,6 +518,44 @@ test('A newly created project only gets connected to enabled environments', asyn
 | 
			
		||||
    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 () => {
 | 
			
		||||
    const project = {
 | 
			
		||||
        id: 'add-users-custom-role',
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user