From 471d8273c1e99a4d8f8d78dc888cc366ab21280e Mon Sep 17 00:00:00 2001 From: Cindy Chang Date: Tue, 13 Aug 2024 13:24:05 +0800 Subject: [PATCH] sonnar 8 left. random number fixed --- cypress/e2e/accountAdmin/confirmPasswordMessage.cy.js | 3 ++- cypress/e2e/accountAdmin/createAccont.cy.js | 4 +++- cypress/e2e/accountAdmin/editAccount.cy.js | 4 +++- src/utils/jsUtils.js | 8 +++++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cypress/e2e/accountAdmin/confirmPasswordMessage.cy.js b/cypress/e2e/accountAdmin/confirmPasswordMessage.cy.js index 23de82e..fdef367 100644 --- a/cypress/e2e/accountAdmin/confirmPasswordMessage.cy.js +++ b/cypress/e2e/accountAdmin/confirmPasswordMessage.cy.js @@ -1,3 +1,4 @@ +import { getRandomInt } from '../../../src/utils/jsUtils'; const MSG_PWD_NOT_MATCHED = 'Confirm Password does not match.'; describe('Confirm that two input passwords are equal.', ()=>{ @@ -17,7 +18,7 @@ describe('Confirm that two input passwords are equal.', ()=>{ cy.contains('button', 'Create New').should('be.visible'); cy.contains('button', 'Create New').click(); - const randomNumber = Math.floor(Math.random() * 1001); + const randomNumber = getRandomInt(1000); // 將整數轉換為四位數字串,並補零 const fourDigitString = randomNumber.toString().padStart(4, '0'); diff --git a/cypress/e2e/accountAdmin/createAccont.cy.js b/cypress/e2e/accountAdmin/createAccont.cy.js index e1e904e..de53104 100644 --- a/cypress/e2e/accountAdmin/createAccont.cy.js +++ b/cypress/e2e/accountAdmin/createAccont.cy.js @@ -1,3 +1,5 @@ +import { getRandomInt } from '../../../src/utils/jsUtils'; + describe('Create an Account', ()=>{ beforeEach(() => { cy.visit('https://REDACTED-HOST/account-admin'); @@ -15,7 +17,7 @@ describe('Create an Account', ()=>{ cy.contains('button', 'Create New').should('be.visible'); cy.contains('button', 'Create New').click(); - const randomNumber = Math.floor(Math.random() * 1001); + const randomNumber = getRandomInt(1000); // 將整數轉換為四位數字串,並補零 const fourDigitString = randomNumber.toString().padStart(4, '0'); diff --git a/cypress/e2e/accountAdmin/editAccount.cy.js b/cypress/e2e/accountAdmin/editAccount.cy.js index c6c9a2e..273ab22 100644 --- a/cypress/e2e/accountAdmin/editAccount.cy.js +++ b/cypress/e2e/accountAdmin/editAccount.cy.js @@ -1,3 +1,5 @@ +import { getRandomInt } from '../../../src/utils/jsUtils'; + const TEST_ACCOUNT = '000000'; const MODAL_TITLE_ACCOUNT_EDIT = 'Account Edit'; const MSG_ACCOUNT_EDITED = 'Saved'; @@ -41,7 +43,7 @@ describe('Edit an account', ()=>{ .click(); // 點擊該按鈕 cy.contains('h1', MODAL_TITLE_ACCOUNT_EDIT).should('be.exist'); - const randomNumber = Math.floor(Math.random() * 1001); + const randomNumber = getRandomInt(1000); // 將整數轉換為四位數字串,並補零 const fourDigitString = randomNumber.toString().padStart(4, '0'); cy.get('#input_name_field').clear().type( TEST_ACCOUNT + '-' + fourDigitString); diff --git a/src/utils/jsUtils.js b/src/utils/jsUtils.js index 4a59618..2194c3e 100644 --- a/src/utils/jsUtils.js +++ b/src/utils/jsUtils.js @@ -12,4 +12,10 @@ export const printObject = (obj, indent = 0) => { } } } - } \ No newline at end of file + }; + +export const getRandomInt = (max) => { + const array = new Uint32Array(1); + window.crypto.getRandomValues(array); + return Math.floor(array[0] / (0xFFFFFFFF + 1) * (max + 1)); +}; \ No newline at end of file