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

43 lines (42 loc) 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); require("reflect-metadata"); const constants_1 = require("../constants"); const request_deduplication_decorator_1 = require("./request-deduplication.decorator"); describe('SkipDeduplicateRequest', () => { it('should set metadata with correct key and value', () => { let TestClass = class TestClass { }; TestClass = tslib_1.__decorate([ (0, request_deduplication_decorator_1.SkipDeduplicateRequest)() ], TestClass); const metadata = Reflect.getMetadata(constants_1.SKIP_DEDUPLICATE_REQUEST_KEY, TestClass); expect(metadata).toBe(true); }); it('should set metadata on method level', () => { class TestClass { testMethod() { } } tslib_1.__decorate([ (0, request_deduplication_decorator_1.SkipDeduplicateRequest)() ], TestClass.prototype, "testMethod", null); const instance = new TestClass(); const metadata = Reflect.getMetadata(constants_1.SKIP_DEDUPLICATE_REQUEST_KEY, instance.testMethod); expect(metadata).toBe(true); }); it('should not affect other methods or classes', () => { class TestClass { decoratedMethod() { } undecoratedMethod() { } } tslib_1.__decorate([ (0, request_deduplication_decorator_1.SkipDeduplicateRequest)() ], TestClass.prototype, "decoratedMethod", null); const instance = new TestClass(); const decoratedMetadata = Reflect.getMetadata(constants_1.SKIP_DEDUPLICATE_REQUEST_KEY, instance.decoratedMethod); const undecoratedMetadata = Reflect.getMetadata(constants_1.SKIP_DEDUPLICATE_REQUEST_KEY, instance.undecoratedMethod); expect(decoratedMetadata).toBe(true); expect(undecoratedMetadata).toBeUndefined(); }); });