From c9f90058ed36f442a0e95989c61fdb1a86727a3a Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 17:25:05 +0200 Subject: [PATCH 01/15] just a commit to start another test PR --- .codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codecov.yml b/.codecov.yml index acb9a1406..79ce649fc 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -155,7 +155,7 @@ coverage: # - "old_path::new_path" comment: - layout: header, diff, trends, uncovered, reach, files, tree, changes, sunburst, flags + layout: header, diff, trends, uncovered, reach, files, tree, changes, sunburst, flags # branches: * behavior: new # default = posts once then update, posts new if delete # once = post once then updates From d9575d6b482edc7333c241589fa0009864e50679 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 17:52:28 +0200 Subject: [PATCH 02/15] fixed .codecov.yml --- .codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codecov.yml b/.codecov.yml index 79ce649fc..1125131af 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -155,7 +155,7 @@ coverage: # - "old_path::new_path" comment: - layout: header, diff, trends, uncovered, reach, files, tree, changes, sunburst, flags # + layout: files, diff, reach, flags branches: * behavior: new # default = posts once then update, posts new if delete # once = post once then updates From ec72bdd9bd0c27b9e96a620c4e4b0e2189bdd578 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 17:59:29 +0200 Subject: [PATCH 03/15] included all known and valid options --- .codecov.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.codecov.yml b/.codecov.yml index 1125131af..71d68f750 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -155,9 +155,9 @@ coverage: # - "old_path::new_path" comment: - layout: files, diff, reach, flags + layout: header, diff, uncovered, reach, files, tree, changes, sunburst, flags branches: * behavior: new # default = posts once then update, posts new if delete - # once = post once then updates - # new = delete old, post new - # spammy = post new \ No newline at end of file + # once = post once then updates + # new = delete old, post new + # spammy = post new \ No newline at end of file From af9469908e90859d9cbc2653288085b3aad38ff4 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 18:52:01 +0200 Subject: [PATCH 04/15] removed patch status?! --- .codecov.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.codecov.yml b/.codecov.yml index 71d68f750..254150776 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -114,8 +114,8 @@ coverage: paths: - webapp/ # only include coverage in "webapp/" folder - #patch: - # default: + patch: + default: false # against: parent # target: 80% # branches: null From 12ec2b8683d905f213176aa73aca21752403ff37 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 19:13:09 +0200 Subject: [PATCH 05/15] fixed codecov report layout, disabled tests in front- & backend for testing - should fail --- .codecov.yml | 12 +++++++++--- ...leware.spec.js => fixImageUrlsMiddleware.speX.js} | 0 .../Category/{index.spec.js => index.speX.js} | 0 3 files changed, 9 insertions(+), 3 deletions(-) rename backend/src/middleware/{fixImageUrlsMiddleware.spec.js => fixImageUrlsMiddleware.speX.js} (100%) rename webapp/components/Category/{index.spec.js => index.speX.js} (100%) diff --git a/.codecov.yml b/.codecov.yml index 254150776..2767ed675 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -155,9 +155,15 @@ coverage: # - "old_path::new_path" comment: - layout: header, diff, uncovered, reach, files, tree, changes, sunburst, flags - branches: * + # layout options are quite limited in v4.x - there have been way more options in v1.0 + layout: reach, diff, flags, files # mostly old options: header, diff, uncovered, reach, files, tree, changes, sunburst, flags behavior: new # default = posts once then update, posts new if delete # once = post once then updates # new = delete old, post new - # spammy = post new \ No newline at end of file + # spammy = post new + require_changes: false # if true: only post the comment if coverage changes + require_base: no # [yes :: must have a base report to post] + require_head: no # [yes :: must have a head report to post] + branches: null # branch names that can post comment + flags: null + paths: null \ No newline at end of file diff --git a/backend/src/middleware/fixImageUrlsMiddleware.spec.js b/backend/src/middleware/fixImageUrlsMiddleware.speX.js similarity index 100% rename from backend/src/middleware/fixImageUrlsMiddleware.spec.js rename to backend/src/middleware/fixImageUrlsMiddleware.speX.js diff --git a/webapp/components/Category/index.spec.js b/webapp/components/Category/index.speX.js similarity index 100% rename from webapp/components/Category/index.spec.js rename to webapp/components/Category/index.speX.js From 4092a8873b4c20fb1fec48e34b2e0d6f0319913f Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 19:38:01 +0200 Subject: [PATCH 06/15] overall coverage seems not to be reported..., removed parts of tests not the whole thing --- ...leware.speX.js => fixImageUrlsMiddleware.spec.js} | 0 backend/src/middleware/permissionsMiddleware.spec.js | 8 ++++---- .../Category/{index.speX.js => index.spes.js} | 0 webapp/components/Comment.spec.js | 12 ++++++------ 4 files changed, 10 insertions(+), 10 deletions(-) rename backend/src/middleware/{fixImageUrlsMiddleware.speX.js => fixImageUrlsMiddleware.spec.js} (100%) rename webapp/components/Category/{index.speX.js => index.spes.js} (100%) diff --git a/backend/src/middleware/fixImageUrlsMiddleware.speX.js b/backend/src/middleware/fixImageUrlsMiddleware.spec.js similarity index 100% rename from backend/src/middleware/fixImageUrlsMiddleware.speX.js rename to backend/src/middleware/fixImageUrlsMiddleware.spec.js diff --git a/backend/src/middleware/permissionsMiddleware.spec.js b/backend/src/middleware/permissionsMiddleware.spec.js index 89904a7bf..11401c7e0 100644 --- a/backend/src/middleware/permissionsMiddleware.spec.js +++ b/backend/src/middleware/permissionsMiddleware.spec.js @@ -34,7 +34,7 @@ describe('authorization', () => { return graphQLClient.request('{User(name: "Owner") { email } }') } - describe('not logged in', () => { + /* describe('not logged in', () => { it('rejects', async () => { await expect(action()).rejects.toThrow('Not Authorised!') }) @@ -46,9 +46,9 @@ describe('authorization', () => { expect(error.response.data).toEqual({ User: [ { email: null } ] }) } }) - }) + }) */ - describe('as owner', () => { + /* describe('as owner', () => { beforeEach(() => { loginCredentials = { email: 'owner@example.org', @@ -59,7 +59,7 @@ describe('authorization', () => { it('exposes the owner\'s email address', async () => { await expect(action()).resolves.toEqual({ User: [ { email: 'owner@example.org' } ] }) }) - }) + }) */ describe('authenticated as another user', () => { beforeEach(async () => { diff --git a/webapp/components/Category/index.speX.js b/webapp/components/Category/index.spes.js similarity index 100% rename from webapp/components/Category/index.speX.js rename to webapp/components/Category/index.spes.js diff --git a/webapp/components/Comment.spec.js b/webapp/components/Comment.spec.js index 83a738956..3226802bf 100644 --- a/webapp/components/Comment.spec.js +++ b/webapp/components/Comment.spec.js @@ -47,32 +47,32 @@ describe('Comment.vue', () => { } }) - it('renders content', () => { + /*it('renders content', () => { const wrapper = Wrapper() expect(wrapper.text()).toMatch('Hello I am a comment content') - }) + })*/ describe('which is disabled', () => { beforeEach(() => { propsData.comment.disabled = true }) - it('renders no comment data', () => { + /*it('renders no comment data', () => { const wrapper = Wrapper() expect(wrapper.text()).not.toMatch('comment content') - }) + })*/ it('has no "disabled-content" css class', () => { const wrapper = Wrapper() expect(wrapper.classes()).not.toContain('disabled-content') }) - it('translates a placeholder', () => { + /*it('translates a placeholder', () => { const wrapper = Wrapper() const calls = mocks.$t.mock.calls const expected = [['comment.content.unavailable-placeholder']] expect(calls).toEqual(expect.arrayContaining(expected)) - }) + })*/ describe('for a moderator', () => { beforeEach(() => { From ec9b3607d8ea8fa003fd06fbbb4e3ffce2d1951b Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 19:52:04 +0200 Subject: [PATCH 07/15] compute coverage over all code --- backend/package.json | 12 ++++++++++-- webapp/package.json | 19 ++++++++++++++----- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/backend/package.json b/backend/package.json index 304e31176..9c9ccba54 100644 --- a/backend/package.json +++ b/backend/package.json @@ -27,7 +27,15 @@ "jest": { "verbose": true, "collectCoverage": true, - "coverageReporters": ["text", "lcov"], + "collectCoverageFrom": [ + "**/*.{js}", + "!**/node_modules/**", + "!**/test/**" + ], + "coverageReporters": [ + "text", + "lcov" + ], "testMatch": [ "**/src/**/?(*.)+(spec|test).js?(x)" ] @@ -96,4 +104,4 @@ "nodemon": "~1.19.0", "supertest": "~4.0.2" } -} +} \ No newline at end of file diff --git a/webapp/package.json b/webapp/package.json index cbcb8dd1b..23f541cf6 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -18,11 +18,17 @@ "jest": { "verbose": true, "collectCoverage": true, - "coverageReporters": ["text", "lcov"], + "collectCoverageFrom": [ + "**/*.{js,vue}", + "!**/node_modules/**", + "!**/.nuxt/**" + ], + "coverageReporters": [ + "text", + "lcov" + ], "moduleFileExtensions": [ "js", - "json", - "vue" ], "transform": { ".*\\.(vue)$": "vue-jest", @@ -31,7 +37,10 @@ "moduleNameMapper": { "^@/(.*)$": "/src/$1", "^~/(.*)$": "/$1" - } + }, + "testMatch": [ + "**/src/**/?(*.)+(spec|test).js?(x)" + ] }, "dependencies": { "@human-connection/styleguide": "0.5.15", @@ -86,4 +95,4 @@ "vue-jest": "~3.0.4", "vue-svg-loader": "~0.12.0" } -} +} \ No newline at end of file From 3ca04a5c1e830815698ad772b208f6e1bb667513 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 20:02:52 +0200 Subject: [PATCH 08/15] typo --- webapp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/package.json b/webapp/package.json index 23f541cf6..900adfc72 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -28,7 +28,7 @@ "lcov" ], "moduleFileExtensions": [ - "js", + "js" ], "transform": { ".*\\.(vue)$": "vue-jest", From 900dfb9693185ef509dc6e791fc662fdddd76699 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 20:04:55 +0200 Subject: [PATCH 09/15] renabled tests - it seems like the reports do not work very well --- backend/src/middleware/permissionsMiddleware.spec.js | 8 ++++---- webapp/components/Comment.spec.js | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/backend/src/middleware/permissionsMiddleware.spec.js b/backend/src/middleware/permissionsMiddleware.spec.js index 11401c7e0..89904a7bf 100644 --- a/backend/src/middleware/permissionsMiddleware.spec.js +++ b/backend/src/middleware/permissionsMiddleware.spec.js @@ -34,7 +34,7 @@ describe('authorization', () => { return graphQLClient.request('{User(name: "Owner") { email } }') } - /* describe('not logged in', () => { + describe('not logged in', () => { it('rejects', async () => { await expect(action()).rejects.toThrow('Not Authorised!') }) @@ -46,9 +46,9 @@ describe('authorization', () => { expect(error.response.data).toEqual({ User: [ { email: null } ] }) } }) - }) */ + }) - /* describe('as owner', () => { + describe('as owner', () => { beforeEach(() => { loginCredentials = { email: 'owner@example.org', @@ -59,7 +59,7 @@ describe('authorization', () => { it('exposes the owner\'s email address', async () => { await expect(action()).resolves.toEqual({ User: [ { email: 'owner@example.org' } ] }) }) - }) */ + }) describe('authenticated as another user', () => { beforeEach(async () => { diff --git a/webapp/components/Comment.spec.js b/webapp/components/Comment.spec.js index 3226802bf..83a738956 100644 --- a/webapp/components/Comment.spec.js +++ b/webapp/components/Comment.spec.js @@ -47,32 +47,32 @@ describe('Comment.vue', () => { } }) - /*it('renders content', () => { + it('renders content', () => { const wrapper = Wrapper() expect(wrapper.text()).toMatch('Hello I am a comment content') - })*/ + }) describe('which is disabled', () => { beforeEach(() => { propsData.comment.disabled = true }) - /*it('renders no comment data', () => { + it('renders no comment data', () => { const wrapper = Wrapper() expect(wrapper.text()).not.toMatch('comment content') - })*/ + }) it('has no "disabled-content" css class', () => { const wrapper = Wrapper() expect(wrapper.classes()).not.toContain('disabled-content') }) - /*it('translates a placeholder', () => { + it('translates a placeholder', () => { const wrapper = Wrapper() const calls = mocks.$t.mock.calls const expected = [['comment.content.unavailable-placeholder']] expect(calls).toEqual(expect.arrayContaining(expected)) - })*/ + }) describe('for a moderator', () => { beforeEach(() => { From 28c44f27811a14df18167e4671999ba7fccf63dc Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 20:16:18 +0200 Subject: [PATCH 10/15] corrected testMatch pattern, fixed backend coverage collection (?) --- backend/package.json | 4 ++-- webapp/package.json | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/backend/package.json b/backend/package.json index 9c9ccba54..a995c5dd6 100644 --- a/backend/package.json +++ b/backend/package.json @@ -28,7 +28,7 @@ "verbose": true, "collectCoverage": true, "collectCoverageFrom": [ - "**/*.{js}", + "**/*.js", "!**/node_modules/**", "!**/test/**" ], @@ -37,7 +37,7 @@ "lcov" ], "testMatch": [ - "**/src/**/?(*.)+(spec|test).js?(x)" + "**/src/**/?(*.).spec.js" ] }, "dependencies": { diff --git a/webapp/package.json b/webapp/package.json index 900adfc72..a41f13e11 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -27,9 +27,6 @@ "text", "lcov" ], - "moduleFileExtensions": [ - "js" - ], "transform": { ".*\\.(vue)$": "vue-jest", "^.+\\.js$": "/node_modules/babel-jest" @@ -39,7 +36,7 @@ "^~/(.*)$": "/$1" }, "testMatch": [ - "**/src/**/?(*.)+(spec|test).js?(x)" + "**/?(*.).spec.js" ] }, "dependencies": { From 9d7a9fd3ded4d33f419f2ec45b7c12fc07007086 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 20:40:03 +0200 Subject: [PATCH 11/15] bavel plugin for dynamic imports, frontend test & coverage collection working fine --- webapp/.babelrc | 5 ++++- webapp/package.json | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/webapp/.babelrc b/webapp/.babelrc index fbd5b7451..b23873e12 100644 --- a/webapp/.babelrc +++ b/webapp/.babelrc @@ -1,4 +1,7 @@ { + "plugins": [ + "@babel/plugin-syntax-dynamic-import" + ], "presets": [ [ "@babel/preset-env", @@ -21,4 +24,4 @@ ] } } -} +} \ No newline at end of file diff --git a/webapp/package.json b/webapp/package.json index a41f13e11..1cf5ec8c8 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -31,12 +31,17 @@ ".*\\.(vue)$": "vue-jest", "^.+\\.js$": "/node_modules/babel-jest" }, + "moduleFileExtensions": [ + "js", + "json", + "vue" + ], "moduleNameMapper": { "^@/(.*)$": "/src/$1", "^~/(.*)$": "/$1" }, "testMatch": [ - "**/?(*.).spec.js" + "**/?(*.)+(spec|test).js?(x)" ] }, "dependencies": { @@ -69,6 +74,7 @@ }, "devDependencies": { "@babel/core": "~7.4.4", + "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/preset-env": "~7.4.4", "@vue/cli-shared-utils": "~3.7.0", "@vue/eslint-config-prettier": "~4.0.1", @@ -92,4 +98,4 @@ "vue-jest": "~3.0.4", "vue-svg-loader": "~0.12.0" } -} \ No newline at end of file +} From 466a9584eabc6b0e8a0931ea6d4b5a253fe9644c Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 20:43:13 +0200 Subject: [PATCH 12/15] backend test pattern --- backend/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/package.json b/backend/package.json index a995c5dd6..9a4d40c3d 100644 --- a/backend/package.json +++ b/backend/package.json @@ -37,7 +37,7 @@ "lcov" ], "testMatch": [ - "**/src/**/?(*.).spec.js" + "**/src/**/?(*.)+(spec|test).js?(x)" ] }, "dependencies": { From 63b7ded4b60aa7bf5c204b1ac6c0937ef410a554 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 22:42:33 +0200 Subject: [PATCH 13/15] ignore test modules in coverage estimation --- backend/package.json | 3 ++- webapp/package.json | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/package.json b/backend/package.json index 9a4d40c3d..95f5999b4 100644 --- a/backend/package.json +++ b/backend/package.json @@ -30,7 +30,8 @@ "collectCoverageFrom": [ "**/*.js", "!**/node_modules/**", - "!**/test/**" + "!**/test/**", + "!**/src/**/?(*.)+(spec|test).js?(x)" ], "coverageReporters": [ "text", diff --git a/webapp/package.json b/webapp/package.json index 1cf5ec8c8..adb72778c 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -21,7 +21,8 @@ "collectCoverageFrom": [ "**/*.{js,vue}", "!**/node_modules/**", - "!**/.nuxt/**" + "!**/.nuxt/**", + "!**/?(*.)+(spec|test).js?(x)" ], "coverageReporters": [ "text", @@ -98,4 +99,4 @@ "vue-jest": "~3.0.4", "vue-svg-loader": "~0.12.0" } -} +} \ No newline at end of file From 9c9522af8b88cd3b78642458787cc2f94b35c27d Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 22:53:11 +0200 Subject: [PATCH 14/15] typo --- webapp/components/Category/{index.spes.js => index.spec.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename webapp/components/Category/{index.spes.js => index.spec.js} (100%) diff --git a/webapp/components/Category/index.spes.js b/webapp/components/Category/index.spec.js similarity index 100% rename from webapp/components/Category/index.spes.js rename to webapp/components/Category/index.spec.js From 00d5c4fde59b58863d15672c1a58703632bec722 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 8 May 2019 22:58:00 +0200 Subject: [PATCH 15/15] ignore dist folder --- backend/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/package.json b/backend/package.json index 95f5999b4..d57597403 100644 --- a/backend/package.json +++ b/backend/package.json @@ -31,6 +31,7 @@ "**/*.js", "!**/node_modules/**", "!**/test/**", + "!**/dist/**", "!**/src/**/?(*.)+(spec|test).js?(x)" ], "coverageReporters": [