Fix people in mcp

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2026-01-02 10:20:13 +01:00
parent 6ab5ace353
commit aba51629c0
12 changed files with 69 additions and 36 deletions

View File

@@ -58,11 +58,12 @@ func TestPeople_Create(t *testing.T) {
err := owner.Execute(query, map[string]any{
"input": map[string]any{
"organizationId": owner.GetOrganizationID().String(),
"fullName": "John Doe",
"primaryEmailAddress": "john.doe@example.com",
"kind": "EMPLOYEE",
"position": "Software Engineer",
"organizationId": owner.GetOrganizationID().String(),
"fullName": "John Doe",
"primaryEmailAddress": "john.doe@example.com",
"additionalEmailAddresses": []string{},
"kind": "EMPLOYEE",
"position": "Software Engineer",
},
}, &result)
require.NoError(t, err)
@@ -253,9 +254,10 @@ func TestPeople_RequiredFields(t *testing.T) {
{
name: "missing organizationId",
input: map[string]any{
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"kind": "EMPLOYEE",
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"additionalEmailAddresses": []string{},
"kind": "EMPLOYEE",
},
skipOrganization: true,
wantErrorContains: "organizationId",
@@ -263,42 +265,47 @@ func TestPeople_RequiredFields(t *testing.T) {
{
name: "missing fullName",
input: map[string]any{
"primaryEmailAddress": "test@example.com",
"kind": "EMPLOYEE",
"primaryEmailAddress": "test@example.com",
"additionalEmailAddresses": []string{},
"kind": "EMPLOYEE",
},
wantErrorContains: "fullName",
},
{
name: "missing primaryEmailAddress",
input: map[string]any{
"fullName": "Test Person",
"kind": "EMPLOYEE",
"fullName": "Test Person",
"additionalEmailAddresses": []string{},
"kind": "EMPLOYEE",
},
wantErrorContains: "primaryEmailAddress",
},
{
name: "missing kind",
input: map[string]any{
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"additionalEmailAddresses": []string{},
},
wantErrorContains: "kind",
},
{
name: "empty fullName",
input: map[string]any{
"fullName": "",
"primaryEmailAddress": "test@example.com",
"kind": "EMPLOYEE",
"fullName": "",
"primaryEmailAddress": "test@example.com",
"additionalEmailAddresses": []string{},
"kind": "EMPLOYEE",
},
wantErrorContains: "full_name",
},
{
name: "invalid kind enum",
input: map[string]any{
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"kind": "INVALID_KIND",
"fullName": "Test Person",
"primaryEmailAddress": "test@example.com",
"additionalEmailAddresses": []string{},
"kind": "INVALID_KIND",
},
wantErrorContains: "kind",
},

View File

@@ -908,7 +908,7 @@ func TestRBAC(t *testing.T) {
client: owner,
query: createPeopleMutation,
variables: func() map[string]any {
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "kind": "EMPLOYEE"}}
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "additionalEmailAddresses": []string{}, "kind": "EMPLOYEE"}}
},
shouldAllow: true,
},
@@ -918,7 +918,7 @@ func TestRBAC(t *testing.T) {
client: admin,
query: createPeopleMutation,
variables: func() map[string]any {
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "kind": "EMPLOYEE"}}
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "additionalEmailAddresses": []string{}, "kind": "EMPLOYEE"}}
},
shouldAllow: true,
},
@@ -928,7 +928,7 @@ func TestRBAC(t *testing.T) {
client: viewer,
query: createPeopleMutation,
variables: func() map[string]any {
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "kind": "EMPLOYEE"}}
return map[string]any{"input": map[string]any{"organizationId": owner.GetOrganizationID().String(), "fullName": factory.SafeName("Person"), "primaryEmailAddress": factory.SafeEmail(), "additionalEmailAddresses": []string{}, "kind": "EMPLOYEE"}}
},
shouldAllow: false,
},
@@ -1259,4 +1259,3 @@ func TestRBAC(t *testing.T) {
)
}
}