UNPKG

@wearesage/schema

Version:

A flexible schema definition and validation system for TypeScript with multi-database support

40 lines (31 loc) 1.49 kB
import "reflect-metadata"; import { TestRegistryProvider } from "../../core/TestRegistryProvider"; import { MetadataRegistry } from "../../core/MetadataRegistry"; describe("TestRegistryProvider", () => { test("should create a fresh registry instance", () => { // Create a test registry provider const provider = new TestRegistryProvider(); // Get the registry const registry = provider.getRegistry(); // Verify it's a MetadataRegistry instance expect(registry).toBeInstanceOf(MetadataRegistry); // Verify we get the same instance on multiple calls expect(provider.getRegistry()).toBe(registry); }); test("should create independent registries for different providers", () => { // Create two test registry providers const provider1 = new TestRegistryProvider(); const provider2 = new TestRegistryProvider(); // Get registries from both const registry1 = provider1.getRegistry(); const registry2 = provider2.getRegistry(); // Verify they are different instances expect(registry1).not.toBe(registry2); // Verify registries are independent by making changes to one const testEntity = class TestEntity {}; registry1.registerEntity(testEntity, { name: "test" }); // Verify entity is registered in registry1 but not registry2 expect(registry1.getEntityMetadata(testEntity)).toBeDefined(); expect(registry2.getEntityMetadata(testEntity)).toBeUndefined(); }); });