@platform/react.ssr
Version:
A lightweight SSR (server-side-rendering) system for react apps bundled with ParcelJS and hosted on S3.
117 lines (116 loc) • 5.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var test_1 = require("../test");
var Manifest_1 = require("./Manifest");
var tmp = test_1.fs.resolve('tmp');
var url = 'https://sfo2.digitaloceanspaces.com/platform/modules/react.ssr/manifest.yml';
describe('Manifest', function () {
describe('site()', function () {
it('undefined', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var manifest, test;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, test_1.testManifest()];
case 1:
manifest = _a.sent();
test = function (domain) {
var site = manifest.site.byHost(domain);
test_1.expect(site).to.eql(undefined);
};
test();
test('');
test('NO_EXIST');
return [2];
}
});
}); });
it('finds by host (domain)', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var manifest, test;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, test_1.testManifest()];
case 1:
manifest = _a.sent();
test = function (domain) {
var site = manifest.site.byHost(domain);
test_1.expect(site).to.not.eql(undefined);
};
test('localhost');
test(' localhost ');
test('http://localhost');
test(' http://localhost ');
test('foobar.now.sh');
test(' https://foobar.now.sh ');
return [2];
}
});
}); });
it('finds by name', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var manifest, test;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, test_1.testManifest()];
case 1:
manifest = _a.sent();
test = function (name, expected) {
var site = manifest.site.byName(name);
test_1.expect(Boolean(site)).to.eql(expected);
};
test('localhost', false);
test('dev', true);
test('', false);
test('NO_EXIST', false);
test(undefined, false);
return [2];
}
});
}); });
});
describe('change.bundle', function () {
var saveTo = test_1.fs.join(tmp, 'manifest.yml');
beforeEach(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
return [2, test_1.fs.remove(saveTo)];
}); }); });
it('site not found (undefined)', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var manifest, res;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, test_1.testManifest()];
case 1:
manifest = _a.sent();
return [4, manifest.change.site('NO_EXIST').bundle({ value: 'bundle/2.0.0', saveTo: saveTo })];
case 2:
res = _a.sent();
test_1.expect(res).to.eql(undefined);
return [2];
}
});
}); });
it('changes and saves', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var manifest, site1, res, site2, fromFile, site3;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, test_1.testManifest()];
case 1:
manifest = _a.sent();
site1 = manifest.site.byName('dev');
test_1.expect(site1 && site1.version).to.eql('1.2.3-alpha.0');
return [4, manifest.change.site('dev').bundle({ value: 'bundle/2.0.0', saveTo: saveTo })];
case 2:
res = _a.sent();
test_1.expect(res).to.be.an.instanceof(Manifest_1.Manifest);
test_1.expect(res).to.not.equal(manifest);
site2 = res && res.site.byName('dev');
test_1.expect(site2 && site2.version).to.eql('2.0.0');
return [4, Manifest_1.Manifest.fromFile({ path: saveTo, baseUrl: url })];
case 3:
fromFile = _a.sent();
site3 = fromFile.site.byName('dev');
test_1.expect(site3 && site3.version).to.eql('2.0.0');
return [2];
}
});
}); });
});
});