Commit b35b6fd
Changed files (2)
app
infrastructure
__tests__
app/infrastructure/__tests__/registry_spec.js
@@ -7,6 +7,12 @@ describe("Registry", () => {
this.item = item;
}
}
+ class VeryDependent {
+ constructor(item, dependent) {
+ this.item = item;
+ this.dependent = dependent;
+ }
+ }
let subject = null;
@@ -43,9 +49,11 @@ describe("Registry", () => {
var item = new Item();
subject.register('item', () => item);
subject.register('dependent', Dependent);
+ subject.register('veryDependent', VeryDependent);
- let result = subject.resolve('dependent');
- expect(result).toBeInstanceOf(Dependent);
+ let result = subject.resolve('veryDependent');
+ expect(result).toBeInstanceOf(VeryDependent);
+ expect(result.dependent).toBeInstanceOf(Dependent);
expect(result.item).toEqual(item);
})
app/infrastructure/registry.js
@@ -23,7 +23,7 @@ export class Resolver {
}
resolveDependenciesUsing(container) {
- let parameters = this.parseConstructor(this.factory).slice(2).filter(Boolean);
+ let parameters = this.parseConstructor(this.factory).slice(2)[0].split(',').filter(Boolean);
let dependencies = parameters.map((parameter) => container.resolve(parameter));
return new this.factory(...dependencies);
}