From 3cb61517a34ad48a8d5b77fec8d4ce0c82d4928d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Sat, 20 Dec 2025 15:25:16 -0500 Subject: [PATCH] feat: add some integration tests --- tests/integration/api_repo_group_test.go | 56 ++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/integration/api_repo_group_test.go diff --git a/tests/integration/api_repo_group_test.go b/tests/integration/api_repo_group_test.go new file mode 100644 index 0000000000..fd247950ee --- /dev/null +++ b/tests/integration/api_repo_group_test.go @@ -0,0 +1,56 @@ +package integration + +import ( + "net/http" + "testing" + + group_model "code.gitea.io/gitea/models/group" + "code.gitea.io/gitea/models/unittest" + "code.gitea.io/gitea/modules/json" + api "code.gitea.io/gitea/modules/structs" + "code.gitea.io/gitea/tests" + "github.com/stretchr/testify/assert" +) + +func TestCreateGroup(t *testing.T) { + +} + +func TestOwnersAndAdminsCanSeeAllTopLevelGroups(t *testing.T) { + defer tests.PrepareTestEnv(t)() + req := NewRequestf(t, "GET", "/api/v1/orgs/org-with-groups/groups").AddBasicAuth("user2") + resp := MakeRequest(t, req, http.StatusOK) + groups := make([]*api.Group, 0) + json.NewDecoder(resp.Body).Decode(&groups) + expectedLen := unittest.GetCount(t, new(group_model.Group), + group_model.FindGroupsOptions{ + ParentGroupID: 0, + OwnerID: 43, + }.ToConds()) + assert.Len(t, groups, expectedLen) + + // now test if site-wide admin can see all groups + req = NewRequestf(t, "GET", "/api/v1/orgs/org-with-groups/groups").AddBasicAuth("user1") + resp = MakeRequest(t, req, http.StatusOK) + groups = make([]*api.Group, 0) + json.NewDecoder(resp.Body).Decode(&groups) + assert.Len(t, groups, expectedLen) +} + +func TestNonOrgMemberWontSeeHiddenTopLevelGroups(t *testing.T) { + defer tests.PrepareTestEnv(t)() + req := NewRequestf(t, "GET", "/api/v1/orgs/org-with-groups/groups").AddBasicAuth("user4") + resp := MakeRequest(t, req, http.StatusOK) + groups := make([]*api.Group, 0) + json.NewDecoder(resp.Body).Decode(&groups) + expectedLen := unittest.GetCount(t, new(group_model.Group), + group_model.FindGroupsOptions{ + ParentGroupID: 0, + OwnerID: 43, + }.ToConds()) + assert.NotEqual(t, len(groups), expectedLen) +} + +func TestGroupNotAccessibleWhenParentIsPrivate(t *testing.T) { + +}