refactor(api): expose project identity DTOs

This commit is contained in:
2026-07-21 14:22:13 +08:00
parent 4bfeec8d2b
commit 5341b44cc5
6 changed files with 378 additions and 35 deletions

View File

@@ -1,6 +1,7 @@
package projects
import (
"errors"
"fmt"
"testing"
"time"
@@ -11,6 +12,23 @@ import (
"senlinai-agent/backend/internal/models"
)
func TestFindOwnedProjectScopesIdentityByOwner(t *testing.T) {
newTestDB(t)
service := NewService()
owned, err := service.CreateProject(1, "Alpha", "")
require.NoError(t, err)
other, err := service.CreateProject(2, "Beta", "")
require.NoError(t, err)
found, err := FindOwnedProject(1, owned.Identity)
require.NoError(t, err)
require.Equal(t, owned.ID, found.ID)
_, err = FindOwnedProject(1, other.Identity)
require.True(t, errors.Is(err, gorm.ErrRecordNotFound))
}
func TestProjectTagsAreScopedToProject(t *testing.T) {
newTestDB(t)
service := NewService()
@@ -34,7 +52,7 @@ func TestCreateProjectPersistsWorkspaceMetadata(t *testing.T) {
newTestDB(t)
service := NewService()
project, err := service.CreateProjectWithInput(1, CreateProjectInput{
project, err := service.CreateProjectWithInput(1, CreateProjectRequest{
Name: "探索项目",
Identifier: "EXP",
Icon: "compass",