From 882d0c2610356d4cc26f74388fa6f28381ff8db6 Mon Sep 17 00:00:00 2001 From: Matthias Osswald Date: Mon, 3 Feb 2020 15:28:24 +0100 Subject: [PATCH] Add integration tests / fix typo --- lib/middleware/serveThemes.js | 2 +- test/lib/server/main.js | 63 +++++++++++++++++++++++ test/lib/server/middleware/serveThemes.js | 2 +- 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/lib/middleware/serveThemes.js b/lib/middleware/serveThemes.js index 6cce31a0..a0f0795d 100644 --- a/lib/middleware/serveThemes.js +++ b/lib/middleware/serveThemes.js @@ -59,7 +59,7 @@ function createMiddleware({resources}) { // Pick requested file resource const resource = createdResources.find((res) => res.getPath().endsWith(filename)); if (!resource) { - next(new Error(`Theme Build did not return request file "${pathname}"`)); + next(new Error(`Theme Build did not return requested file "${pathname}"`)); return; } diff --git a/test/lib/server/main.js b/test/lib/server/main.js index 964b6140..54bd08b5 100644 --- a/test/lib/server/main.js +++ b/test/lib/server/main.js @@ -297,6 +297,69 @@ test("Get library-parameters.json from theme middleware (/resources/library/a/th }); }); +test("Get css-variables.source.less from theme middleware (/resources/library/a/themes/base/css-variables.source.less)", (t) => { + return request.get("/resources/library/a/themes/base/css-variables.source.less").then((res) => { + if (res.error) { + t.fail(res.error.text); + } + t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); + t.regex(res.headers["content-type"], /less/, "Correct content type"); + t.deepEqual(res.text, `@libraryAColor1: #fafad2; + +:root { +--libraryAColor1: @libraryAColor1; +} +`, "Correct response"); + }); +}); + +test("Get css-variables.css from theme middleware (/resources/library/a/themes/base/css-variables.css)", (t) => { + return request.get("/resources/library/a/themes/base/css-variables.css").then((res) => { + if (res.error) { + t.fail(res.error.text); + } + t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); + t.regex(res.headers["content-type"], /css/, "Correct content type"); + t.deepEqual(res.text, `:root { + --libraryAColor1: #fafad2; +} + +/* Inline theming parameters */ +#sap-ui-theme-library\\.a{background-image:url('data:text/plain;utf-8,%7B%22libraryAColor1%22%3A%22%23fafad2%22%7D')} +`, "Correct response"); + }); +}); + +test("Get library-skeleton.css from theme middleware (/resources/library/a/themes/base/library-skeleton.css)", (t) => { + return request.get("/resources/library/a/themes/base/library-skeleton.css").then((res) => { + if (res.error) { + t.fail(res.error.text); + } + t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); + t.regex(res.headers["content-type"], /css/, "Correct content type"); + t.deepEqual(res.text, `.library-a-foo { + color: var(--libraryAColor1); + padding: 1px 2px 3px 4px; +} +`, "Correct response"); + }); +}); + +test("Get library-skeleton-RTL.css from theme middleware (/resources/library/a/themes/base/library-skeleton-RTL.css)", (t) => { + return request.get("/resources/library/a/themes/base/library-skeleton-RTL.css").then((res) => { + if (res.error) { + t.fail(res.error.text); + } + t.deepEqual(res.statusCode, 200, "Correct HTTP status code"); + t.regex(res.headers["content-type"], /css/, "Correct content type"); + t.deepEqual(res.text, `.library-a-foo { + color: var(--libraryAColor1); + padding: 1px 4px 3px 2px; +} +`, "Correct response"); + }); +}); + test("Stop server", (t) => { const port = 3350; const request = supertest(`http://localhost:${port}`); diff --git a/test/lib/server/middleware/serveThemes.js b/test/lib/server/middleware/serveThemes.js index ca0a37e6..c1b6acd7 100644 --- a/test/lib/server/middleware/serveThemes.js +++ b/test/lib/server/middleware/serveThemes.js @@ -254,7 +254,7 @@ test.serial.cb("Error handling: Request resource that ThemeBuild doesn't return" const res = {}; middleware(req, res, function(err) { - t.is(err.message, `Theme Build did not return request file "/resources/sap/ui/test/themes/base/library.css"`); + t.is(err.message, `Theme Build did not return requested file "/resources/sap/ui/test/themes/base/library.css"`); t.end(); }); });