Latest updates from IceHrmPro

This commit is contained in:
Thilina Pituwala
2020-05-20 18:47:29 +02:00
parent 60c92d7935
commit 7453a58aad
18012 changed files with 2089245 additions and 10173 deletions

View File

@@ -0,0 +1,24 @@
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importStar(require("react"));
var enzyme_1 = require("enzyme");
var index_1 = require("../index");
var Provider_1 = require("../Provider");
test('store context', function (done) {
var store = index_1.create({});
var App = function () {
var contextStore = react_1.useContext(Provider_1.MiniStoreContext);
expect(contextStore).toBe(store);
done();
return react_1.default.createElement("div", null, "hello");
};
enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(App, null)));
});

View File

@@ -0,0 +1,166 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var enzyme_1 = require("enzyme");
var index_1 = require("../index");
var StatelessApp;
var Connected;
var store;
var wrapper;
var StatefulApp = /** @class */ (function (_super) {
__extends(StatefulApp, _super);
function StatefulApp() {
return _super !== null && _super.apply(this, arguments) || this;
}
StatefulApp.prototype.render = function () {
return (react_1.default.createElement("div", null, this.props.msg));
};
return StatefulApp;
}(react_1.default.Component));
describe('stateless', function () {
beforeEach(function () {
StatelessApp = function (_a) {
var msg = _a.msg;
return react_1.default.createElement("div", null, msg);
};
Connected = index_1.connect(function (state) { return state; })(StatelessApp);
store = index_1.create({ msg: 'hello', count: 0 });
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(Connected, null)));
});
test('map state to props', function () {
expect(wrapper.text()).toBe('hello');
});
test('renrender as subscribed state changes', function () {
store.setState({ msg: 'halo' });
expect(wrapper.text()).toBe('halo');
});
test('on rerender when unsubscribed state changes', function () {
store.setState({ count: 1 });
expect(wrapper.text()).toBe('hello');
});
test('do not subscribe', function () {
Connected = index_1.connect()(StatelessApp);
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(Connected, { msg: "hello" })));
expect(wrapper.instance().unsubscribe).toBeUndefined();
});
test('pass own props to mapStateToProps', function () {
Connected = index_1.connect(function (state, props) { return ({
msg: state.msg + " " + props.name
}); })(StatelessApp);
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(Connected, { name: "world" })));
expect(wrapper.text()).toBe('hello world');
});
test('mapStateToProps is invoked when own props changes', function () {
Connected = index_1.connect(function (state, props) { return ({
msg: state.msg + " " + props.name
}); })(StatelessApp);
var App = /** @class */ (function (_super) {
__extends(App, _super);
function App() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {
name: 'world'
};
return _this;
}
App.prototype.render = function () {
var _this = this;
return (react_1.default.createElement("div", null,
react_1.default.createElement("button", { onClick: function () { return _this.setState({ name: 'there' }); } }, "Click"),
react_1.default.createElement(Connected, { name: this.state.name })));
};
return App;
}(react_1.default.Component));
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(App, null)));
wrapper.find('button').simulate('click');
expect(wrapper.find(Connected).text()).toBe('hello there');
});
test('mapStateToProps is not invoked when own props is not used', function () {
var mapStateToProps = jest.fn(function (state) { return ({ msg: state.msg }); });
Connected = index_1.connect(mapStateToProps)(StatelessApp);
var App = /** @class */ (function (_super) {
__extends(App, _super);
function App() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {
name: 'world'
};
return _this;
}
App.prototype.render = function () {
var _this = this;
return (react_1.default.createElement("div", null,
react_1.default.createElement("button", { onClick: function () { return _this.setState({ name: 'there' }); } }, "Click"),
react_1.default.createElement(Connected, { name: this.state.name })));
};
return App;
}(react_1.default.Component));
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(App, null)));
wrapper.find('button').simulate('click');
expect(mapStateToProps).toHaveBeenCalledTimes(2);
});
// https://github.com/ant-design/ant-design/issues/11723
test('rerender component when props changes', function () {
var Dummy = function (_a) {
var visible = _a.visible;
return react_1.default.createElement("div", null, visible && 'hello');
};
Connected = index_1.connect(function (state, props) { return ({
visible: state.visible === false ? props.ownVisible : state.visible
}); })(Dummy);
var App = /** @class */ (function (_super) {
__extends(App, _super);
function App() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {
visible: true,
};
return _this;
}
App.prototype.render = function () {
var _this = this;
return (react_1.default.createElement("div", null,
react_1.default.createElement("button", { onClick: function () { return _this.setState({ visible: false }); } }, "Click"),
react_1.default.createElement(Connected, { ownVisible: this.state.visible })));
};
return App;
}(react_1.default.Component));
store = index_1.create({ visible: false });
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(App, null)));
wrapper.find('button').simulate('click');
expect(wrapper.find(Dummy).text()).toBe('');
store.setState({ visible: true });
wrapper.update();
expect(wrapper.find(Dummy).text()).toBe('hello');
});
});
describe('stateful', function () {
beforeEach(function () {
Connected = index_1.connect(function (state) { return state; })(StatefulApp);
store = index_1.create({ msg: 'hello', count: 0 });
wrapper = enzyme_1.mount(react_1.default.createElement(index_1.Provider, { store: store },
react_1.default.createElement(Connected, null)));
});
});

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var index_1 = require("../index");
test('create', function () {
var store = index_1.create({ foo: true });
expect(store.getState()).toEqual({ foo: true });
});
test('setState', function () {
var store = index_1.create({ foo: false, bar: 1 });
store.setState({ foo: false });
expect(store.getState()).toEqual({ foo: false, bar: 1 });
});
test('subscribe', function () {
var store = index_1.create({ foo: false });
var listener1 = jest.fn();
var listener2 = jest.fn();
store.subscribe(listener1);
store.subscribe(listener2);
store.setState({ foo: false });
expect(listener1).toBeCalled();
expect(listener2).toBeCalled();
});