81 lines
2.9 KiB
JavaScript
81 lines
2.9 KiB
JavaScript
const dotenv = require("dotenv");
|
|
const { generateAccesToken, generateRefreshToken, generatePermtoken, verifyToken} = require("./auth");
|
|
|
|
dotenv.config();
|
|
|
|
describe('Auth.js Tests', () => {
|
|
const user = { id: 1, name: 'Test User' };
|
|
|
|
test('generateAccesToken should return a valid JWT', () => {
|
|
const token = generateAccesToken(user);
|
|
const decoded = verifyToken(token);
|
|
expect(decoded.user).toEqual(user);
|
|
});
|
|
|
|
test('generateRefreshToken should return a valid JWT', () => {
|
|
const token = generateRefreshToken(user);
|
|
const decoded = verifyToken(token);
|
|
expect(decoded.user).toEqual(user);
|
|
});
|
|
|
|
test('generatePermtoken should return a valid JWT', () => {
|
|
const token = generatePermtoken(user);
|
|
const decoded = verifyToken(token);
|
|
expect(decoded.user).toEqual(user);
|
|
});
|
|
|
|
test('verifyToken should return user for a valid token', () => {
|
|
const token = generateAccesToken(user);
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(user);
|
|
});
|
|
|
|
test('verifyRefreshToken should return true for a valid token', () => {
|
|
const token = generateRefreshToken(user);
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(user);
|
|
});
|
|
|
|
test('verifyPermtoken should return true for a valid token', () => {
|
|
const token = generatePermtoken(user);
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(user);
|
|
});
|
|
|
|
|
|
test('verifyToken should return false for an expired token', () => {
|
|
const token = generateAccesToken(user, "1ms");
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(undefined);
|
|
});
|
|
|
|
test('verifyRefreshToken should return false for an expired token', () => {
|
|
const token = generateAccesToken(user, "1ms");
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(undefined);
|
|
});
|
|
|
|
test('verifyPermtoken should return false for an expired token', () => {
|
|
const token = generateAccesToken(user, "1ms");
|
|
const result = verifyToken(token);
|
|
expect(result.user).toEqual(undefined);
|
|
});
|
|
|
|
test('verifyToken should return false for a token with an invalid signature', () => {
|
|
const token = generateAccesToken(user);
|
|
const result = verifyToken(token + 'a');
|
|
expect(result).toBe(false);
|
|
});
|
|
|
|
test('verifyRefreshToken should return false for a token with an invalid signature', () => {
|
|
const token = generateRefreshToken(user);
|
|
const result = verifyToken(token + 'a');
|
|
expect(result).toBe(false);
|
|
});
|
|
|
|
test('verifyPermtoken should return false for a token with an invalid signature', () => {
|
|
const token = generatePermtoken(user);
|
|
const result = verifyToken(token + 'a');
|
|
expect(result).toBe(false);
|
|
});
|
|
}); |