Skip to content

Commit de8f182

Browse files
committed
update tests for GetFrobulators
1 parent 6c795c0 commit de8f182

File tree

1 file changed

+36
-39
lines changed

1 file changed

+36
-39
lines changed

coderd/frobulators_test.go

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -119,37 +119,37 @@ func TestFrobulators(t *testing.T) {
119119
t.Parallel()
120120

121121
tests := []struct {
122-
name string
123-
member codersdk.User
124-
memberOrg database.Organization
125-
adminOrg database.Organization
126-
role rbac.RoleIdentifier
127-
expectedFrob uuid.UUID
128-
expectedErr string
122+
name string
123+
member codersdk.User
124+
memberOrg database.Organization
125+
adminOrg database.Organization
126+
role rbac.RoleIdentifier
127+
expectedFrobIDs []uuid.UUID
128+
expectedErr string
129129
}{
130130
{
131-
name: "owner, same org",
132-
member: member1,
133-
memberOrg: org1,
134-
adminOrg: org1,
135-
role: rbac.RoleOwner(),
136-
expectedFrob: frobulatorID,
131+
name: "owner, same org",
132+
member: member1,
133+
memberOrg: org1,
134+
adminOrg: org1,
135+
role: rbac.RoleOwner(),
136+
expectedFrobIDs: []uuid.UUID{frobulatorID},
137137
},
138138
{
139-
name: "owner, different org",
140-
member: member2,
141-
memberOrg: org2,
142-
adminOrg: org1,
143-
role: rbac.RoleOwner(),
144-
expectedFrob: frobulator2ID,
139+
name: "owner, different org",
140+
member: member2,
141+
memberOrg: org2,
142+
adminOrg: org1,
143+
role: rbac.RoleOwner(),
144+
expectedFrobIDs: []uuid.UUID{frobulator2ID},
145145
},
146146
{
147-
name: "org admin, same org",
148-
member: member2,
149-
memberOrg: org2,
150-
adminOrg: org2,
151-
role: rbac.ScopedRoleOrgAdmin(org2.ID),
152-
expectedFrob: frobulator2ID,
147+
name: "org admin, same org",
148+
member: member2,
149+
memberOrg: org2,
150+
adminOrg: org2,
151+
role: rbac.ScopedRoleOrgAdmin(org2.ID),
152+
expectedFrobIDs: []uuid.UUID{frobulator2ID},
153153
},
154154
{
155155
// Org admins do not have permission outside of their own org.
@@ -162,12 +162,13 @@ func TestFrobulators(t *testing.T) {
162162
},
163163
{
164164
// User admins do not have permissions even inside their own org.
165-
name: "user admin, same org",
166-
member: member2,
167-
memberOrg: org2,
168-
adminOrg: org2,
169-
role: rbac.ScopedRoleOrgUserAdmin(org2.ID),
170-
expectedErr: "500: An internal server error occurred",
165+
// They will simply not see any frobulators to which they do not have access.
166+
name: "user admin, same org",
167+
member: member2,
168+
memberOrg: org2,
169+
adminOrg: org2,
170+
role: rbac.ScopedRoleOrgUserAdmin(org2.ID),
171+
expectedFrobIDs: []uuid.UUID{},
171172
},
172173
}
173174

@@ -187,17 +188,13 @@ func TestFrobulators(t *testing.T) {
187188
return
188189
}
189190

190-
// Then: the expected frobulator should be returned
191+
// Otherwise: the expected frobulator(s) should be returned
191192
require.NoError(t, err)
192-
require.Len(t, frobs, 1)
193-
194-
var found bool
193+
actualFrobIDs := make([]uuid.UUID, 0, len(frobs))
195194
for _, f := range frobs {
196-
if f.ID == tc.expectedFrob {
197-
found = true
198-
}
195+
actualFrobIDs = append(actualFrobIDs, f.ID)
199196
}
200-
require.True(t, found, "reference frobulator not found")
197+
require.ElementsMatch(t, tc.expectedFrobIDs, actualFrobIDs, "expected frobulator IDs not found")
201198
})
202199
}
203200
})

0 commit comments

Comments
 (0)