Skip to content

Commit

Permalink
fix(schemas): fix ut
Browse files Browse the repository at this point in the history
fix ut
  • Loading branch information
simeng-li committed Apr 12, 2024
1 parent c56a80d commit 112de34
Showing 1 changed file with 30 additions and 10 deletions.
40 changes: 30 additions & 10 deletions packages/schemas/src/types/logto-config/jwt-customizer.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import { pick } from '@silverhand/essentials';
import { describe, it, expect } from 'vitest';
import { describe, expect, it } from 'vitest';

import {
accessTokenJwtCustomizerGuard,
clientCredentialsJwtCustomizerGuard,
} from './jwt-customizer.js';

const allFields = ['script', 'environmentVariables', 'contextSample', 'tokenSample'] as const;
const requiredFields = ['script'] as const;
const optionalFields = ['environmentVariables', 'contextSample', 'tokenSample'] as const;

const testClientCredentialsTokenPayload = {
script: '',
Expand Down Expand Up @@ -39,25 +41,43 @@ const testAccessTokenPayload = {
};

describe('test token sample guard', () => {
it.each(allFields)('should pass guard with any of the field not specified', (droppedField) => {
it.each(optionalFields)(
'should pass guard with any of the optionalFields not specified',
(droppedField) => {
const resultAccessToken = accessTokenJwtCustomizerGuard.safeParse(
pick(testAccessTokenPayload, ...allFields.filter((field) => field !== droppedField))
);
if (!resultAccessToken.success) {
console.log('resultAccessToken.error', resultAccessToken.error);
}
expect(resultAccessToken.success).toBe(true);

const resultClientCredentials = clientCredentialsJwtCustomizerGuard.safeParse(
pick(
testClientCredentialsTokenPayload,
...allFields.filter((field) => field !== droppedField)
)
);
if (!resultClientCredentials.success) {
console.log('resultClientCredentials.error', resultClientCredentials.error);
}
expect(resultClientCredentials.success).toBe(true);
}
);

it.each(requiredFields)('should throw when required field is not specified', (droppedField) => {
const resultAccessToken = accessTokenJwtCustomizerGuard.safeParse(
pick(testAccessTokenPayload, ...allFields.filter((field) => field !== droppedField))
);
if (!resultAccessToken.success) {
console.log('resultAccessToken.error', resultAccessToken.error);
}
expect(resultAccessToken.success).toBe(true);
expect(resultAccessToken.success).toBe(false);

const resultClientCredentials = clientCredentialsJwtCustomizerGuard.safeParse(
pick(
testClientCredentialsTokenPayload,
...allFields.filter((field) => field !== droppedField)
)
);
if (!resultClientCredentials.success) {
console.log('resultClientCredentials.error', resultClientCredentials.error);
}
expect(resultClientCredentials.success).toBe(true);
expect(resultClientCredentials.success).toBe(false);
});

it.each(allFields)(
Expand Down

0 comments on commit 112de34

Please sign in to comment.