balderdashy/sails

Stub SailsJs helper function which is called with named arguments

Open

#6,986 建立於 2020年5月6日

在 GitHub 查看
 (5 留言) (0 反應) (0 負責人)JavaScript (22,778 star) (1,953 fork)batch import
help wantedtry this out please

描述

Node version: 10.X Sails version (sails): 1.2.3

I'm trying to mock/stub a sailsjs helper function which is called with named arguments. Using sinon library for function mocking.

Example:

function call that needs to be mocked: await sails.helpers.getData.with({})

Tried Solutions:

  1. sinon.stub(sails.helpers, 'getData').returns(true)

issue -> sails.helpers.getData.with is not a function

  1. sinon.stub(sails.helpers.getData, 'with').returns(true)

issue -> Cannot redefine property: with

reason -> non-configurable property is set to false for sails object. And we can't change that.

  1. Tried creating a fake function and adding it to sails.helpers.getData['with'] property

  2. Also tried setting special setters to sails.helpers.getData object with the help of rewire library.

What is the way to stub a helper which is called with named args.

貢獻者指南