UNPKG

dipperts

Version:

Dependency injection library for typescript.

43 lines (30 loc) 1.28 kB
import * as dipper from "../src"; import { IProvideResolve, ResolvingContainer, ScopedContainer } from "../src"; import { IContainer } from "../src/IContainer"; interface IMyStore1 { } interface IMyContainer { store: IMyStore1; } describe("When using container instance provider", () => { var builder = new dipper.ContainerBuilder(); let container = builder.addIndependent<IMyContainer>(c => ({ store: c.single<IMyStore1>(() => ({ })) })) .create(); dipper.provideContainerInstance(container); let container2 = dipper.getContainerProvider().getContainer<IMyContainer>(); it("the provided container is the container that was set", () => { expect(container2).toBe(container); }); it("the provider resets the container", () => { let storeBeforeReset = container2.store(); dipper.getContainerProvider().reset(); let storeAfterReset = container2.store(); expect(storeBeforeReset).not.toBe(storeAfterReset); }); it("can still use lifetimescopes on container", () => { let scopedConainer = container2.startLifetimeScope("asd"); var store3 = scopedConainer.store(); }); });