aboutsummaryrefslogtreecommitdiffstats
path: root/tests/integration
diff options
context:
space:
mode:
authorNeel <47709856+neel1996@users.noreply.github.com>2022-10-13 14:01:10 +0530
committerGitHub <noreply@github.com>2022-10-13 11:31:10 +0300
commitc35531dd118ad8fe8ff0c7aa27bb925fb46f09af (patch)
tree3d321c60c0cda652a3175dec728a924b3ad69b66 /tests/integration
parentcda2c38f4a61ef7f448be3efab5420d9974c8474 (diff)
downloadgitea-c35531dd118ad8fe8ff0c7aa27bb925fb46f09af.tar.gz
gitea-c35531dd118ad8fe8ff0c7aa27bb925fb46f09af.zip
Fix #21406: Hide repo information from file view/blame mode (#21420)
# Summary The repo information such as description, stats and topics are getting displayed in the top-bar when viewing a file. This has been fixed to display the repo information only while navigating the repo and not while viewing or blaming a file from the repo ## Before fix Screenshot from the issue ![image](https://user-images.githubusercontent.com/47709856/195278543-9afbb735-7bd3-4f42-b3ba-da514c6989d2.png) ## After the fix - **Repo homepage** The repo description, topics and summary will be displayed ![image](https://user-images.githubusercontent.com/47709856/195443913-2ca967cd-6694-4a97-98d0-4d0750692b5d.png) - **When opening a file** The repo description, topic and summary has been conditionally hidden from the view <img width="1311" alt="image" src="https://user-images.githubusercontent.com/47709856/195278964-9479231c-62ad-4c0e-b438-2018f22289db.png"> - **When running blame on a file** > This was originally not part of the issue #21406. However the fix seems relevant for the blame view as well. <img width="1312" alt="image" src="https://user-images.githubusercontent.com/47709856/195279619-02010775-aec3-4c8d-a184-d2d838c797e8.png"> - **From within a directory** The repo description, topics and summary will not be displayed ![image](https://user-images.githubusercontent.com/47709856/195444080-ff5b2def-7e0f-47d7-b54a-7e9df5f9edd8.png) Supporting integration tests have also been added.
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/repo_test.go79
1 files changed, 77 insertions, 2 deletions
diff --git a/tests/integration/repo_test.go b/tests/integration/repo_test.go
index 8dfa9d08f1..8e494a9af4 100644
--- a/tests/integration/repo_test.go
+++ b/tests/integration/repo_test.go
@@ -22,13 +22,24 @@ import (
func TestViewRepo(t *testing.T) {
defer tests.PrepareTestEnv(t)()
+ session := loginUser(t, "user2")
+
req := NewRequest(t, "GET", "/user2/repo1")
- MakeRequest(t, req, http.StatusOK)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ noDescription := htmlDoc.doc.Find("#repo-desc").Children()
+ repoTopics := htmlDoc.doc.Find("#repo-topics").Children()
+ repoSummary := htmlDoc.doc.Find(".repository-summary").Children()
+
+ assert.True(t, noDescription.HasClass("no-description"))
+ assert.True(t, repoTopics.HasClass("repo-topic"))
+ assert.True(t, repoSummary.HasClass("repository-menu"))
req = NewRequest(t, "GET", "/user3/repo3")
MakeRequest(t, req, http.StatusNotFound)
- session := loginUser(t, "user1")
+ session = loginUser(t, "user1")
session.MakeRequest(t, req, http.StatusNotFound)
}
@@ -178,7 +189,71 @@ func TestViewAsRepoAdmin(t *testing.T) {
htmlDoc := NewHTMLParser(t, resp.Body)
noDescription := htmlDoc.doc.Find("#repo-desc").Children()
+ repoTopics := htmlDoc.doc.Find("#repo-topics").Children()
+ repoSummary := htmlDoc.doc.Find(".repository-summary").Children()
assert.Equal(t, expectedNoDescription, noDescription.HasClass("no-description"))
+ assert.True(t, repoTopics.HasClass("repo-topic"))
+ assert.True(t, repoSummary.HasClass("repository-menu"))
}
}
+
+// TestViewFileInRepo repo description, topics and summary should not be displayed when viewing a file
+func TestViewFileInRepo(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+
+ session := loginUser(t, "user2")
+
+ req := NewRequest(t, "GET", "/user2/repo1/src/branch/master/README.md")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ description := htmlDoc.doc.Find("#repo-desc")
+ repoTopics := htmlDoc.doc.Find("#repo-topics")
+ repoSummary := htmlDoc.doc.Find(".repository-summary")
+
+ assert.EqualValues(t, 0, description.Length())
+ assert.EqualValues(t, 0, repoTopics.Length())
+ assert.EqualValues(t, 0, repoSummary.Length())
+}
+
+// TestBlameFileInRepo repo description, topics and summary should not be displayed when running blame on a file
+func TestBlameFileInRepo(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+
+ session := loginUser(t, "user2")
+
+ req := NewRequest(t, "GET", "/user2/repo1/blame/branch/master/README.md")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ description := htmlDoc.doc.Find("#repo-desc")
+ repoTopics := htmlDoc.doc.Find("#repo-topics")
+ repoSummary := htmlDoc.doc.Find(".repository-summary")
+
+ assert.EqualValues(t, 0, description.Length())
+ assert.EqualValues(t, 0, repoTopics.Length())
+ assert.EqualValues(t, 0, repoSummary.Length())
+}
+
+// TestViewRepoDirectory repo description, topics and summary should not be displayed when within a directory
+func TestViewRepoDirectory(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+
+ session := loginUser(t, "user2")
+
+ req := NewRequest(t, "GET", "/user2/repo20/src/branch/master/a")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ description := htmlDoc.doc.Find("#repo-desc")
+ repoTopics := htmlDoc.doc.Find("#repo-topics")
+ repoSummary := htmlDoc.doc.Find(".repository-summary")
+
+ repoFilesTable := htmlDoc.doc.Find("#repo-files-table")
+ assert.NotZero(t, len(repoFilesTable.Nodes))
+
+ assert.Zero(t, description.Length())
+ assert.Zero(t, repoTopics.Length())
+ assert.Zero(t, repoSummary.Length())
+}