Refresh role members store tests
This commit is contained in:
@@ -13,22 +13,86 @@ import (
|
||||
func testRoleMembers(t *testing.T, s store.RoleMembers) {
|
||||
var (
|
||||
ctx = context.Background()
|
||||
req = require.New(t)
|
||||
|
||||
role *types.RoleMember
|
||||
makeNew = func(nn ...string) *types.RoleMember {
|
||||
// minimum data set for new RoleMember
|
||||
return &types.RoleMember{
|
||||
RoleID: id.Next(),
|
||||
UserID: id.Next(),
|
||||
}
|
||||
}
|
||||
|
||||
truncAndCreate = func(t *testing.T) (*require.Assertions, *types.RoleMember) {
|
||||
req := require.New(t)
|
||||
req.NoError(s.TruncateRoleMembers(ctx))
|
||||
roleMember := makeNew()
|
||||
req.NoError(s.CreateRoleMember(ctx, roleMember))
|
||||
return req, roleMember
|
||||
}
|
||||
|
||||
truncAndFill = func(t *testing.T, l int) (*require.Assertions, types.RoleMemberSet) {
|
||||
req := require.New(t)
|
||||
req.NoError(s.TruncateRoleMembers(ctx))
|
||||
|
||||
set := make([]*types.RoleMember, l)
|
||||
|
||||
for i := 0; i < l; i++ {
|
||||
set[i] = makeNew()
|
||||
}
|
||||
|
||||
req.NoError(s.CreateRoleMember(ctx, set...))
|
||||
return req, set
|
||||
}
|
||||
)
|
||||
|
||||
t.Run("create", func(t *testing.T) {
|
||||
role = &types.RoleMember{
|
||||
RoleID: id.Next(),
|
||||
UserID: id.Next(),
|
||||
}
|
||||
req.NoError(s.CreateRoleMember(ctx, role))
|
||||
req := require.New(t)
|
||||
req.NoError(s.CreateRoleMember(ctx, makeNew()))
|
||||
})
|
||||
|
||||
t.Run("search", func(t *testing.T) {
|
||||
_, _, err := s.SearchRoleMembers(ctx, types.RoleMemberFilter{})
|
||||
req.NoError(err)
|
||||
t.Run("create multiple", func(t *testing.T) {
|
||||
truncAndFill(t, 5)
|
||||
})
|
||||
|
||||
t.Run("delete", func(t *testing.T) {
|
||||
t.Run("by role member", func(t *testing.T) {
|
||||
req, roleMember := truncAndCreate(t)
|
||||
req.NoError(s.DeleteRoleMember(ctx, roleMember))
|
||||
roleMembers, _, _ := s.SearchRoleMembers(ctx, types.RoleMemberFilter{UserID: roleMember.UserID, RoleID: roleMember.RoleID})
|
||||
req.Len(roleMembers, 0)
|
||||
})
|
||||
|
||||
t.Run("by RoleID and UserID", func(t *testing.T) {
|
||||
req, roleMember := truncAndCreate(t)
|
||||
req.NoError(s.DeleteRoleMemberByUserIDRoleID(ctx, roleMember.UserID, roleMember.RoleID))
|
||||
roleMembers, _, _ := s.SearchRoleMembers(ctx, types.RoleMemberFilter{UserID: roleMember.UserID, RoleID: roleMember.RoleID})
|
||||
req.Len(roleMembers, 0)
|
||||
})
|
||||
})
|
||||
|
||||
// t.Run("update", func(t *testing.T) {
|
||||
// req, roleMember := truncAndCreate(t)
|
||||
|
||||
// newID := id.Next()
|
||||
// roleMember = &types.RoleMember{
|
||||
// UserID: roleMember.UserID,
|
||||
// RoleID: newID,
|
||||
// }
|
||||
// req.NoError(s.UpdateRoleMember(ctx, roleMember))
|
||||
|
||||
// updated, f, err := s.SearchRoleMembers(ctx, types.RoleMemberFilter{UserID: roleMember.UserID})
|
||||
// req.NoError(err)
|
||||
// req.Equal(updated[0].UserID, f.UserID)
|
||||
// })
|
||||
|
||||
// t.Run("search", func(t *testing.T) {
|
||||
// t.Run("by RoleID", func(t *testing.T) {
|
||||
// req, prefill := truncAndFill(t, 5)
|
||||
|
||||
// set, f, err := s.SearchRoleMembers(ctx, types.RoleMemberFilter{RoleID: prefill[0].RoleID})
|
||||
// req.NoError(err)
|
||||
// req.Equal(prefill[0].RoleID, f.RoleID)
|
||||
// req.Len(set, 1)
|
||||
// })
|
||||
// })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user