nestjs-request-deduplication
Version:
[](https://www.npmjs.com/package/nestjs-request-deduplication) [](https://gith
43 lines (42 loc) • 1.92 kB
JavaScript
;
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();
});
});