Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Just mock an asynchronous method with this simple function.
@getJSON = mockAsync($, 'getJSON')
The first argument here is an object, and the second one is method name. Mocked method API will be returned. Here we've saved reference to it with @getJSON
variable.
Than we can make our mocked method to do what we want from it to do.
Makes mocked method to resolve with specified result by default.
@getJSON = mockAsync($, 'getJSON')
@getJSON.shouldSucceed '5'
$.getJSON().done (result) ->
console.log result # => 5
You can provide callback, so, result will be calculated, based on callback's returned value.
a = 5, b = 3
@getJSON = mockAsync($, 'getJSON')
@getJSON.shouldSucceed -> a + b
$.getJSON().done (result) ->
console.log result # => 8
The same as MockApi.shouldSucceed
, but rejects mocked promise.
You can make mocked method to return different results based on provided to this method arguments.
@getJSON = mockAsync($, 'getJSON')
@getJSON.whenCalledWith(location.pathname).shouldSucceed
html: '<div class="page1"></div>'
@getJSON.whenCalledWith(location.pathname, page: 1).shouldSucceed
html: '<div class="page1"></div>'
@getJSON.whenCalledWith(location.pathname, page: 2).shouldSucceed
html: '<div class="page2"></div>'
$.getJSON(location.pathname, page: 1).done (result) ->
console.log result.html # => '<div class="page1"></div>'
$.getJSON(location.pathname, page: 2).done (result) ->
console.log result.html # => '<div class="page2"></div>'
You can also chain different mocking rules.
@mockApi = mockAsync($, 'getJSON')
.whenCalledWith(location.pathname).shouldSucceed(html: '<div class="page1"></div>')
.whenCalledWith(location.pathname, page: 1).shouldSucceed(html: '<div class="page1"></div>')
.whenCalledWith(location.pathname, page: 2).shouldSucceed(html: '<div class="page2"></div>')
Restores mocked method.
initialMethod = $.getJSON
@getJSON = mockAsync($, 'getJSON')
$.getJSON is initialMehod # => false
@getJSON.restore()
$.getJSON is initialMethod # => true
FAQs
Simple one-method library for mocking asynchronous methods
We found that mock-async demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.