From dde3dde298efc5311fb967e0e728bd3c4b78da6c Mon Sep 17 00:00:00 2001 From: Aetherinox Date: Sun, 21 Apr 2024 10:36:14 -0700 Subject: [PATCH] tests: add passphrase tests --- .../src/util/generators/password-generator.js | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/test/src/util/generators/password-generator.js b/test/src/util/generators/password-generator.js index c30131a2..9daec335 100644 --- a/test/src/util/generators/password-generator.js +++ b/test/src/util/generators/password-generator.js @@ -79,4 +79,54 @@ describe('PasswordGenerator', () => { expect(password).to.match(/[O0oIl]/); } }); + + it('should generate passphrase with 8 words', () => { + expect( + PasswordGenerator.generate({ + length: 8, + name: 'Passphrase', + spaces: true, + upper: true + }) + ).to.match(/^\w+(?: \w+){7,}$/); + }); + + it('should generate passphrase with 6 words ending in number', () => { + expect( + PasswordGenerator.generate({ + length: 6, + name: 'Passphrase', + digits: true, + spaces: true, + upper: true + }) + ).to.match(/^\w+(?:[0-9] \w+){5,}$/); + }); + + it('should generate passphrase with 7 words seperated by hyphens', () => { + expect( + PasswordGenerator.generate({ + length: 6, + name: 'Passphrase', + digits: false, + spaces: false, + high: true, + upper: true + }) + ).to.match(/^\w+(?:[\-]\w+){5,}$/); + }); + + it('should generate passphrase with 10 words seperated by hyphens, spaces with number at end', () => { + expect( + PasswordGenerator.generate({ + length: 10, + name: 'Passphrase', + digits: true, + spaces: true, + high: true, + upper: true + }) + ).to.match(/^\w+(?: [\-] \w+[0-9]+){9,}$/); + }); + });