Tengo el siguiente código-
function SomeValidationFactory(){ function SomeValidation(){ } SomeValidation.prototype.getValidation = function(somData){ //some methods } return { create : create } function create(){ return new SomeValidation(); } angular.module(valid).factory(SomeValidation, SomeFactoryValidation);Hay otra clase donde se inyecta esta fábrica y se usa en el siguiente método
function FooFactory(SomeFactoryValidation){ FooFactory.prototype.isValid = function(){ return FieldValidation.create().getValidation(someData); } function create(){ //returns FooFactory } return { create: create } } angular.module('foo-named').factory('name', FooFactory);Aquí está la clase de especificación
let FooNamed; beforeEach(()=>{ inject((FooNamed,SomeValidation)=>{ FooNamed = _FooNamed_; SomeValidation = _SomeValidation_; }); }); } .describe('invalid', ()=>{ it('should reject if invalid',done=>{ FooNamed.create().then(fooNamed=>{ sinon.stub(SomeValidation,'getValidation').withArgs(some_data).returns(Some_field); fooNamed.isValid.then((valid)=>{ expect(valid).toBeTrue(); } }); }Este es casi el código para ejecutar el caso de prueba. Obtengo TypeError: No se puede stub getValidation de propiedad inexistente. Intenté hacer el stub con SomeValidation.prototype pero no funcionó.