summaryrefslogtreecommitdiffstats
path: root/models/organization/org_user_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/organization/org_user_test.go')
-rw-r--r--models/organization/org_user_test.go41
1 files changed, 35 insertions, 6 deletions
diff --git a/models/organization/org_user_test.go b/models/organization/org_user_test.go
index 1e85f4ed22..22ee5217f9 100644
--- a/models/organization/org_user_test.go
+++ b/models/organization/org_user_test.go
@@ -2,15 +2,17 @@
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
-package organization
+package organization_test
import (
"fmt"
"testing"
"code.gitea.io/gitea/models/db"
+ "code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
)
@@ -38,7 +40,7 @@ func TestUserIsPublicMember(t *testing.T) {
func testUserIsPublicMember(t *testing.T, uid, orgID int64, expected bool) {
user, err := user_model.GetUserByID(uid)
assert.NoError(t, err)
- is, err := IsPublicMembership(orgID, user.ID)
+ is, err := organization.IsPublicMembership(orgID, user.ID)
assert.NoError(t, err)
assert.Equal(t, expected, is)
}
@@ -66,7 +68,7 @@ func TestIsUserOrgOwner(t *testing.T) {
func testIsUserOrgOwner(t *testing.T, uid, orgID int64, expected bool) {
user, err := user_model.GetUserByID(uid)
assert.NoError(t, err)
- is, err := IsOrganizationOwner(db.DefaultContext, orgID, user.ID)
+ is, err := organization.IsOrganizationOwner(db.DefaultContext, orgID, user.ID)
assert.NoError(t, err)
assert.Equal(t, expected, is)
}
@@ -91,7 +93,7 @@ func TestUserListIsPublicMember(t *testing.T) {
}
func testUserListIsPublicMember(t *testing.T, orgID int64, expected map[int64]bool) {
- org, err := GetOrgByID(db.DefaultContext, orgID)
+ org, err := organization.GetOrgByID(db.DefaultContext, orgID)
assert.NoError(t, err)
_, membersIsPublic, err := org.GetMembers()
assert.NoError(t, err)
@@ -118,9 +120,36 @@ func TestUserListIsUserOrgOwner(t *testing.T) {
}
func testUserListIsUserOrgOwner(t *testing.T, orgID int64, expected map[int64]bool) {
- org, err := GetOrgByID(db.DefaultContext, orgID)
+ org, err := organization.GetOrgByID(db.DefaultContext, orgID)
assert.NoError(t, err)
members, _, err := org.GetMembers()
assert.NoError(t, err)
- assert.Equal(t, expected, IsUserOrgOwner(members, orgID))
+ assert.Equal(t, expected, organization.IsUserOrgOwner(members, orgID))
+}
+
+func TestAddOrgUser(t *testing.T) {
+ assert.NoError(t, unittest.PrepareTestDatabase())
+ testSuccess := func(orgID, userID int64, isPublic bool) {
+ org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID}).(*user_model.User)
+ expectedNumMembers := org.NumMembers
+ if !unittest.BeanExists(t, &organization.OrgUser{OrgID: orgID, UID: userID}) {
+ expectedNumMembers++
+ }
+ assert.NoError(t, organization.AddOrgUser(orgID, userID))
+ ou := &organization.OrgUser{OrgID: orgID, UID: userID}
+ unittest.AssertExistsAndLoadBean(t, ou)
+ assert.Equal(t, isPublic, ou.IsPublic)
+ org = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: orgID}).(*user_model.User)
+ assert.EqualValues(t, expectedNumMembers, org.NumMembers)
+ }
+
+ setting.Service.DefaultOrgMemberVisible = false
+ testSuccess(3, 5, false)
+ testSuccess(3, 5, false)
+ testSuccess(6, 2, false)
+
+ setting.Service.DefaultOrgMemberVisible = true
+ testSuccess(6, 3, true)
+
+ unittest.CheckConsistencyFor(t, &user_model.User{}, &organization.Team{})
}