add tests
This commit is contained in:
40
apps/api/src/domain/auth/Public.test.ts
Normal file
40
apps/api/src/domain/auth/Public.test.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { SetMetadata } from '@nestjs/common';
|
||||
import { Public, PUBLIC_ROUTE_METADATA_KEY } from './Public';
|
||||
|
||||
// Mock SetMetadata
|
||||
vi.mock('@nestjs/common', () => ({
|
||||
SetMetadata: vi.fn(() => () => {}),
|
||||
}));
|
||||
|
||||
describe('Public', () => {
|
||||
it('should return a method decorator', () => {
|
||||
const decorator = Public();
|
||||
expect(typeof decorator).toBe('function');
|
||||
});
|
||||
|
||||
it('should call SetMetadata with correct key and value', () => {
|
||||
Public();
|
||||
|
||||
expect(SetMetadata).toHaveBeenCalledWith(PUBLIC_ROUTE_METADATA_KEY, {
|
||||
public: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('should return a decorator that can be used as both method and class decorator', () => {
|
||||
const decorator = Public();
|
||||
|
||||
// Test as method decorator
|
||||
const mockTarget = {};
|
||||
const mockPropertyKey = 'testMethod';
|
||||
const mockDescriptor = { value: () => {} };
|
||||
|
||||
const result = decorator(mockTarget, mockPropertyKey, mockDescriptor);
|
||||
|
||||
// The decorator should return the descriptor
|
||||
expect(result).toBe(mockDescriptor);
|
||||
});
|
||||
|
||||
it('should have correct metadata key', () => {
|
||||
expect(PUBLIC_ROUTE_METADATA_KEY).toBe('gridpilot:publicRoute');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user