Socket
Socket
Sign inDemoInstall

mappersmith

Package Overview
Dependencies
Maintainers
1
Versions
121
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mappersmith - npm Package Compare versions

Comparing version 2.23.0 to 2.24.0

2

mappersmith.js

@@ -18,3 +18,3 @@ 'use strict';

/* global VERSION */
var version = exports.version = '2.23.0';
var version = exports.version = '2.24.0';

@@ -21,0 +21,0 @@ var configs = exports.configs = {

@@ -11,2 +11,6 @@ 'use strict';

var _mockAssert = require('./mock-assert');
var _mockAssert2 = _interopRequireDefault(_mockAssert);
var _request = require('../request');

@@ -35,4 +39,6 @@

this.responseData = null;
this.responseHandler = null;
this.responseHeaders = {};
this.responseStatus = 200;
this.responseStatusHandler = null;
this.mockRequest = null;

@@ -81,4 +87,8 @@ }

*/
status: function status(responseStatus) {
this.responseStatus = responseStatus;
status: function status(responder) {
if (typeof responder === 'function') {
this.responseStatusHandler = responder;
} else {
this.responseStatus = responder;
}
return this;

@@ -91,4 +101,8 @@ },

*/
response: function response(responseData) {
this.responseData = responseData;
response: function response(responder) {
if (typeof responder === 'function') {
this.responseHandler = responder;
} else {
this.responseData = responder;
}
return this;

@@ -112,14 +126,10 @@ },

var finalRequest = this.createRequest();
var assertObject = this.mockRequest ? this.mockRequest.assertObject() : new _mockAssert2.default([]);
var responseStatus = this.responseStatusHandler ? this.responseStatusHandler(finalRequest, assertObject) : this.responseStatus;
var responseData = this.responseHandler ? this.responseHandler(finalRequest, assertObject) : this.responseData;
if (!this.mockRequest) {
var methodDescriptor = this.manifest.createMethodDescriptor(this.resourceName, this.methodName);
var initialRequest = new _request2.default(methodDescriptor, this.requestParams);
var middleware = this.manifest.createMiddleware({
resourceName: this.resourceName,
resourceMethod: this.methodName,
mockRequest: true
});
var finalRequest = middleware.reduce(function (request, middleware) {
return middleware.request(request);
}, initialRequest);
var params = finalRequest.params();

@@ -142,5 +152,5 @@ var hasParamMatchers = Object.keys(params).find(function (key) {

response: {
status: this.responseStatus,
status: responseStatus,
headers: this.responseHeaders,
body: this.responseData
body: responseData
}

@@ -150,2 +160,5 @@ });

this.mockRequest.responseStatus = responseStatus;
this.mockRequest.responseData = responseData;
return this.mockRequest;

@@ -168,2 +181,19 @@ },

}, {});
},
/**
* @private
*/
createRequest: function createRequest() {
var methodDescriptor = this.manifest.createMethodDescriptor(this.resourceName, this.methodName);
var initialRequest = new _request2.default(methodDescriptor, this.requestParams);
var middleware = this.manifest.createMiddleware({
resourceName: this.resourceName,
resourceMethod: this.methodName,
mockRequest: true
});
return middleware.reduce(function (request, middleware) {
return middleware.request(request);
}, initialRequest);
}

@@ -170,0 +200,0 @@ };

{
"name": "mappersmith",
"version": "2.23.0",
"version": "2.24.0",
"description": "It is a lightweight rest client for node.js and the browser",

@@ -5,0 +5,0 @@ "author": "Tulio Ornelas <ornelas.tulio@gmail.com>",

@@ -774,4 +774,4 @@ [![npm version](https://badge.fury.io/js/mappersmith.svg)](http://badge.fury.io/js/mappersmith)

* `with(resourceMethodArguments)`, ex: `with({ id: 1 })`
* `status(statusNumber)`, ex: `status(204)`
* `response(responseData)`, ex: `response({ user: { id: 1 } })`
* `status(statusNumber | statusHandler)`, ex: `status(204)` or `status((request, mock) => 200)`
* `response(responseData | responseHandler)`, ex: `response({ user: { id: 1 } })` or `response((request, mock) => ({ user: { id: request.body().id } }))`
* `assertObject()`

@@ -861,2 +861,17 @@

`response` and `status` can accept functions to generate response body or status. This can be useful when you want to return different responses for the same request being made several times.
```javascript
const generateResponse = () => {
return (request, mock) => mock.callsCount() === 0
? {}
: { user: { id: 1 } }
}
const mock = mockClient(client)
.resource('User')
.method('create')
.response(generateResponse())
```
#### mockRequest

@@ -863,0 +878,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc