Code coverage report for lib/addons/TestUtils.js

Statements: 100% (23 / 23)      Branches: 100% (8 / 8)      Functions: 100% (3 / 3)      Lines: 100% (23 / 23)      Ignored: none     

All files » lib/addons/ » TestUtils.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63            1                                 1 1 2 2 1 5 4     5 5       5   2 1   2   1 1   1 1   1     4     1 7   1      
"use strict";
 
/**
 * Used for simulating actions on stores when testing.
 *
 */
exports.simulateAction = simulateAction;
 
 
/**
 * Used for simulating asynchronous actions on stores when testing.
 *
 * asyncAction must be one of the following: begin, success or failure.
 *
 * When simulating the 'begin' action, all arguments after 'begin' will
 * be passed to the action handler in the store.
 *
 * @example
 *
 * TestUtils.simulateActionAsync(store, 'actionId', 'begin', 'arg1', 'arg2');
 * TestUtils.simulateActionAsync(store, 'actionId', 'success', { foo: 'bar' });
 * TestUtils.simulateActionAsync(store, 'actionId', 'failure', new Error('action failed'));
 */
exports.simulateActionAsync = simulateActionAsync;
function simulateAction(store, action, body) {
  var actionId = ensureActionId(action);
  store.handler({ actionId: actionId, body: body });
}function simulateActionAsync(store, action, asyncAction) {
  for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
    args[_key - 3] = arguments[_key];
  }
 
  var actionId = ensureActionId(action);
  var payload = {
    actionId: actionId, async: asyncAction
  };
 
  switch (asyncAction) {
    case "begin":
      if (args.length) {
        payload.actionArgs = args;
      }
      break;
    case "success":
      payload.body = args[0];
      break;
    case "failure":
      payload.error = args[0];
      break;
    default:
      throw new Error("asyncAction must be one of: begin, success or failure");
  }
 
  store.handler(payload);
}
 
function ensureActionId(actionOrActionId) {
  return typeof actionOrActionId === "function" ? actionOrActionId._id : actionOrActionId;
}
Object.defineProperty(exports, "__esModule", {
  value: true
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGRvbnMvVGVzdFV0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztRQUlnQixjQUFjLEdBQWQsY0FBYzs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFtQmQsbUJBQW1CLEdBQW5CLG1CQUFtQjtBQW5CNUIsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDbEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLE9BQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQVIsUUFBUSxFQUFFLElBQUksRUFBSixJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ25DLEFBZ0JNLFNBQVMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVc7b0NBQU4sSUFBSTtBQUFKLFFBQUk7OztBQUNyRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsTUFBSSxPQUFPLEdBQUc7QUFDWixZQUFRLEVBQVIsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXO0dBQzdCLENBQUM7O0FBRUYsVUFBTyxXQUFXO0FBQ2hCLFNBQUssT0FBTztBQUNWLFVBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNmLGVBQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO09BQzNCO0FBQ0QsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsWUFBTTtBQUFBLEFBQ1IsU0FBSyxTQUFTO0FBQ1osYUFBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEIsWUFBTTtBQUFBLEFBQ1I7QUFDRSxZQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFBQSxHQUM1RTs7QUFFRCxPQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ3hCOztBQUVELFNBQVMsY0FBYyxDQUFDLGdCQUFnQixFQUFFO0FBQ3hDLFNBQU8sT0FBTyxnQkFBZ0IsS0FBSyxVQUFVLEdBQ3pDLGdCQUFnQixDQUFDLEdBQUcsR0FDcEIsZ0JBQWdCLENBQUM7Q0FDdEIiLCJmaWxlIjoic3JjL2FkZG9ucy9UZXN0VXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgZm9yIHNpbXVsYXRpbmcgYWN0aW9ucyBvbiBzdG9yZXMgd2hlbiB0ZXN0aW5nLlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbXVsYXRlQWN0aW9uKHN0b3JlLCBhY3Rpb24sIGJvZHkpIHtcbiAgY29uc3QgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb24pO1xuICBzdG9yZS5oYW5kbGVyKHsgYWN0aW9uSWQsIGJvZHkgfSk7XG59XG5cbi8qKlxuICogVXNlZCBmb3Igc2ltdWxhdGluZyBhc3luY2hyb25vdXMgYWN0aW9ucyBvbiBzdG9yZXMgd2hlbiB0ZXN0aW5nLlxuICpcbiAqIGFzeW5jQWN0aW9uIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUuXG4gKlxuICogV2hlbiBzaW11bGF0aW5nIHRoZSAnYmVnaW4nIGFjdGlvbiwgYWxsIGFyZ3VtZW50cyBhZnRlciAnYmVnaW4nIHdpbGxcbiAqIGJlIHBhc3NlZCB0byB0aGUgYWN0aW9uIGhhbmRsZXIgaW4gdGhlIHN0b3JlLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdhY3Rpb25JZCcsICdiZWdpbicsICdhcmcxJywgJ2FyZzInKTtcbiAqIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnYWN0aW9uSWQnLCAnc3VjY2VzcycsIHsgZm9vOiAnYmFyJyB9KTtcbiAqIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnYWN0aW9uSWQnLCAnZmFpbHVyZScsIG5ldyBFcnJvcignYWN0aW9uIGZhaWxlZCcpKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsIGFjdGlvbiwgYXN5bmNBY3Rpb24sIC4uLmFyZ3MpIHtcbiAgY29uc3QgYWN0aW9uSWQgPSBlbnN1cmVBY3Rpb25JZChhY3Rpb24pO1xuICBsZXQgcGF5bG9hZCA9IHtcbiAgICBhY3Rpb25JZCwgYXN5bmM6IGFzeW5jQWN0aW9uXG4gIH07XG5cbiAgc3dpdGNoKGFzeW5jQWN0aW9uKSB7XG4gICAgY2FzZSAnYmVnaW4nOlxuICAgICAgaWYgKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIHBheWxvYWQuYWN0aW9uQXJncyA9IGFyZ3M7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgIHBheWxvYWQuYm9keSA9IGFyZ3NbMF07XG4gICAgICBicmVhaztcbiAgICBjYXNlICdmYWlsdXJlJzpcbiAgICAgIHBheWxvYWQuZXJyb3IgPSBhcmdzWzBdO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXN5bmNBY3Rpb24gbXVzdCBiZSBvbmUgb2Y6IGJlZ2luLCBzdWNjZXNzIG9yIGZhaWx1cmUnKTtcbiAgfVxuXG4gIHN0b3JlLmhhbmRsZXIocGF5bG9hZCk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZUFjdGlvbklkKGFjdGlvbk9yQWN0aW9uSWQpIHtcbiAgcmV0dXJuIHR5cGVvZiBhY3Rpb25PckFjdGlvbklkID09PSAnZnVuY3Rpb24nXG4gICAgPyBhY3Rpb25PckFjdGlvbklkLl9pZFxuICAgIDogYWN0aW9uT3JBY3Rpb25JZDtcbn1cbiJdfQ==