Fix last owner demotion regression

Use the Connect schema's profile connection in the e2e regression so the test can find the sole owner's membership. Adjust whitespace around the resolver error path to satisfy Go lint.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
Cursor Agent
2026-05-28 22:40:01 +00:00
committed by Bryan Frimin
parent e9bcdc85f4
commit 93ec0d73da
2 changed files with 20 additions and 19 deletions

View File

@@ -119,16 +119,17 @@ func TestUser_UpdateMembershipRejectsLastOwnerDemotion(t *testing.T) {
t.Parallel()
owner := testutil.NewClient(t, testutil.RoleOwner)
queryMembers := `
queryProfiles := `
query($id: ID!) {
node(id: $id) {
... on Organization {
members(first: 10) {
profiles(first: 10) {
edges {
node {
id
identity { id }
role
membership {
id
role
}
}
}
}
@@ -137,32 +138,31 @@ func TestUser_UpdateMembershipRejectsLastOwnerDemotion(t *testing.T) {
}
`
var membersResult struct {
var profilesResult struct {
Node struct {
Members struct {
Profiles struct {
Edges []struct {
Node struct {
ID string `json:"id"`
Identity struct {
ID string `json:"id"`
} `json:"identity"`
Role string `json:"role"`
Membership struct {
ID string `json:"id"`
Role string `json:"role"`
} `json:"membership"`
} `json:"node"`
} `json:"edges"`
} `json:"members"`
} `json:"profiles"`
} `json:"node"`
}
err := owner.ExecuteConnect(queryMembers, map[string]any{
err := owner.ExecuteConnect(queryProfiles, map[string]any{
"id": owner.GetOrganizationID().String(),
}, &membersResult)
}, &profilesResult)
require.NoError(t, err)
var ownerMembershipID string
for _, edge := range membersResult.Node.Members.Edges {
if edge.Node.Identity.ID == owner.GetUserID().String() {
ownerMembershipID = edge.Node.ID
assert.Equal(t, "OWNER", edge.Node.Role)
for _, edge := range profilesResult.Node.Profiles.Edges {
if edge.Node.Membership.Role == "OWNER" {
ownerMembershipID = edge.Node.Membership.ID
break
}
}

View File

@@ -68,6 +68,7 @@ func (r *mutationResolver) UpdateMembership(ctx context.Context, input types.Upd
}
r.logger.ErrorCtx(ctx, "cannot update membership", log.Error(err))
return nil, gqlutils.Internal(ctx)
}