'use strict';
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };
var _inherits = function (subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; };
var _Flummox$Store$Actions = require('../Flux');
describe('Examples:', function () {
describe('Messages', function () {
var MessageActions = (function (_Actions) {
function MessageActions() {
_classCallCheck(this, MessageActions);
if (_Actions != null) {
_Actions.apply(this, arguments);
}
}
_inherits(MessageActions, _Actions);
MessageActions.prototype.newMessage = function newMessage(content) {
return content;
};
return MessageActions;
})(_Flummox$Store$Actions.Actions);
var MessageStore = (function (_Store) {
function MessageStore(flux) {
_classCallCheck(this, MessageStore);
_Store.call(this);
var messageActions = flux.getActions('messages');
this.register(messageActions.newMessage, this.handleNewMessage);
this.messageCounter = 0;
this.state = {};
}
_inherits(MessageStore, _Store);
MessageStore.prototype.handleNewMessage = function handleNewMessage(content) {
var _setState;
var id = this.messageCounter++;
this.setState((_setState = {}, _setState[id] = {
content: content,
id: id }, _setState));
};
return MessageStore;
})(_Flummox$Store$Actions.Store);
var Flux = (function (_Flummox) {
function Flux() {
_classCallCheck(this, Flux);
_Flummox.call(this);
this.createActions('messages', MessageActions);
this.createStore('messages', MessageStore, this);
}
_inherits(Flux, _Flummox);
return Flux;
})(_Flummox$Store$Actions.Flummox);
it('creates new messages', function () {
var _expect$to$deep$equal;
var flux = new Flux();
var messageStore = flux.getStore('messages');
var messageActions = flux.getActions('messages');
expect(messageStore.state).to.deep.equal({});
messageActions.newMessage('Hello, world!');
expect(messageStore.state).to.deep.equal((_expect$to$deep$equal = {}, _expect$to$deep$equal[0] = {
content: 'Hello, world!',
id: 0 }, _expect$to$deep$equal));
});
});
});