UNPKG

@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
"use strict"; 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]; } }); }); }); }); });