mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 21:16:26 +01:00 
			
		
		
		
	Recent modernize fixes: https://github.com/golang/tools/commits/master/gopls/internal/analysis/modernize
		
			
				
	
	
		
			88 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2023 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package integration
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"net/http"
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"code.gitea.io/gitea/models/db"
 | 
						|
	project_model "code.gitea.io/gitea/models/project"
 | 
						|
	repo_model "code.gitea.io/gitea/models/repo"
 | 
						|
	"code.gitea.io/gitea/models/unit"
 | 
						|
	"code.gitea.io/gitea/models/unittest"
 | 
						|
	"code.gitea.io/gitea/tests"
 | 
						|
 | 
						|
	"github.com/stretchr/testify/assert"
 | 
						|
)
 | 
						|
 | 
						|
func TestPrivateRepoProject(t *testing.T) {
 | 
						|
	defer tests.PrepareTestEnv(t)()
 | 
						|
 | 
						|
	// not logged in user
 | 
						|
	req := NewRequest(t, "GET", "/user31/-/projects")
 | 
						|
	MakeRequest(t, req, http.StatusNotFound)
 | 
						|
 | 
						|
	sess := loginUser(t, "user1")
 | 
						|
	req = NewRequest(t, "GET", "/user31/-/projects")
 | 
						|
	sess.MakeRequest(t, req, http.StatusOK)
 | 
						|
}
 | 
						|
 | 
						|
func TestMoveRepoProjectColumns(t *testing.T) {
 | 
						|
	defer tests.PrepareTestEnv(t)()
 | 
						|
 | 
						|
	repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
 | 
						|
 | 
						|
	projectsUnit := repo2.MustGetUnit(db.DefaultContext, unit.TypeProjects)
 | 
						|
	assert.True(t, projectsUnit.ProjectsConfig().IsProjectsAllowed(repo_model.ProjectsModeRepo))
 | 
						|
 | 
						|
	project1 := project_model.Project{
 | 
						|
		Title:        "new created project",
 | 
						|
		RepoID:       repo2.ID,
 | 
						|
		Type:         project_model.TypeRepository,
 | 
						|
		TemplateType: project_model.TemplateTypeNone,
 | 
						|
	}
 | 
						|
	err := project_model.NewProject(db.DefaultContext, &project1)
 | 
						|
	assert.NoError(t, err)
 | 
						|
 | 
						|
	for i := range 3 {
 | 
						|
		err = project_model.NewColumn(db.DefaultContext, &project_model.Column{
 | 
						|
			Title:     fmt.Sprintf("column %d", i+1),
 | 
						|
			ProjectID: project1.ID,
 | 
						|
		})
 | 
						|
		assert.NoError(t, err)
 | 
						|
	}
 | 
						|
 | 
						|
	columns, err := project1.GetColumns(db.DefaultContext)
 | 
						|
	assert.NoError(t, err)
 | 
						|
	assert.Len(t, columns, 3)
 | 
						|
	assert.EqualValues(t, 0, columns[0].Sorting)
 | 
						|
	assert.EqualValues(t, 1, columns[1].Sorting)
 | 
						|
	assert.EqualValues(t, 2, columns[2].Sorting)
 | 
						|
 | 
						|
	sess := loginUser(t, "user1")
 | 
						|
	req := NewRequest(t, "GET", fmt.Sprintf("/%s/projects/%d", repo2.FullName(), project1.ID))
 | 
						|
	resp := sess.MakeRequest(t, req, http.StatusOK)
 | 
						|
	htmlDoc := NewHTMLParser(t, resp.Body)
 | 
						|
 | 
						|
	req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/%s/projects/%d/move?_csrf="+htmlDoc.GetCSRF(), repo2.FullName(), project1.ID), map[string]any{
 | 
						|
		"columns": []map[string]any{
 | 
						|
			{"columnID": columns[1].ID, "sorting": 0},
 | 
						|
			{"columnID": columns[2].ID, "sorting": 1},
 | 
						|
			{"columnID": columns[0].ID, "sorting": 2},
 | 
						|
		},
 | 
						|
	})
 | 
						|
	sess.MakeRequest(t, req, http.StatusOK)
 | 
						|
 | 
						|
	columnsAfter, err := project1.GetColumns(db.DefaultContext)
 | 
						|
	assert.NoError(t, err)
 | 
						|
	assert.Len(t, columnsAfter, 3)
 | 
						|
	assert.Equal(t, columns[1].ID, columnsAfter[0].ID)
 | 
						|
	assert.Equal(t, columns[2].ID, columnsAfter[1].ID)
 | 
						|
	assert.Equal(t, columns[0].ID, columnsAfter[2].ID)
 | 
						|
 | 
						|
	assert.NoError(t, project_model.DeleteProjectByID(db.DefaultContext, project1.ID))
 | 
						|
}
 |