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 |