Loading [Contrib]/a11y/accessibility-menu.js
Back
Close

Tools for Promises Unit Testing

Venkat.R
9,440 views
Previous: Unit Testing with Dependent Files

Async.js

Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for use with Node.js and installable via npm install --save async, it can also be used directly in the browser.

In this below example, We use async.parallel where we need to trigger the DB Service Method at the same time.

Service File
const async = require('async');
const db = require('./db');
function myAsyncParallel (callback) {
async.parallel({
first: db.userData.bind(null, 'first arg'),
second: db.activityData.bind(null, 'second arg')
}, callback);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Unit Testing

Similar to Previous example, Added Mocha, Chai and Sinon and added only one example for success scenario.

Mainly we are by passing the DB Methods db.userData and db.activityData and return the custom data using Sinon Stub.

In this test case, we are checking the expected result is deeply equal to the method response.

Unit Testing with Async.js
const mocha = require('mocha');
const expect = require('chai').expect;
const sinon = require('sinon');
const db = require('./db');
const asyncFile = require('./parallel');
describe('Async Parallel.js', () => {
let params, resultValues, userDataStub, activityDataStub, activityDataSpy;
before(() => {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Cool, Isn’t it !!

Happy Coding, Stay tuned for next one !

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants