class ServerSideStub createToken: (callback) => callback("token") describe "SomeUsecase", -> beforeEach -> @serverSide = new ServerSideStub() @usecase = new SomeUsecase(@serverSide) describe "#execute", -> it "should call ServerSide#createToken", -> spyOn(@serverSide, 'createToken') @usecase.execute("kaka") expect(@serverSide.createToken).toHaveBeenCalled() it "should run #doSmthWith as callback with name and returned token", -> spyOn(@usecase, 'doSmthWith').andFakeCall(=> null) @usecase.execute("kaka") expect(@usecase.doSmthWith).toHaveBeenCalledWith("token", "name")