Files
2024-01-23 22:28:46 +01:00

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);
});
});