浏览代码

orgsListMembers

Joe Chen 1 年之前
父节点
当前提交
c5fa4cf93d
共有 1 个文件被更改,包括 30 次插入0 次删除
  1. 30 0
      internal/db/organizations_test.go

+ 30 - 0
internal/db/organizations_test.go

@@ -49,6 +49,7 @@ func TestOrganizations(t *testing.T) {
 		{"AddMember", orgsAddMember},
 		{"AddMember", orgsAddMember},
 		{"RemoveMember", orgsRemoveMember},
 		{"RemoveMember", orgsRemoveMember},
 		{"HasMember", orgsHasMember},
 		{"HasMember", orgsHasMember},
+		{"ListMembers", orgsListMembers},
 	} {
 	} {
 		t.Run(tc.name, func(t *testing.T) {
 		t.Run(tc.name, func(t *testing.T) {
 			t.Cleanup(func() {
 			t.Cleanup(func() {
@@ -565,3 +566,32 @@ func orgsHasMember(t *testing.T, db *organizations) {
 	got, _ = db.HasMember(ctx, 1, 1)
 	got, _ = db.HasMember(ctx, 1, 1)
 	assert.True(t, got)
 	assert.True(t, got)
 }
 }
+
+func orgsListMembers(t *testing.T, db *organizations) {
+	ctx := context.Background()
+
+	usersStore := NewUsersStore(db.DB)
+	alice, err := usersStore.Create(ctx, "alice", "alice@example.com", CreateUserOptions{})
+	require.NoError(t, err)
+	bob, err := usersStore.Create(ctx, "bob", "bob@exmaple.com", CreateUserOptions{})
+	require.NoError(t, err)
+
+	tempPictureAvatarUploadPath := filepath.Join(os.TempDir(), "orgsListMembers-tempPictureAvatarUploadPath")
+	conf.SetMockPicture(t, conf.PictureOpts{AvatarUploadPath: tempPictureAvatarUploadPath})
+
+	org1, err := db.Create(ctx, "org1", alice.ID, CreateOrganizationOptions{})
+	require.NoError(t, err)
+	err = db.AddMember(ctx, org1.ID, bob.ID)
+	require.NoError(t, err)
+
+	got, err := db.ListMembers(ctx, org1.ID, ListOrgMembersOptions{Limit: 1})
+	require.NoError(t, err)
+	require.Len(t, got, 1)
+	assert.Equal(t, alice.ID, got[0].ID)
+
+	got, err = db.ListMembers(ctx, org1.ID, ListOrgMembersOptions{})
+	require.NoError(t, err)
+	require.Len(t, got, 2)
+	assert.Equal(t, alice.ID, got[0].ID)
+	assert.Equal(t, bob.ID, got[1].ID)
+}