Skip to content

Commit 383eb70

Browse files
authored
feat: otp resend validations and unit tests (#446)
* feat: added otp table and impl otp resend logic * feat: improved error handling * fix: signin form submit with validations * fix: issues from last otp request * fix: log the error when occurs during interaction * fix: use dynamic nonce and unit test setup and minor bugs * fix: set otp resends to 4 by default * feat: removed user api routes and csrf tokens * feat: for now keeping the otp resends to 4 * feat: unit test to validate otp login * feat: added unit tests to verify consent and tokens * feat: added validation on server side * feat: remove terraform lock file * feat: restore terraform lock file
1 parent b67925e commit 383eb70

36 files changed

+9977
-941
lines changed

.github/workflows/publish-otp-provider-image.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ jobs:
7979
node_env="${{ env.NODE_ENV }}"
8080
app_url="${{ env.APP_URL }}"
8181
hash_salt="${{ env.HASH_SALT }}"
82+
otp_validity_minutes="5"
83+
otp_attempts_allowed="5"
84+
otp_resends_allowed_per_day="4"
85+
otp_resend_interval_minutes="[1,2,5,60]"
8286
EOF
8387
8488
working-directory: ./docker/otp-provider/terraform

docker/otp-provider/jest.config.mjs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/** @type {import('jest').Config} */
2+
const config = {
3+
testEnvironment: 'node',
4+
testTimeout: 30_000,
5+
clearMocks: true,
6+
roots: ['<rootDir>/src'],
7+
8+
// ESM support:
9+
extensionsToTreatAsEsm: ['.ts'],
10+
moduleNameMapper: {
11+
'^(\\.{1,2}/.*)\\.ts$': '$1',
12+
},
13+
transform: {
14+
'^.+\\.m?[tj]sx?$': [
15+
'ts-jest',
16+
{
17+
useESM: true,
18+
},
19+
],
20+
},
21+
setupFiles: ['<rootDir>/src/jest.setup-env.ts'],
22+
setupFilesAfterEnv: ['<rootDir>/src/jest.setup.ts'],
23+
testSequencer: '<rootDir>/testSequencer.mjs',
24+
globalTeardown: '<rootDir>/src/jest.globalTeardown.ts',
25+
testMatch: ['<rootDir>/src/__tests__/**/*.test.ts'],
26+
};
27+
export default config;

0 commit comments

Comments
 (0)