fix
This commit is contained in:
@@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCountColumns(t *testing.T) {
|
func TestCountProjectColumns(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
project, err := GetProjectByID(t.Context(), 1)
|
project, err := GetProjectByID(t.Context(), 1)
|
||||||
@@ -23,7 +23,7 @@ func TestCountColumns(t *testing.T) {
|
|||||||
assert.EqualValues(t, 3, count)
|
assert.EqualValues(t, 3, count)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetColumnsPaginated(t *testing.T) {
|
func TestGetProjectColumns(t *testing.T) {
|
||||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
project, err := GetProjectByID(t.Context(), 1)
|
project, err := GetProjectByID(t.Context(), 1)
|
||||||
@@ -47,3 +47,19 @@ func TestGetColumnsPaginated(t *testing.T) {
|
|||||||
}
|
}
|
||||||
assert.Len(t, allIDs, 3)
|
assert.Len(t, allIDs, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetColumnsByIDs(t *testing.T) {
|
||||||
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
project, err := GetProjectByID(t.Context(), 1)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
columns, err := GetColumnsByIDs(t.Context(), project.ID, []int64{1, 3, 4})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Len(t, columns, 2)
|
||||||
|
assert.ElementsMatch(t, []int64{1, 3}, []int64{columns[0].ID, columns[1].ID})
|
||||||
|
|
||||||
|
empty, err := GetColumnsByIDs(t.Context(), project.ID, nil)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Empty(t, empty)
|
||||||
|
}
|
||||||
|
|||||||
@@ -1580,15 +1580,15 @@ func Routes() *web.Router {
|
|||||||
Post(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.CreateProjectOption{}), repo.CreateProject)
|
Post(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.CreateProjectOption{}), repo.CreateProject)
|
||||||
m.Group("/{id}", func() {
|
m.Group("/{id}", func() {
|
||||||
m.Combo("").Get(repo.GetProject).
|
m.Combo("").Get(repo.GetProject).
|
||||||
Patch(reqToken(), reqRepoWriter(unit.TypeProjects), bind(api.EditProjectOption{}), repo.EditProject).
|
Patch(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.EditProjectOption{}), repo.EditProject).
|
||||||
Delete(reqToken(), reqRepoWriter(unit.TypeProjects), repo.DeleteProject)
|
Delete(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, repo.DeleteProject)
|
||||||
m.Combo("/columns").Get(repo.ListProjectColumns).
|
m.Combo("/columns").Get(repo.ListProjectColumns).
|
||||||
Post(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.CreateProjectColumnOption{}), repo.CreateProjectColumn)
|
Post(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.CreateProjectColumnOption{}), repo.CreateProjectColumn)
|
||||||
})
|
})
|
||||||
m.Group("/columns/{id}", func() {
|
m.Group("/columns/{id}", func() {
|
||||||
m.Combo("").
|
m.Combo("").
|
||||||
Patch(reqToken(), reqRepoWriter(unit.TypeProjects), bind(api.EditProjectColumnOption{}), repo.EditProjectColumn).
|
Patch(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.EditProjectColumnOption{}), repo.EditProjectColumn).
|
||||||
Delete(reqToken(), reqRepoWriter(unit.TypeProjects), repo.DeleteProjectColumn)
|
Delete(reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, repo.DeleteProjectColumn)
|
||||||
m.Post("/issues", reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.AddIssueToProjectColumnOption{}), repo.AddIssueToProjectColumn)
|
m.Post("/issues", reqToken(), reqRepoWriter(unit.TypeProjects), mustNotBeArchived, bind(api.AddIssueToProjectColumnOption{}), repo.AddIssueToProjectColumn)
|
||||||
})
|
})
|
||||||
}, reqRepoReader(unit.TypeProjects))
|
}, reqRepoReader(unit.TypeProjects))
|
||||||
|
|||||||
@@ -12,9 +12,6 @@ import (
|
|||||||
|
|
||||||
// ToProject converts a project_model.Project to api.Project
|
// ToProject converts a project_model.Project to api.Project
|
||||||
func ToProject(ctx context.Context, p *project_model.Project) *api.Project {
|
func ToProject(ctx context.Context, p *project_model.Project) *api.Project {
|
||||||
if p == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
project := &api.Project{
|
project := &api.Project{
|
||||||
ID: p.ID,
|
ID: p.ID,
|
||||||
Title: p.Title,
|
Title: p.Title,
|
||||||
@@ -32,10 +29,13 @@ func ToProject(ctx context.Context, p *project_model.Project) *api.Project {
|
|||||||
Created: p.CreatedUnix.AsTime(),
|
Created: p.CreatedUnix.AsTime(),
|
||||||
Updated: p.UpdatedUnix.AsTime(),
|
Updated: p.UpdatedUnix.AsTime(),
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.ClosedDateUnix > 0 {
|
if p.ClosedDateUnix > 0 {
|
||||||
t := p.ClosedDateUnix.AsTime()
|
t := p.ClosedDateUnix.AsTime()
|
||||||
project.ClosedDate = &t
|
project.ClosedDate = &t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generate project URL
|
||||||
if p.Type == project_model.TypeRepository && p.RepoID > 0 {
|
if p.Type == project_model.TypeRepository && p.RepoID > 0 {
|
||||||
if err := p.LoadRepo(ctx); err == nil && p.Repo != nil {
|
if err := p.LoadRepo(ctx); err == nil && p.Repo != nil {
|
||||||
project.URL = project_model.ProjectLinkForRepo(p.Repo, p.ID)
|
project.URL = project_model.ProjectLinkForRepo(p.Repo, p.ID)
|
||||||
@@ -45,14 +45,12 @@ func ToProject(ctx context.Context, p *project_model.Project) *api.Project {
|
|||||||
project.URL = project_model.ProjectLinkForOrg(p.Owner, p.ID)
|
project.URL = project_model.ProjectLinkForOrg(p.Owner, p.ID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return project
|
return project
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToProjectColumn converts a project_model.Column to api.ProjectColumn
|
// ToProjectColumn converts a project_model.Column to api.ProjectColumn
|
||||||
func ToProjectColumn(ctx context.Context, column *project_model.Column) *api.ProjectColumn {
|
func ToProjectColumn(ctx context.Context, column *project_model.Column) *api.ProjectColumn {
|
||||||
if column == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return &api.ProjectColumn{
|
return &api.ProjectColumn{
|
||||||
ID: column.ID,
|
ID: column.ID,
|
||||||
Title: column.Title,
|
Title: column.Title,
|
||||||
|
|||||||
Reference in New Issue
Block a user