UNPKG

nestjs-request-deduplication

Version:

[![npm version](https://badge.fury.io/js/nestjs-request-deduplication.svg)](https://www.npmjs.com/package/nestjs-request-deduplication) [![CI](https://github.com/daniyel/nestjs-request-deduplication/actions/workflows/pr-checks.yml/badge.svg)](https://gith

41 lines (40 loc) 1.66 kB
import { __decorate } from "tslib"; import 'reflect-metadata'; import { SKIP_DEDUPLICATE_REQUEST_KEY } from '../constants'; import { SkipDeduplicateRequest } from './request-deduplication.decorator'; describe('SkipDeduplicateRequest', () => { it('should set metadata with correct key and value', () => { let TestClass = class TestClass { }; TestClass = __decorate([ SkipDeduplicateRequest() ], TestClass); const metadata = Reflect.getMetadata(SKIP_DEDUPLICATE_REQUEST_KEY, TestClass); expect(metadata).toBe(true); }); it('should set metadata on method level', () => { class TestClass { testMethod() { } } __decorate([ SkipDeduplicateRequest() ], TestClass.prototype, "testMethod", null); const instance = new TestClass(); const metadata = Reflect.getMetadata(SKIP_DEDUPLICATE_REQUEST_KEY, instance.testMethod); expect(metadata).toBe(true); }); it('should not affect other methods or classes', () => { class TestClass { decoratedMethod() { } undecoratedMethod() { } } __decorate([ SkipDeduplicateRequest() ], TestClass.prototype, "decoratedMethod", null); const instance = new TestClass(); const decoratedMetadata = Reflect.getMetadata(SKIP_DEDUPLICATE_REQUEST_KEY, instance.decoratedMethod); const undecoratedMetadata = Reflect.getMetadata(SKIP_DEDUPLICATE_REQUEST_KEY, instance.undecoratedMethod); expect(decoratedMetadata).toBe(true); expect(undecoratedMetadata).toBeUndefined(); }); });