mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 22:11:07 +00:00 
			
		
		
		
	[MODERATION] Add repo transfers to blocked functionality (squash)
- When someone gets blocked, remove all pending repository transfers from the blocked user to the doer. - Do not allow to start transferring repositories to the doer as blocked user. - Added unit testing. - Added integration testing. (cherry picked from commit8a3caac330) (cherry picked from commita92b4cfeb6) (cherry picked from commitacaaaf07d9) (cherry picked from commit735818863c) (cherry picked from commitf50fa43b32) (cherry picked from commite166836433) (cherry picked from commite0187b21fe) (cherry picked from commit697a492686)
This commit is contained in:
		
					parent
					
						
							
								3c6e5fca84
							
						
					
				
			
			
				commit
				
					
						beb4a8a452
					
				
			
		
					 11 changed files with 111 additions and 12 deletions
				
			
		|  | @ -6,6 +6,7 @@ package user | |||
| import ( | ||||
| 	"testing" | ||||
| 
 | ||||
| 	model "code.gitea.io/gitea/models" | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	repo_model "code.gitea.io/gitea/models/repo" | ||||
| 	"code.gitea.io/gitea/models/unittest" | ||||
|  | @ -70,4 +71,21 @@ func TestBlockUser(t *testing.T) { | |||
| 		assert.False(t, isBlockedUserCollab(repo1)) | ||||
| 		assert.False(t, isBlockedUserCollab(repo2)) | ||||
| 	}) | ||||
| 
 | ||||
| 	t.Run("Pending transfers", func(t *testing.T) { | ||||
| 		doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) | ||||
| 		blockedUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 3}) | ||||
| 		defer user_model.UnblockUser(db.DefaultContext, doer.ID, blockedUser.ID) | ||||
| 
 | ||||
| 		unittest.AssertExistsIf(t, true, &repo_model.Repository{ID: 3, OwnerID: blockedUser.ID, Status: repo_model.RepositoryPendingTransfer}) | ||||
| 		unittest.AssertExistsIf(t, true, &model.RepoTransfer{ID: 1, RecipientID: doer.ID, DoerID: blockedUser.ID}) | ||||
| 
 | ||||
| 		assert.NoError(t, BlockUser(db.DefaultContext, doer.ID, blockedUser.ID)) | ||||
| 
 | ||||
| 		unittest.AssertExistsIf(t, false, &model.RepoTransfer{ID: 1, RecipientID: doer.ID, DoerID: blockedUser.ID}) | ||||
| 
 | ||||
| 		// Don't use AssertExistsIf, as it doesn't include the zero values in the condition such as `repo_model.RepositoryReady`. | ||||
| 		repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3, OwnerID: blockedUser.ID}) | ||||
| 		assert.Equal(t, repo_model.RepositoryReady, repo.Status) | ||||
| 	}) | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue