From b9cff5775c3acd1081be730cdf21e2f1b8c7e7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 23 Jul 2020 21:42:23 -0400 Subject: [PATCH] fix: edge case in test if user is created the other one will be renamed --- test/user.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/test/user.js b/test/user.js index 3029cf6e5b..29c44cd806 100644 --- a/test/user.js +++ b/test/user.js @@ -101,7 +101,7 @@ describe('User', function () { }); }); - it('should error if username is already taken', async function () { + it('should error if username is already taken or rename user', async function () { let err; async function tryCreate(data) { try { @@ -111,11 +111,19 @@ describe('User', function () { } } - await Promise.all([ + const [uid1, uid2] = await Promise.all([ tryCreate({ username: 'dupe1' }), tryCreate({ username: 'dupe1' }), ]); - assert.strictEqual(err.message, '[[error:username-taken]]'); + if (err) { + assert.strictEqual(err.message, '[[error:username-taken]]'); + } else { + const userData = await User.getUsersFields([uid1, uid2], ['username']); + const userNames = userData.map(u => u.username); + // make sure only 1 dupe1 is created + assert.equal(userNames.filter(username => username === 'dupe1').length, 1); + assert.equal(userNames.filter(username => username === 'dupe1 0').length, 1); + } }); it('should error if email is already taken', async function () {