summaryrefslogtreecommitdiffstats
path: root/models/project_test.go
diff options
context:
space:
mode:
authorLanre Adelowo <yo@lanre.wtf>2020-08-17 04:07:38 +0100
committerGitHub <noreply@github.com>2020-08-16 23:07:38 -0400
commit4027c5dd7c11c1256094e202be591ec1b86a011e (patch)
tree49e361a50395f0496c49d52bfd571ee47c1ebf44 /models/project_test.go
parentd285b5d35a44bf9fde0682532aeef9550f78cf83 (diff)
downloadgitea-4027c5dd7c11c1256094e202be591ec1b86a011e.tar.gz
gitea-4027c5dd7c11c1256094e202be591ec1b86a011e.zip
Kanban board (#8346)
Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: jaqra <48099350+jaqra@users.noreply.github.com> Co-authored-by: Kerry <flatline-studios@users.noreply.github.com> Co-authored-by: Jaqra <jaqra@hotmail.com> Co-authored-by: Kyle Evans <kevans91@users.noreply.github.com> Co-authored-by: Tsakiridis Ilias <TsakiDev@users.noreply.github.com> Co-authored-by: Ilias Tsakiridis <ilias.tsakiridis@outlook.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'models/project_test.go')
-rw-r--r--models/project_test.go82
1 files changed, 82 insertions, 0 deletions
diff --git a/models/project_test.go b/models/project_test.go
new file mode 100644
index 0000000000..49c46f9184
--- /dev/null
+++ b/models/project_test.go
@@ -0,0 +1,82 @@
+// Copyright 2020 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/modules/timeutil"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestIsProjectTypeValid(t *testing.T) {
+ const UnknownType ProjectType = 15
+
+ var cases = []struct {
+ typ ProjectType
+ valid bool
+ }{
+ {ProjectTypeIndividual, false},
+ {ProjectTypeRepository, true},
+ {ProjectTypeOrganization, false},
+ {UnknownType, false},
+ }
+
+ for _, v := range cases {
+ assert.Equal(t, v.valid, IsProjectTypeValid(v.typ))
+ }
+}
+
+func TestGetProjects(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ projects, _, err := GetProjects(ProjectSearchOptions{RepoID: 1})
+ assert.NoError(t, err)
+
+ // 1 value for this repo exists in the fixtures
+ assert.Len(t, projects, 1)
+
+ projects, _, err = GetProjects(ProjectSearchOptions{RepoID: 3})
+ assert.NoError(t, err)
+
+ // 1 value for this repo exists in the fixtures
+ assert.Len(t, projects, 1)
+}
+
+func TestProject(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ project := &Project{
+ Type: ProjectTypeRepository,
+ BoardType: ProjectBoardTypeBasicKanban,
+ Title: "New Project",
+ RepoID: 1,
+ CreatedUnix: timeutil.TimeStampNow(),
+ CreatorID: 2,
+ }
+
+ assert.NoError(t, NewProject(project))
+
+ _, err := GetProjectByID(project.ID)
+ assert.NoError(t, err)
+
+ // Update project
+ project.Title = "Updated title"
+ assert.NoError(t, UpdateProject(project))
+
+ projectFromDB, err := GetProjectByID(project.ID)
+ assert.NoError(t, err)
+
+ assert.Equal(t, project.Title, projectFromDB.Title)
+
+ assert.NoError(t, ChangeProjectStatus(project, true))
+
+ // Retrieve from DB afresh to check if it is truly closed
+ projectFromDB, err = GetProjectByID(project.ID)
+ assert.NoError(t, err)
+
+ assert.True(t, projectFromDB.IsClosed)
+}