Socket
Socket
Sign inDemoInstall

@nestjs/testing

Package Overview
Dependencies
Maintainers
1
Versions
328
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nestjs/testing - npm Package Compare versions

Comparing version 9.4.3 to 10.0.0

4

interfaces/mock-factory.d.ts

@@ -1,2 +0,2 @@

import { InstanceToken } from '@nestjs/core/injector/module';
export type MockFactory = (token?: InstanceToken) => any;
import { InjectionToken } from '@nestjs/common';
export type MockFactory = (token?: InjectionToken) => any;
{
"name": "@nestjs/testing",
"version": "9.4.3",
"version": "10.0.0",
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",

@@ -24,6 +24,6 @@ "author": "Kamil Mysliwiec",

"peerDependencies": {
"@nestjs/common": "^9.0.0",
"@nestjs/core": "^9.0.0",
"@nestjs/microservices": "^9.0.0",
"@nestjs/platform-express": "^9.0.0"
"@nestjs/common": "^10.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/microservices": "^10.0.0",
"@nestjs/platform-express": "^10.0.0"
},

@@ -30,0 +30,0 @@ "peerDependenciesMeta": {

@@ -11,3 +11,3 @@ "use strict";

}
exports.Test = Test;
Test.metadataScanner = new metadata_scanner_1.MetadataScanner();
exports.Test = Test;
import { LoggerService, ModuleMetadata } from '@nestjs/common';
import { NestApplicationContextOptions } from '@nestjs/common/interfaces/nest-application-context-options.interface';
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
import { ModuleDefinition } from '../core/interfaces/module-definition.interface';
import { MockFactory, OverrideBy } from './interfaces';
import { OverrideModule } from './interfaces/override-module.interface';
import { TestingModule } from './testing-module';

@@ -14,2 +16,3 @@ /**

private readonly overloadsMap;
private readonly moduleOverloadsMap;
private readonly module;

@@ -26,2 +29,3 @@ private testingLogger;

overrideProvider<T = any>(typeOrToken: T): OverrideBy;
overrideModule(moduleToOverride: ModuleDefinition): OverrideModule;
compile(options?: Pick<NestApplicationContextOptions, 'snapshot' | 'preview'>): Promise<TestingModule>;

@@ -31,2 +35,3 @@ private override;

private applyOverloadsMap;
private getModuleOverloads;
private getRootModule;

@@ -33,0 +38,0 @@ private createInstancesOfDependencies;

@@ -24,2 +24,3 @@ "use strict";

this.overloadsMap = new Map();
this.moduleOverloadsMap = new Map();
this.module = this.createModule(metadata);

@@ -50,6 +51,14 @@ }

}
overrideModule(moduleToOverride) {
return {
useModule: newModule => {
this.moduleOverloadsMap.set(moduleToOverride, newModule);
return this;
},
};
}
async compile(options = {}) {
this.applyLogger();
let graphInspector;
if (options === null || options === void 0 ? void 0 : options.snapshot) {
if (options?.snapshot) {
graphInspector = new graph_inspector_1.GraphInspector(this.container);

@@ -63,3 +72,5 @@ uuid_factory_1.UuidFactory.mode = uuid_factory_1.UuidFactoryMode.Deterministic;

const scanner = new scanner_1.DependenciesScanner(this.container, this.metadataScanner, graphInspector, this.applicationConfig);
await scanner.scan(this.module);
await scanner.scan(this.module, {
overrides: this.getModuleOverloads(),
});
this.applyOverloadsMap();

@@ -73,3 +84,6 @@ await this.createInstancesOfDependencies(graphInspector, options);

const addOverload = (options) => {
this.overloadsMap.set(typeOrToken, Object.assign(Object.assign({}, options), { isProvider }));
this.overloadsMap.set(typeOrToken, {
...options,
isProvider,
});
return this;

@@ -82,3 +96,3 @@ };

useValue: value => add({ useValue: value }),
useFactory: (options) => add(Object.assign(Object.assign({}, options), { useFactory: options.factory })),
useFactory: (options) => add({ ...options, useFactory: options.factory }),
useClass: metatype => add({ useClass: metatype }),

@@ -88,6 +102,14 @@ };

applyOverloadsMap() {
[...this.overloadsMap.entries()].forEach(([item, options]) => {
const overloads = [...this.overloadsMap.entries()];
overloads.forEach(([item, options]) => {
this.container.replace(item, options);
});
}
getModuleOverloads() {
const overloads = [...this.moduleOverloadsMap.entries()];
return overloads.map(([moduleToReplace, newModule]) => ({
moduleToReplace,
newModule,
}));
}
getRootModule() {

@@ -98,5 +120,4 @@ const modules = this.container.getModules().values();

async createInstancesOfDependencies(graphInspector, options) {
var _a;
const injector = new testing_injector_1.TestingInjector({
preview: (_a = options === null || options === void 0 ? void 0 : options.preview) !== null && _a !== void 0 ? _a : false,
preview: options?.preview ?? false,
});

@@ -103,0 +124,0 @@ const instanceLoader = new testing_instance_loader_1.TestingInstanceLoader(this.container, injector, graphInspector);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc