@@ -153,3 +153,26 @@ func TestRepoLocalCopyPath(t *testing.T) {
153
153
setting .Repository .Local .LocalCopyPath = tempPath
154
154
assert .Equal (t , expected , repo .LocalCopyPath ())
155
155
}
156
+
157
+ func TestTransferOwnership (t * testing.T ) {
158
+ assert .NoError (t , PrepareTestDatabase ())
159
+
160
+ doer := AssertExistsAndLoadBean (t , & User {ID : 2 }).(* User )
161
+ repo := AssertExistsAndLoadBean (t , & Repository {ID : 3 }).(* Repository )
162
+ repo .Owner = AssertExistsAndLoadBean (t , & User {ID : repo .OwnerID }).(* User )
163
+ assert .NoError (t , TransferOwnership (doer , "user2" , repo ))
164
+
165
+ transferredRepo := AssertExistsAndLoadBean (t , & Repository {ID : 3 }).(* Repository )
166
+ assert .EqualValues (t , 2 , transferredRepo .OwnerID )
167
+
168
+ assert .False (t , com .IsExist (RepoPath ("user3" , "repo3" )))
169
+ assert .True (t , com .IsExist (RepoPath ("user2" , "repo3" )))
170
+ AssertExistsAndLoadBean (t , & Action {
171
+ OpType : ActionTransferRepo ,
172
+ ActUserID : 2 ,
173
+ RepoID : 3 ,
174
+ Content : "user3/repo3" ,
175
+ })
176
+
177
+ CheckConsistencyFor (t , & Repository {}, & User {}, & Team {})
178
+ }
0 commit comments