11// Copyright 2019 The Gitea Authors. All rights reserved.
2+ // Copyright 2024 The Forgejo Authors. All rights reserved.
23// SPDX-License-Identifier: MIT
34
45package integration
@@ -362,6 +363,8 @@ func TestPullView_CodeOwner(t *testing.T) {
362363 defer f ()
363364
364365 t .Run ("First Pull Request" , func (t * testing.T ) {
366+ defer tests .PrintCurrentTest (t )()
367+
365368 // create a new branch to prepare for pull request
366369 _ , err := files_service .ChangeRepoFiles (db .DefaultContext , repo , user2 , & files_service.ChangeRepoFilesOptions {
367370 NewBranch : "codeowner-basebranch" ,
@@ -409,6 +412,8 @@ func TestPullView_CodeOwner(t *testing.T) {
409412 require .NoError (t , err )
410413
411414 t .Run ("Second Pull Request" , func (t * testing.T ) {
415+ defer tests .PrintCurrentTest (t )()
416+
412417 // create a new branch to prepare for pull request
413418 _ , err = files_service .ChangeRepoFiles (db .DefaultContext , repo , user2 , & files_service.ChangeRepoFilesOptions {
414419 NewBranch : "codeowner-basebranch2" ,
@@ -431,6 +436,8 @@ func TestPullView_CodeOwner(t *testing.T) {
431436 })
432437
433438 t .Run ("Forked Repo Pull Request" , func (t * testing.T ) {
439+ defer tests .PrintCurrentTest (t )()
440+
434441 user5 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 5 })
435442 forkedRepo , err := repo_service .ForkRepositoryAndUpdates (db .DefaultContext , user2 , user5 , repo_service.ForkRepoOptions {
436443 BaseRepo : repo ,
@@ -483,6 +490,8 @@ func TestPullView_GivenApproveOrRejectReviewOnClosedPR(t *testing.T) {
483490 defer baseGitRepo .Close ()
484491
485492 t .Run ("Submit approve/reject review on merged PR" , func (t * testing.T ) {
493+ defer tests .PrintCurrentTest (t )()
494+
486495 // Create a merged PR (made by user1) in the upstream repo1.
487496 testEditFile (t , user1Session , "user1" , "repo1" , "master" , "README.md" , "Hello, World (Edited)\n " )
488497 resp := testPullCreate (t , user1Session , "user1" , "repo1" , false , "master" , "master" , "This is a pull title" )
@@ -513,6 +522,8 @@ func TestPullView_GivenApproveOrRejectReviewOnClosedPR(t *testing.T) {
513522 })
514523
515524 t .Run ("Submit approve/reject review on closed PR" , func (t * testing.T ) {
525+ defer tests .PrintCurrentTest (t )()
526+
516527 // Created a closed PR (made by user1) in the upstream repo1.
517528 testEditFileToNewBranch (t , user1Session , "user1" , "repo1" , "master" , "a-test-branch" , "README.md" , "Hello, World (Edited...again)\n " )
518529 resp := testPullCreate (t , user1Session , "user1" , "repo1" , false , "master" , "a-test-branch" , "This is a pull title" )
@@ -544,6 +555,41 @@ func TestPullView_GivenApproveOrRejectReviewOnClosedPR(t *testing.T) {
544555 })
545556}
546557
558+ func TestPullReviewInArchivedRepo (t * testing.T ) {
559+ onGiteaRun (t , func (t * testing.T , giteaURL * url.URL ) {
560+ session := loginUser (t , "user2" )
561+
562+ // Open a PR
563+ testEditFileToNewBranch (t , session , "user2" , "repo1" , "master" , "for-pr" , "README.md" , "Hi!\n " )
564+ resp := testPullCreate (t , session , "user2" , "repo1" , true , "master" , "for-pr" , "PR title" )
565+ elem := strings .Split (test .RedirectURL (resp ), "/" )
566+
567+ t .Run ("Review box normally" , func (t * testing.T ) {
568+ defer tests .PrintCurrentTest (t )()
569+
570+ // The "Finish review button" must be available
571+ resp = session .MakeRequest (t , NewRequest (t , "GET" , path .Join (elem [1 ], elem [2 ], "pulls" , elem [4 ], "files" )), http .StatusOK )
572+ button := NewHTMLParser (t , resp .Body ).Find ("#review-box button" )
573+ assert .False (t , button .HasClass ("disabled" ))
574+ })
575+
576+ t .Run ("Review box in archived repo" , func (t * testing.T ) {
577+ defer tests .PrintCurrentTest (t )()
578+
579+ // Archive the repo
580+ resp = session .MakeRequest (t , NewRequestWithValues (t , "POST" , path .Join (elem [1 ], elem [2 ], "settings" ), map [string ]string {
581+ "_csrf" : GetCSRF (t , session , path .Join (elem [1 ], elem [2 ], "settings" )),
582+ "action" : "archive" ,
583+ }), http .StatusSeeOther )
584+
585+ // The "Finish review button" must be disabled
586+ resp = session .MakeRequest (t , NewRequest (t , "GET" , path .Join (elem [1 ], elem [2 ], "pulls" , elem [4 ], "files" )), http .StatusOK )
587+ button := NewHTMLParser (t , resp .Body ).Find ("#review-box button" )
588+ assert .True (t , button .HasClass ("disabled" ))
589+ })
590+ })
591+ }
592+
547593func testNofiticationCount (t * testing.T , session * TestSession , csrf string , expectedSubmitStatus int ) * httptest.ResponseRecorder {
548594 options := map [string ]string {
549595 "_csrf" : csrf ,
0 commit comments