Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / oneRequest / deps / StubRequest.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = exports.makeStubRequest = void 0;

var _uuid = _interopRequireDefault(require("uuid"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const stubRequestRegistry = new Map();
let identity = 0;
/* @lint - is stub test function */

/* eslint-disable max-statements */

const makeStubRequest = () => {
  let result = {
    httpStatusCode: 0,
    headers: {
      length: 0
    }
  };
  let res = {};
  let req = {};

  res.status = httpStatusCode => {
    result.httpStatusCode = httpStatusCode;
    return res;
  };

  res.setHeader = (headerName, data) => {
    result.headers[headerName] = data;
    result.headers.length += 1;
    return res;
  };

  res.end = () => {
    return res;
  };

  res.send = (stringResponse = `<!DOCTYPE html>${html}`) => {
    result.sent = stringResponse;
    return res;
  };

  res.locals = {
    nonce: _uuid.default.v4()
  };
  const requestMock = {
    req,
    res // save to cache

  };
  identity += 1;
  const stub = {
    identity,
    result,
    request: requestMock
  };
  stubRequestRegistry.set(identity, stub); // done

  return requestMock;
};

exports.makeStubRequest = makeStubRequest;
var _default = makeStubRequest;
exports.default = _default;