Code coverage report for lib/addons/__tests__/TestUtils-test.js

Statements: 100% (45 / 45)      Branches: 75% (6 / 8)      Functions: 92.86% (13 / 14)      Lines: 100% (43 / 43)      Ignored: none     

All files » lib/addons/__tests__/ » TestUtils-test.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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108    1   1   1   1         1 1 1 1 1 1   1 1   1   1         1             1 1 1   1   1 1           1 1   1   1 1             1 1   1   1 1                 1 1   1   1 1             1 1 1 1     1         1 6        
"use strict";
 
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
 
var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
 
var TestUtils = _interopRequireWildcard(require("../TestUtils"));
 
var sinon = _interopRequire(require("sinon"));
 
 
 
 
describe("TestUtils", function () {
  describe("#simulateAction", function () {
    it("calls the stores handler", function () {
      var store = mockStore();
      var actionFunc = function () {};
      actionFunc._id = "actionFunc";
 
      TestUtils.simulateAction(store, "foo", "foo body");
      TestUtils.simulateAction(store, actionFunc, "actionFunc body");
 
      expect(store.handler.calledTwice).to.be["true"];
 
      expect(store.handler.getCall(0).args[0]).to.deep.equal({
        actionId: "foo",
        body: "foo body"
      });
 
      expect(store.handler.getCall(1).args[0]).to.deep.equal({
        actionId: "actionFunc",
        body: "actionFunc body"
      });
    });
  });
 
  describe("#simulateActionAsync", function () {
    it("it handles async begin", function () {
      var store = mockStore();
 
      TestUtils.simulateActionAsync(store, "foo", "begin");
 
      expect(store.handler.calledOnce).to.be["true"];
      expect(store.handler.firstCall.args[0]).to.deep.equal({
        actionId: "foo",
        async: "begin"
      });
    });
 
    it("it handles async begin w/ action args", function () {
      var store = mockStore();
 
      TestUtils.simulateActionAsync(store, "foo", "begin", "arg1", "arg2");
 
      expect(store.handler.calledOnce).to.be["true"];
      expect(store.handler.firstCall.args[0]).to.deep.equal({
        actionId: "foo",
        async: "begin",
        actionArgs: ["arg1", "arg2"]
      });
    });
 
    it("it handles async success", function () {
      var store = mockStore();
 
      TestUtils.simulateActionAsync(store, "foo", "success", { foo: "bar" });
 
      expect(store.handler.calledOnce).to.be["true"];
      expect(store.handler.firstCall.args[0]).to.deep.equal({
        actionId: "foo",
        async: "success",
        body: {
          foo: "bar"
        }
      });
    });
 
    it("it handles async failure", function () {
      var store = mockStore();
 
      TestUtils.simulateActionAsync(store, "foo", "failure", "error message");
 
      expect(store.handler.calledOnce).to.be["true"];
      expect(store.handler.firstCall.args[0]).to.deep.equal({
        actionId: "foo",
        async: "failure",
        error: "error message"
      });
    });
 
    it("it throws error with invalid asyncAction", function () {
      var store = mockStore();
      var simulate = function () {
        return TestUtils.simulateActionAsync(store, "foo", "fizbin");
      };
 
      expect(simulate).to["throw"]("asyncAction must be one of: begin, success or failure");
    });
  });
});
 
function mockStore() {
  return {
    handler: sinon.spy()
  };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUFZLFNBQVMsbUNBQU0sY0FBYzs7SUFDbEMsS0FBSywyQkFBTSxPQUFPOzs7OztBQUd6QixRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07QUFDMUIsVUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07QUFDaEMsTUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07QUFDbkMsVUFBSSxLQUFLLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDeEIsVUFBSSxVQUFVLEdBQUcsWUFBVyxFQUFFLENBQUM7QUFDL0IsZ0JBQVUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDOztBQUU5QixlQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkQsZUFBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7O0FBRS9ELFlBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQUssQ0FBQzs7QUFFN0MsWUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ3JELGdCQUFRLEVBQUUsS0FBSztBQUNmLFlBQUksRUFBRSxVQUFVO09BQ2pCLENBQUMsQ0FBQzs7QUFFSCxZQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDckQsZ0JBQVEsRUFBRSxZQUFZO0FBQ3RCLFlBQUksRUFBRSxp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Qzs7QUFFSCxNQUFFLENBQUMsMENBQTBDLEVBQUUsWUFBTTtBQUNuRCxVQUFJLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztBQUN4QixVQUFJLFFBQVEsR0FBRztlQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztPQUFBLENBQUM7O0FBRTNFLFlBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFNBQU0sQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQ3BGLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQzs7QUFFSCxTQUFTLFNBQVMsR0FBRztBQUNuQixTQUFPO0FBQ0wsV0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7R0FDckIsQ0FBQztDQUNIIiwiZmlsZSI6InNyYy9hZGRvbnMvX190ZXN0c19fL1Rlc3RVdGlscy10ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVGVzdFV0aWxzIGZyb20gJy4uL1Rlc3RVdGlscyc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuXG5cbmRlc2NyaWJlKCdUZXN0VXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCcjc2ltdWxhdGVBY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHRoZSBzdG9yZXMgaGFuZGxlcicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuICAgICAgbGV0IGFjdGlvbkZ1bmMgPSBmdW5jdGlvbigpIHt9O1xuICAgICAgYWN0aW9uRnVuYy5faWQgPSAnYWN0aW9uRnVuYyc7XG5cbiAgICAgIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbihzdG9yZSwgJ2ZvbycsICdmb28gYm9keScpO1xuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uKHN0b3JlLCBhY3Rpb25GdW5jLCAnYWN0aW9uRnVuYyBib2R5Jyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZFR3aWNlKS50by5iZS50cnVlO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5nZXRDYWxsKDApLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGJvZHk6ICdmb28gYm9keSdcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5nZXRDYWxsKDEpLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2FjdGlvbkZ1bmMnLFxuICAgICAgICBib2R5OiAnYWN0aW9uRnVuYyBib2R5J1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcjc2ltdWxhdGVBY3Rpb25Bc3luYycsICgpID0+IHtcbiAgICBpdCgnaXQgaGFuZGxlcyBhc3luYyBiZWdpbicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuXG4gICAgICBUZXN0VXRpbHMuc2ltdWxhdGVBY3Rpb25Bc3luYyhzdG9yZSwgJ2ZvbycsICdiZWdpbicpO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGFzeW5jOiAnYmVnaW4nXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIGJlZ2luIHcvIGFjdGlvbiBhcmdzJywgKCkgPT4ge1xuICAgICAgbGV0IHN0b3JlID0gbW9ja1N0b3JlKCk7XG5cbiAgICAgIFRlc3RVdGlscy5zaW11bGF0ZUFjdGlvbkFzeW5jKHN0b3JlLCAnZm9vJywgJ2JlZ2luJywgJ2FyZzEnLCAnYXJnMicpO1xuXG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5jYWxsZWRPbmNlKS50by5iZS50cnVlO1xuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuZmlyc3RDYWxsLmFyZ3NbMF0pLnRvLmRlZXAuZXF1YWwoe1xuICAgICAgICBhY3Rpb25JZDogJ2ZvbycsXG4gICAgICAgIGFzeW5jOiAnYmVnaW4nLFxuICAgICAgICBhY3Rpb25BcmdzOiBbJ2FyZzEnLCAnYXJnMiddXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIHN1Y2Nlc3MnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBtb2NrU3RvcmUoKTtcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnc3VjY2VzcycsIHsgZm9vOiAnYmFyJyB9KTtcblxuICAgICAgZXhwZWN0KHN0b3JlLmhhbmRsZXIuY2FsbGVkT25jZSkudG8uYmUudHJ1ZTtcbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmZpcnN0Q2FsbC5hcmdzWzBdKS50by5kZWVwLmVxdWFsKHtcbiAgICAgICAgYWN0aW9uSWQ6ICdmb28nLFxuICAgICAgICBhc3luYzogJ3N1Y2Nlc3MnLFxuICAgICAgICBib2R5OiB7XG4gICAgICAgICAgZm9vOiAnYmFyJ1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdpdCBoYW5kbGVzIGFzeW5jIGZhaWx1cmUnLCAoKSA9PiB7XG4gICAgICBsZXQgc3RvcmUgPSBtb2NrU3RvcmUoKTtcblxuICAgICAgVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnZmFpbHVyZScsICdlcnJvciBtZXNzYWdlJyk7XG5cbiAgICAgIGV4cGVjdChzdG9yZS5oYW5kbGVyLmNhbGxlZE9uY2UpLnRvLmJlLnRydWU7XG4gICAgICBleHBlY3Qoc3RvcmUuaGFuZGxlci5maXJzdENhbGwuYXJnc1swXSkudG8uZGVlcC5lcXVhbCh7XG4gICAgICAgIGFjdGlvbklkOiAnZm9vJyxcbiAgICAgICAgYXN5bmM6ICdmYWlsdXJlJyxcbiAgICAgICAgZXJyb3I6ICdlcnJvciBtZXNzYWdlJ1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXQgdGhyb3dzIGVycm9yIHdpdGggaW52YWxpZCBhc3luY0FjdGlvbicsICgpID0+IHtcbiAgICAgIGxldCBzdG9yZSA9IG1vY2tTdG9yZSgpO1xuICAgICAgbGV0IHNpbXVsYXRlID0gKCkgPT4gVGVzdFV0aWxzLnNpbXVsYXRlQWN0aW9uQXN5bmMoc3RvcmUsICdmb28nLCAnZml6YmluJyk7XG5cbiAgICAgIGV4cGVjdChzaW11bGF0ZSkudG8udGhyb3coJ2FzeW5jQWN0aW9uIG11c3QgYmUgb25lIG9mOiBiZWdpbiwgc3VjY2VzcyBvciBmYWlsdXJlJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIG1vY2tTdG9yZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVyOiBzaW5vbi5zcHkoKVxuICB9O1xufVxuIl19