Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

project_test.go 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package project
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. "code.gitea.io/gitea/models/unittest"
  8. "code.gitea.io/gitea/modules/timeutil"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestIsProjectTypeValid(t *testing.T) {
  12. const UnknownType Type = 15
  13. cases := []struct {
  14. typ Type
  15. valid bool
  16. }{
  17. {TypeIndividual, false},
  18. {TypeRepository, true},
  19. {TypeOrganization, true},
  20. {UnknownType, false},
  21. }
  22. for _, v := range cases {
  23. assert.Equal(t, v.valid, IsTypeValid(v.typ))
  24. }
  25. }
  26. func TestGetProjects(t *testing.T) {
  27. assert.NoError(t, unittest.PrepareTestDatabase())
  28. projects, _, err := FindProjects(db.DefaultContext, SearchOptions{RepoID: 1})
  29. assert.NoError(t, err)
  30. // 1 value for this repo exists in the fixtures
  31. assert.Len(t, projects, 1)
  32. projects, _, err = FindProjects(db.DefaultContext, SearchOptions{RepoID: 3})
  33. assert.NoError(t, err)
  34. // 1 value for this repo exists in the fixtures
  35. assert.Len(t, projects, 1)
  36. }
  37. func TestProject(t *testing.T) {
  38. assert.NoError(t, unittest.PrepareTestDatabase())
  39. project := &Project{
  40. Type: TypeRepository,
  41. BoardType: BoardTypeBasicKanban,
  42. Title: "New Project",
  43. RepoID: 1,
  44. CreatedUnix: timeutil.TimeStampNow(),
  45. CreatorID: 2,
  46. }
  47. assert.NoError(t, NewProject(project))
  48. _, err := GetProjectByID(db.DefaultContext, project.ID)
  49. assert.NoError(t, err)
  50. // Update project
  51. project.Title = "Updated title"
  52. assert.NoError(t, UpdateProject(db.DefaultContext, project))
  53. projectFromDB, err := GetProjectByID(db.DefaultContext, project.ID)
  54. assert.NoError(t, err)
  55. assert.Equal(t, project.Title, projectFromDB.Title)
  56. assert.NoError(t, ChangeProjectStatus(project, true))
  57. // Retrieve from DB afresh to check if it is truly closed
  58. projectFromDB, err = GetProjectByID(db.DefaultContext, project.ID)
  59. assert.NoError(t, err)
  60. assert.True(t, projectFromDB.IsClosed)
  61. }