Code Reference

Auth Guard Test

Jest · Example / how-to

Jest · Example / how-to


📋 Overview

Test a helper that decides whether a route is allowed given a user role.

🔧 Core concepts

InputOutput
No userdeny
user roleallow user routes
admin roleallow admin

💡 Examples

export function canAccess(user, route) {
  if (!user) return false;
  if (route.startsWith('/admin')) return user.role === 'admin';
  return true;
}

test('anonymous denied', () => {
  expect(canAccess(null, '/dashboard')).toBe(false);
});

test('user can open dashboard', () => {
  expect(canAccess({ role: 'user' }, '/dashboard')).toBe(true);
});

test('user blocked from admin', () => {
  expect(canAccess({ role: 'user' }, '/admin/users')).toBe(false);
});

test('admin allowed', () => {
  expect(canAccess({ role: 'admin' }, '/admin/users')).toBe(true);
});

⚠️ Pitfalls

  • Keep auth rules pure and unit-tested; E2E covers the UI wiring.

On this page