code.gitea.io/gitea@v1.22.3/services/repository/delete_test.go (about)

     1  // Copyright 2017 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package repository_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	"code.gitea.io/gitea/models/db"
    10  	"code.gitea.io/gitea/models/organization"
    11  	repo_model "code.gitea.io/gitea/models/repo"
    12  	"code.gitea.io/gitea/models/unittest"
    13  	user_model "code.gitea.io/gitea/models/user"
    14  	repo_service "code.gitea.io/gitea/services/repository"
    15  
    16  	"github.com/stretchr/testify/assert"
    17  )
    18  
    19  func TestTeam_HasRepository(t *testing.T) {
    20  	assert.NoError(t, unittest.PrepareTestDatabase())
    21  
    22  	test := func(teamID, repoID int64, expected bool) {
    23  		team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: teamID})
    24  		assert.Equal(t, expected, repo_service.HasRepository(db.DefaultContext, team, repoID))
    25  	}
    26  	test(1, 1, false)
    27  	test(1, 3, true)
    28  	test(1, 5, true)
    29  	test(1, unittest.NonexistentID, false)
    30  
    31  	test(2, 3, true)
    32  	test(2, 5, false)
    33  }
    34  
    35  func TestTeam_RemoveRepository(t *testing.T) {
    36  	assert.NoError(t, unittest.PrepareTestDatabase())
    37  
    38  	testSuccess := func(teamID, repoID int64) {
    39  		team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: teamID})
    40  		assert.NoError(t, repo_service.RemoveRepositoryFromTeam(db.DefaultContext, team, repoID))
    41  		unittest.AssertNotExistsBean(t, &organization.TeamRepo{TeamID: teamID, RepoID: repoID})
    42  		unittest.CheckConsistencyFor(t, &organization.Team{ID: teamID}, &repo_model.Repository{ID: repoID})
    43  	}
    44  	testSuccess(2, 3)
    45  	testSuccess(2, 5)
    46  	testSuccess(1, unittest.NonexistentID)
    47  }
    48  
    49  func TestDeleteOwnerRepositoriesDirectly(t *testing.T) {
    50  	unittest.PrepareTestEnv(t)
    51  
    52  	user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
    53  
    54  	assert.NoError(t, repo_service.DeleteOwnerRepositoriesDirectly(db.DefaultContext, user))
    55  }