@@ -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",
|
||||
},
|
||||
|
||||
@@ -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) {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -92,6 +92,18 @@ func (a Attrs) getBool(key string, defaultVal bool) bool {
|
||||
return defaultVal
|
||||
}
|
||||
|
||||
func (a Attrs) getSlice(key string, defaultVal []string) []string {
|
||||
if a == nil {
|
||||
return defaultVal
|
||||
}
|
||||
if v, ok := a[key]; ok {
|
||||
if slice, ok := v.([]string); ok {
|
||||
return slice
|
||||
}
|
||||
}
|
||||
return defaultVal
|
||||
}
|
||||
|
||||
func CreateVendor(c *testutil.Client, attrs ...Attrs) string {
|
||||
c.T.Helper()
|
||||
|
||||
@@ -375,10 +387,11 @@ func CreatePeople(c *testutil.Client, attrs ...Attrs) string {
|
||||
`
|
||||
|
||||
input := map[string]any{
|
||||
"organizationId": c.GetOrganizationID().String(),
|
||||
"fullName": a.getString("fullName", SafeName("Person")),
|
||||
"primaryEmailAddress": a.getString("primaryEmailAddress", SafeEmail()),
|
||||
"kind": a.getString("kind", "EMPLOYEE"),
|
||||
"organizationId": c.GetOrganizationID().String(),
|
||||
"fullName": a.getString("fullName", SafeName("Person")),
|
||||
"primaryEmailAddress": a.getString("primaryEmailAddress", SafeEmail()),
|
||||
"additionalEmailAddresses": a.getSlice("additionalEmailAddresses", []string{}),
|
||||
"kind": a.getString("kind", "EMPLOYEE"),
|
||||
}
|
||||
|
||||
var result struct {
|
||||
|
||||
Reference in New Issue
Block a user