Skip to content

Fresh Permit Per Test

ts
import { beforeEach, describe, expect, it } from 'vitest';
import { createPermit } from '@vielzeug/permit';

function createTestPermit() {
  return createPermit([{ role: 'viewer', resource: 'posts', action: 'read', effect: 'allow' }]);
}

describe('post permissions', () => {
  let permit = createTestPermit();

  beforeEach(() => {
    permit = createTestPermit();
  });

  it('allows viewers to read posts', () => {
    expect(permit.can({ id: 'u1', roles: ['viewer'] }, 'posts', 'read')).toBe(true);
  });
});