refac: hardening pass with multiple overhauls
This commit is contained in:
1 parent
b0f7b7892b
commit
da36c78bc0
28 files changed
+1375
-39
No files matched your search
@@ -31,6 +31,7 @@ type inviteFakeRepo struct {
|
||||
invites map[uint32]invite.Invite
|
||||
nextID uint32
|
||||
fail failSwitch
|
||||
users *mockUserRepo
|
||||
}
|
||||
|
||||
func newInviteFakeRepo() *inviteFakeRepo {
|
||||
@@ -75,17 +76,21 @@ func (m *inviteFakeRepo) Delete(id uint32) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *inviteFakeRepo) MarkAccepted(id uint32, at time.Time) error {
|
||||
func (m *inviteFakeRepo) AcceptWithUser(id uint32, at time.Time, newUser user.User) (user.User, error) {
|
||||
if err := m.fail.trigger("MarkAccepted"); err != nil {
|
||||
return err
|
||||
return user.User{}, err
|
||||
}
|
||||
stored, ok := m.invites[id]
|
||||
if !ok {
|
||||
return invite.ErrInviteNotFound
|
||||
if !ok || stored.AcceptedAt != nil {
|
||||
return user.User{}, invite.ErrInviteNotFound
|
||||
}
|
||||
created, err := m.users.Create(newUser)
|
||||
if err != nil {
|
||||
return user.User{}, err
|
||||
}
|
||||
stored.AcceptedAt = &at
|
||||
m.invites[id] = stored
|
||||
return nil
|
||||
return created, nil
|
||||
}
|
||||
|
||||
var _ invite.Repository = &inviteFakeRepo{}
|
||||
|
||||
Reference in new issue
Block a user