fix: make sure projects are correctly sorted
This commit is contained in:
parent
353279cbff
commit
db3c7aa8b0
@ -182,12 +182,6 @@ func (p *Project) ReadAll(s *xorm.Session, a web.Auth, search string, page int,
|
||||
return nil, 0, 0, err
|
||||
}
|
||||
|
||||
// FIXME: I wonder if we could get rid of this extra loop?
|
||||
allProjects := make(map[int64]*Project, len(prs))
|
||||
for _, p := range prs {
|
||||
allProjects[p.ID] = p
|
||||
}
|
||||
|
||||
/////////////////
|
||||
// Saved Filters
|
||||
|
||||
@ -197,7 +191,7 @@ func (p *Project) ReadAll(s *xorm.Session, a web.Auth, search string, page int,
|
||||
}
|
||||
|
||||
if savedFiltersProject != nil {
|
||||
allProjects[savedFiltersProject.ID] = savedFiltersProject
|
||||
prs = append(prs, savedFiltersProject)
|
||||
}
|
||||
|
||||
/////////////////
|
||||
@ -210,12 +204,7 @@ func (p *Project) ReadAll(s *xorm.Session, a web.Auth, search string, page int,
|
||||
//////////////////////////
|
||||
// Putting it all together
|
||||
|
||||
projectsResult := []*Project{}
|
||||
for _, p := range allProjects {
|
||||
projectsResult = append(projectsResult, p)
|
||||
}
|
||||
|
||||
return projectsResult, resultCount, totalItems, err
|
||||
return prs, resultCount, totalItems, err
|
||||
}
|
||||
|
||||
// ReadOne gets one project by its ID
|
||||
|
@ -319,10 +319,12 @@ func TestProject_ReadAll(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, reflect.TypeOf(projects3).Kind(), reflect.Slice)
|
||||
ls := projects3.([]*Project)
|
||||
assert.Equal(t, 23, len(ls))
|
||||
assert.Equal(t, 25, len(ls))
|
||||
assert.Equal(t, int64(3), ls[0].ID) // Project 3 has a position of 1 and should be sorted first
|
||||
assert.Equal(t, int64(1), ls[1].ID)
|
||||
assert.Equal(t, int64(6), ls[2].ID)
|
||||
assert.Equal(t, int64(-1), ls[23].ID)
|
||||
assert.Equal(t, int64(-3), ls[24].ID)
|
||||
_ = s.Close()
|
||||
})
|
||||
t.Run("projects for nonexistant user", func(t *testing.T) {
|
||||
@ -344,8 +346,10 @@ func TestProject_ReadAll(t *testing.T) {
|
||||
|
||||
assert.NoError(t, err)
|
||||
ls := projects3.([]*Project)
|
||||
assert.Equal(t, 1, len(ls))
|
||||
assert.Equal(t, 3, len(ls))
|
||||
assert.Equal(t, int64(10), ls[0].ID)
|
||||
assert.Equal(t, int64(-1), ls[1].ID)
|
||||
assert.Equal(t, int64(-3), ls[2].ID)
|
||||
_ = s.Close()
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user