From 55b6ba209b21197c60bc9d0e431e4dd951922269 Mon Sep 17 00:00:00 2001 From: Rosanny Date: Tue, 21 Jun 2022 15:13:00 +0200 Subject: [PATCH 1/4] refactor --- controller/controller.ts | 4 ++-- {functions => controller}/gitlab.ts | 0 {functions => utils}/helpers.ts | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename {functions => controller}/gitlab.ts (100%) rename {functions => utils}/helpers.ts (100%) diff --git a/controller/controller.ts b/controller/controller.ts index 34a3e17..9ecf76c 100644 --- a/controller/controller.ts +++ b/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/controller/gitlab.ts similarity index 100% rename from functions/gitlab.ts rename to controller/gitlab.ts diff --git a/functions/helpers.ts b/utils/helpers.ts similarity index 100% rename from functions/helpers.ts rename to utils/helpers.ts -- GitLab From be9dd195e5ab4b3de9f94a02c1b30af422fe9bec Mon Sep 17 00:00:00 2001 From: Rosanny Date: Tue, 21 Jun 2022 19:08:57 +0200 Subject: [PATCH 2/4] clean up codes --- utils/helpers.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/utils/helpers.ts b/utils/helpers.ts index 8950602..83d1196 100644 --- a/utils/helpers.ts +++ b/utils/helpers.ts @@ -1,10 +1,7 @@ const helpers = { stringToArray: function (input: string) { - if (input != null) { - return input.split(',') - } else { - return null - } + if (!input) { return null } + return input.split(',') } } -- GitLab From 7386228218162d332789b796ece345fa63262462 Mon Sep 17 00:00:00 2001 From: Rosanny Date: Tue, 21 Jun 2022 19:10:07 +0200 Subject: [PATCH 3/4] update test --- __test/gitlab.test.ts | 12 ------------ __test/integration.test.ts | 3 +++ __test/methods.test.ts | 16 ---------------- __test/unit.test.ts | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+), 28 deletions(-) delete mode 100644 __test/gitlab.test.ts create mode 100644 __test/integration.test.ts delete mode 100644 __test/methods.test.ts create mode 100644 __test/unit.test.ts diff --git a/__test/gitlab.test.ts b/__test/gitlab.test.ts deleted file mode 100644 index bb18bcd..0000000 --- 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 0000000..daf5f30 --- /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 06dfb06..0000000 --- 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 0000000..a3b4976 --- /dev/null +++ b/__test/unit.test.ts @@ -0,0 +1,18 @@ +import helpers from '../utils/helpers' +import gitlab from '../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 -- GitLab From 601375119f75fdbdab7b0a89abc194e6082e2ef9 Mon Sep 17 00:00:00 2001 From: Rosanny Date: Wed, 22 Jun 2022 13:17:49 +0200 Subject: [PATCH 4/4] re-structure --- .gitlab-ci.yml | 2 +- __test/unit.test.ts | 4 ++-- package.json | 3 ++- app.ts => src/app.ts | 0 {config => src/config}/config.ts | 0 {config => src/config}/dbconn.ts | 0 {controller => src/controller}/controller.ts | 0 {controller => src/controller}/gitlab.ts | 0 {public => src/public}/js/jquery-ui/i18n/datepicker-de.js | 0 {routes => src/routes}/project.ts | 0 {utils => src/utils}/helpers.ts | 0 {views => src/views}/DE/404.pug | 0 {views => src/views}/DE/500.pug | 0 {views => src/views}/DE/project/mailinglists.pug | 0 {views => src/views}/DE/project/pagesList.pug | 0 {views => src/views}/DE/project/project-simplified.pug | 0 {views => src/views}/DE/project/project.html | 0 {views => src/views}/DE/project/projectList.pug | 0 {views => src/views}/DE/project/projectOverview.pug | 0 {views => src/views}/EN/404.pug | 0 {views => src/views}/EN/500.pug | 0 {views => src/views}/EN/project/addProjectOverview.pug | 0 {views => src/views}/EN/project/mailinglists.pug | 0 {views => src/views}/EN/project/projects.pug | 0 tsconfig.json | 2 +- 25 files changed, 6 insertions(+), 5 deletions(-) rename app.ts => src/app.ts (100%) rename {config => src/config}/config.ts (100%) rename {config => src/config}/dbconn.ts (100%) rename {controller => src/controller}/controller.ts (100%) rename {controller => src/controller}/gitlab.ts (100%) rename {public => src/public}/js/jquery-ui/i18n/datepicker-de.js (100%) rename {routes => src/routes}/project.ts (100%) rename {utils => src/utils}/helpers.ts (100%) rename {views => src/views}/DE/404.pug (100%) rename {views => src/views}/DE/500.pug (100%) rename {views => src/views}/DE/project/mailinglists.pug (100%) rename {views => src/views}/DE/project/pagesList.pug (100%) rename {views => src/views}/DE/project/project-simplified.pug (100%) rename {views => src/views}/DE/project/project.html (100%) rename {views => src/views}/DE/project/projectList.pug (100%) rename {views => src/views}/DE/project/projectOverview.pug (100%) rename {views => src/views}/EN/404.pug (100%) rename {views => src/views}/EN/500.pug (100%) rename {views => src/views}/EN/project/addProjectOverview.pug (100%) rename {views => src/views}/EN/project/mailinglists.pug (100%) rename {views => src/views}/EN/project/projects.pug (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b15fcc5..77baf82 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/unit.test.ts b/__test/unit.test.ts index a3b4976..55e3912 100644 --- a/__test/unit.test.ts +++ b/__test/unit.test.ts @@ -1,5 +1,5 @@ -import helpers from '../utils/helpers' -import gitlab from '../controller/gitlab' +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"]) diff --git a/package.json b/package.json index 577035b..91a5bbb 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 100% rename from controller/controller.ts rename to src/controller/controller.ts diff --git a/controller/gitlab.ts b/src/controller/gitlab.ts similarity index 100% rename from controller/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/utils/helpers.ts b/src/utils/helpers.ts similarity index 100% rename from utils/helpers.ts rename to src/utils/helpers.ts 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 404cf0b..af9f7b6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ "module": "commonjs", "strict": true, "outDir": "./built", - "rootDir": "./", + "rootDir": "./src", "esModuleInterop": true, "allowJs": true } -- GitLab