diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b15fcc5c4dd730f568cc6a1d018b50f4384bd91c..77baf8268961b7345b8139fa9a95c149a587fdb9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ pages-testing: - npm run clean - npm run build - rm -rf ./built/views - - cp -R ./views ./built + - cp -R ./src/views ./built - cat $configfiledev > ./built/config/config.js - "pm2 delete --silent project || :" - pm2 start ./built/app.js --name=project diff --git a/__test/gitlab.test.ts b/__test/gitlab.test.ts deleted file mode 100644 index bb18bcdbb4dcc69723c0ac0f9aa1a479dbaffd11..0000000000000000000000000000000000000000 --- a/__test/gitlab.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -const gitlab = require('../functions/gitlab') - -describe('GitLab API', () => { - test('get all projects', async () => { - let projects = await gitlab.getProjects(10, 0) - expect(projects).not.toBeNull() - }) - test('get latest pipeline status of a project', async () => { - let status = await gitlab.getLatestPipelineStatus(81) - expect(status).not.toBeNull() - }) -}) \ No newline at end of file diff --git a/__test/integration.test.ts b/__test/integration.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..daf5f30479680418940430e34ab88a30464b4e77 --- /dev/null +++ b/__test/integration.test.ts @@ -0,0 +1,3 @@ +test('add 1+1', () => { + expect(1+1).toBe(2) +}) \ No newline at end of file diff --git a/__test/methods.test.ts b/__test/methods.test.ts deleted file mode 100644 index 06dfb06035226ea4b5bd4e876943ab2f9d2d24c4..0000000000000000000000000000000000000000 --- a/__test/methods.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -const methods = require('../functions/methods') - -describe('DB methods', () => { - test('all mailinglists', async () => { - let lists = await methods.getAllMailinglists(0) - expect(lists).not.toBeNull() - }) - test('project overview', async () => { - let overview = await methods.getProjectOverviewById(81) - expect(overview).not.toBeNull() - }) - test('project images', async () => { - let images = await methods.getProjectImagesById(81) - expect(images).not.toBeNull() - }) -}) \ No newline at end of file diff --git a/__test/unit.test.ts b/__test/unit.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..55e3912ef4fb4c1c671aa5a159da41c2e58f3632 --- /dev/null +++ b/__test/unit.test.ts @@ -0,0 +1,18 @@ +import helpers from '../src/utils/helpers' +import gitlab from '../src/controller/gitlab' + +test('[/utils/helpers] convert string to array', () => { + expect(helpers.stringToArray('foo')).toStrictEqual(["foo"]) + expect(helpers.stringToArray('foo,bar')).toStrictEqual(["foo","bar"]) + expect(helpers.stringToArray('')).toBeNull + expect(helpers.stringToArray(String(null))).toBeNull +}); + +test('[/controller/gitlab] get projects from gitlab', async () => { + expect(await gitlab.getProjects(100, 0)).not.toBeNull +}) + +test('[/controller/gitlab] get latest pipeline status from gitlab', async () => { + expect(await gitlab.getLatestPipelineStatus(97)).toBe("success") + expect(await gitlab.getLatestPipelineStatus(0)).toBeUndefined +}) \ No newline at end of file diff --git a/functions/helpers.ts b/functions/helpers.ts deleted file mode 100644 index 89506026042e8fb2b886a2a974fa3356d7a25c33..0000000000000000000000000000000000000000 --- a/functions/helpers.ts +++ /dev/null @@ -1,11 +0,0 @@ -const helpers = { - stringToArray: function (input: string) { - if (input != null) { - return input.split(',') - } else { - return null - } - } -} - -export = helpers diff --git a/package.json b/package.json index 577035bde97b4e63b41a66881f5716fd25767292..91a5bbb0c7bf581e3445af3bb4fef24bc520c549 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,11 @@ "url": "https://transfer.hft-stuttgart.de/gitlab/m4lab_tv1/project-page.git" }, "scripts": { - "start:dev": "nodemon app.ts", + "start:dev": "nodemon ./src/app.ts", "start": "nodemon ./built/app.js", "build": "tsc -build", "clean": "tsc -build --clean", + "check-types": "tsc", "test": "jest", "cleancode": "ts-standard --fix" }, diff --git a/app.ts b/src/app.ts similarity index 100% rename from app.ts rename to src/app.ts diff --git a/config/config.ts b/src/config/config.ts similarity index 100% rename from config/config.ts rename to src/config/config.ts diff --git a/config/dbconn.ts b/src/config/dbconn.ts similarity index 100% rename from config/dbconn.ts rename to src/config/dbconn.ts diff --git a/controller/controller.ts b/src/controller/controller.ts similarity index 98% rename from controller/controller.ts rename to src/controller/controller.ts index 34a3e178759167736a5529c4e59d229ae30fd0a3..9ecf76cf550f57238199eee72a2379cc5fe8dac0 100644 --- a/controller/controller.ts +++ b/src/controller/controller.ts @@ -1,5 +1,5 @@ -import helpers from '../functions/helpers' -import gitlab from '../functions/gitlab' +import helpers from '../utils/helpers' +import gitlab from './gitlab' import https from 'https' const dbconn = require('../config/dbconn') diff --git a/functions/gitlab.ts b/src/controller/gitlab.ts similarity index 100% rename from functions/gitlab.ts rename to src/controller/gitlab.ts diff --git a/public/js/jquery-ui/i18n/datepicker-de.js b/src/public/js/jquery-ui/i18n/datepicker-de.js similarity index 100% rename from public/js/jquery-ui/i18n/datepicker-de.js rename to src/public/js/jquery-ui/i18n/datepicker-de.js diff --git a/routes/project.ts b/src/routes/project.ts similarity index 100% rename from routes/project.ts rename to src/routes/project.ts diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts new file mode 100644 index 0000000000000000000000000000000000000000..83d11968f29fa8b7bae59fb4f23c9a47f31344e7 --- /dev/null +++ b/src/utils/helpers.ts @@ -0,0 +1,8 @@ +const helpers = { + stringToArray: function (input: string) { + if (!input) { return null } + return input.split(',') + } +} + +export = helpers diff --git a/views/DE/404.pug b/src/views/DE/404.pug similarity index 100% rename from views/DE/404.pug rename to src/views/DE/404.pug diff --git a/views/DE/500.pug b/src/views/DE/500.pug similarity index 100% rename from views/DE/500.pug rename to src/views/DE/500.pug diff --git a/views/DE/project/mailinglists.pug b/src/views/DE/project/mailinglists.pug similarity index 100% rename from views/DE/project/mailinglists.pug rename to src/views/DE/project/mailinglists.pug diff --git a/views/DE/project/pagesList.pug b/src/views/DE/project/pagesList.pug similarity index 100% rename from views/DE/project/pagesList.pug rename to src/views/DE/project/pagesList.pug diff --git a/views/DE/project/project-simplified.pug b/src/views/DE/project/project-simplified.pug similarity index 100% rename from views/DE/project/project-simplified.pug rename to src/views/DE/project/project-simplified.pug diff --git a/views/DE/project/project.html b/src/views/DE/project/project.html similarity index 100% rename from views/DE/project/project.html rename to src/views/DE/project/project.html diff --git a/views/DE/project/projectList.pug b/src/views/DE/project/projectList.pug similarity index 100% rename from views/DE/project/projectList.pug rename to src/views/DE/project/projectList.pug diff --git a/views/DE/project/projectOverview.pug b/src/views/DE/project/projectOverview.pug similarity index 100% rename from views/DE/project/projectOverview.pug rename to src/views/DE/project/projectOverview.pug diff --git a/views/EN/404.pug b/src/views/EN/404.pug similarity index 100% rename from views/EN/404.pug rename to src/views/EN/404.pug diff --git a/views/EN/500.pug b/src/views/EN/500.pug similarity index 100% rename from views/EN/500.pug rename to src/views/EN/500.pug diff --git a/views/EN/project/addProjectOverview.pug b/src/views/EN/project/addProjectOverview.pug similarity index 100% rename from views/EN/project/addProjectOverview.pug rename to src/views/EN/project/addProjectOverview.pug diff --git a/views/EN/project/mailinglists.pug b/src/views/EN/project/mailinglists.pug similarity index 100% rename from views/EN/project/mailinglists.pug rename to src/views/EN/project/mailinglists.pug diff --git a/views/EN/project/projects.pug b/src/views/EN/project/projects.pug similarity index 100% rename from views/EN/project/projects.pug rename to src/views/EN/project/projects.pug diff --git a/tsconfig.json b/tsconfig.json index 404cf0b5d22c765dacd8803a1d748d0d2b7780d5..af9f7b6f83f5fea2daa399dc16525b22267c4fac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ "module": "commonjs", "strict": true, "outDir": "./built", - "rootDir": "./", + "rootDir": "./src", "esModuleInterop": true, "allowJs": true }