apollo-mobx
Version:
HOC for querying graphql server
80 lines (79 loc) • 3.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var apollo_module_date_1 = require("apollo-module-date");
var enzyme_1 = require("enzyme");
var React = require("react");
var index_1 = require("../index");
var index_2 = require("../testing/index");
describe('Testing', function () {
it('test global resolvers', function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var globalTypeDefs, globalResolvers, client, result;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
globalTypeDefs = "\n scalar Date\n\n type Other {\n date: Date\n text: String\n }\n\n type Query {\n other: Other\n }\n\n schema {\n query: Query\n }\n ";
globalResolvers = apollo_module_date_1.default.resolvers;
index_2.configure(globalTypeDefs, globalResolvers);
client = index_2.initialiseApolloMocks({
resolvers: {
Other: function () { return ({
date: new Date(2010, 1, 1),
text: 'Resolved'
}); }
}
});
return [4, client.query({
query: gql(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n query other {\n other {\n date\n text\n }\n }\n "], ["\n query other {\n other {\n date\n text\n }\n }\n "])))
})];
case 1:
result = _a.sent();
result.data.other.should.deep.equal({
date: new Date(2010, 1, 1).getTime(),
text: 'Resolved',
__typename: 'Other'
});
return [2];
}
});
});
});
it('compose: composes several functions', function () {
function a(b) {
return b + 2;
}
function m(n) {
return n * 4;
}
var composed1 = index_1.compose(a, m);
composed1(2).should.equal(10);
var composed2 = index_1.compose(m, a);
composed2(2).should.equal(16);
index_1.compose()(3).should.equal(3);
index_1.compose(a)(2).should.equal(4);
index_1.compose(m)(2).should.equal(8);
});
it('connectProps: maps ownProps', function () {
var a = function () { return React.createElement("div", null); };
var ownProps = {
a: {
b: 10
}
};
var map = function (props) { return ({
b: ownProps.a.b
}); };
var Component = index_1.connectProps(map)(a);
var wrapper = enzyme_1.shallow(React.createElement(Component, { a: a }));
wrapper.prop('b').should.equal(10);
});
it('shallow compare compares two objects', function () {
index_1.shallowCompare({ a: 1 }, { a: 1 }).should.be.true;
index_1.shallowCompare({ a: 1 }, { a: 1, b: 1 }).should.be.false;
index_1.shallowCompare({ a: 1, b: 1 }, { a: 1 }).should.be.false;
index_1.shallowCompare(null, null).should.be.true;
index_1.shallowCompare(null, 1).should.be.false;
});
});
var templateObject_1;