From ca72aa93d7e798254b4e8e69e418c2fe721b4ef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 7 Jun 2021 10:26:00 -0400 Subject: [PATCH] Locks bug failing test (#9595) * test: failing test for issue * fix: #9593, don't lock if email is identical to username * fix: lock calls after first call * fix: add back email check * test: remove invalid test Co-authored-by: Julian Lam --- src/user/create.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/user/create.js b/src/user/create.js index c94003af0c..c4ba0ae51b 100644 --- a/src/user/create.js +++ b/src/user/create.js @@ -19,14 +19,14 @@ module.exports = function (User) { data.email = String(data.email).trim(); } - try { - await lock(data.username, '[[error:username-taken]]'); - if (data.email) { - await lock(data.email, '[[error:email-taken]]'); - } + await User.isDataValid(data); - await User.isDataValid(data); + await lock(data.username, '[[error:username-taken]]'); + if (data.email && data.email !== data.username) { + await lock(data.email, '[[error:email-taken]]'); + } + try { return await create(data); } finally { await db.deleteObjectFields('locks', [data.username, data.email]);