diff options
author | Lanre Adelowo <yo@lanre.wtf> | 2020-08-17 04:07:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-16 23:07:38 -0400 |
commit | 4027c5dd7c11c1256094e202be591ec1b86a011e (patch) | |
tree | 49e361a50395f0496c49d52bfd571ee47c1ebf44 /models/project_test.go | |
parent | d285b5d35a44bf9fde0682532aeef9550f78cf83 (diff) | |
download | gitea-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.go | 82 |
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) +} |