Skip to content

Commit 90da9fb

Browse files
committed
Improve error handling and fix test
1 parent 0c004fd commit 90da9fb

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/user-store.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,12 @@ class UserStore {
204204

205205
deleteUser (user) {
206206
let userKey = UserStore.normalizeIdKey(user.id)
207-
var deletedEmail = Promise.reject(new Error('No email given'))
207+
var deletedEmail
208208
if (user.email) {
209209
let emailKey = UserStore.normalizeEmailKey(user.email)
210210
deletedEmail = this.backend.del('users-by-email', emailKey)
211+
} else {
212+
deletedEmail = Promise.reject(new Error('No email given'))
211213
}
212214
let deletedUser = this.backend.del('users', userKey)
213215
return Promise.all([deletedEmail, deletedUser])

test/unit/user-store-test.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,15 @@ describe('UserStore', () => {
220220
store = UserStore.from({ path: './db' })
221221
})
222222

223-
it('should call backend.del with normalized user id', () => {
223+
it('should call backend.del with normalized user id and email', () => {
224224
let userId = 'alice.solidtest.space/profile/card#me'
225+
let email = '[email protected]'
225226

226227
store.backend.del = sinon.stub()
227228

228-
store.deleteUser({ id: userId })
229+
store.deleteUser({ id: userId, email: email })
229230
expect(store.backend.del).to.have.been.calledWith('users', UserStore.normalizeIdKey(userId))
231+
expect(store.backend.del).to.have.been.calledWith('users-by-email', UserStore.normalizeEmailKey(email))
230232
})
231233
})
232234
})

0 commit comments

Comments
 (0)