diff --git a/backend/package.json b/backend/package.json
index f6cb0de6b..2ec7a1845 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -47,12 +47,12 @@
"apollo-client": "~2.6.2",
"apollo-link-context": "~1.0.14",
"apollo-link-http": "~1.5.14",
- "apollo-server": "~2.6.2",
+ "apollo-server": "~2.6.3",
"bcryptjs": "~2.4.3",
"cheerio": "~1.0.0-rc.3",
"cors": "~2.8.5",
"cross-env": "~5.2.0",
- "date-fns": "2.0.0-alpha.31",
+ "date-fns": "2.0.0-alpha.32",
"debug": "~4.1.1",
"dotenv": "~8.0.0",
"express": "~4.17.1",
@@ -87,7 +87,7 @@
"@babel/plugin-proposal-throw-expressions": "^7.2.0",
"@babel/preset-env": "~7.4.5",
"@babel/register": "~7.4.4",
- "apollo-server-testing": "~2.6.2",
+ "apollo-server-testing": "~2.6.3",
"babel-core": "~7.0.0-0",
"babel-eslint": "~10.0.1",
"babel-jest": "~24.8.0",
diff --git a/backend/yarn.lock b/backend/yarn.lock
index e92070fe9..7aa9f9898 100644
--- a/backend/yarn.lock
+++ b/backend/yarn.lock
@@ -1029,10 +1029,10 @@
"@types/express-serve-static-core" "*"
"@types/serve-static" "*"
-"@types/express@4.16.1":
- version "4.16.1"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.1.tgz#d756bd1a85c34d87eaf44c888bad27ba8a4b7cf0"
- integrity sha512-V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg==
+"@types/express@4.17.0":
+ version "4.17.0"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.0.tgz#49eaedb209582a86f12ed9b725160f12d04ef287"
+ integrity sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw==
dependencies:
"@types/body-parser" "*"
"@types/express-serve-static-core" "*"
@@ -1363,6 +1363,18 @@ apollo-engine-reporting@1.3.0:
async-retry "^1.2.1"
graphql-extensions "0.7.2"
+apollo-engine-reporting@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-1.3.1.tgz#f2c2c63f865871a57c15cdbb2a3bcd4b4af28115"
+ integrity sha512-e0Xp+0yite8DH/xm9fnJt42CxfWAcY6waiq3icCMAgO9T7saXzVOPpl84SkuA+hIJUBtfaKrTnC+7Jxi/I7OrQ==
+ dependencies:
+ apollo-engine-reporting-protobuf "0.3.1"
+ apollo-graphql "^0.3.0"
+ apollo-server-core "2.6.3"
+ apollo-server-env "2.4.0"
+ async-retry "^1.2.1"
+ graphql-extensions "0.7.2"
+
apollo-env@0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.5.1.tgz#b9b0195c16feadf0fe9fd5563edb0b9b7d9e97d3"
@@ -1457,6 +1469,32 @@ apollo-server-core@2.6.2:
subscriptions-transport-ws "^0.9.11"
ws "^6.0.0"
+apollo-server-core@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.6.3.tgz#786c8251c82cf29acb5cae9635a321f0644332ae"
+ integrity sha512-tfC0QO1NbJW3ShkB5pRCnUaYEkW2AwnswaTeedkfv//EO3yiC/9LeouCK5F22T8stQG+vGjvCqf0C8ldI/XsIA==
+ dependencies:
+ "@apollographql/apollo-tools" "^0.3.6"
+ "@apollographql/graphql-playground-html" "1.6.20"
+ "@types/ws" "^6.0.0"
+ apollo-cache-control "0.7.2"
+ apollo-datasource "0.5.0"
+ apollo-engine-reporting "1.3.1"
+ apollo-server-caching "0.4.0"
+ apollo-server-env "2.4.0"
+ apollo-server-errors "2.3.0"
+ apollo-server-plugin-base "0.5.2"
+ apollo-tracing "0.7.2"
+ fast-json-stable-stringify "^2.0.0"
+ graphql-extensions "0.7.2"
+ graphql-subscriptions "^1.0.0"
+ graphql-tag "^2.9.2"
+ graphql-tools "^4.0.0"
+ graphql-upload "^8.0.2"
+ sha.js "^2.4.11"
+ subscriptions-transport-ws "^0.9.11"
+ ws "^6.0.0"
+
apollo-server-core@^1.3.6, apollo-server-core@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.4.0.tgz#4faff7f110bfdd6c3f47008302ae24140f94c592"
@@ -1479,18 +1517,18 @@ apollo-server-errors@2.3.0:
resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.3.0.tgz#700622b66a16dffcad3b017e4796749814edc061"
integrity sha512-rUvzwMo2ZQgzzPh2kcJyfbRSfVKRMhfIlhY7BzUfM4x6ZT0aijlgsf714Ll3Mbf5Fxii32kD0A/DmKsTecpccw==
-apollo-server-express@2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.6.2.tgz#526297c01a7a32fe9215566f9fd7ff92e82f1fa0"
- integrity sha512-nbL3noJ5KxKGg+hT8UsAA7++oHWq/KNSevfdCluWTfUNqH1vYRTvAnARx/6JM06S9zcPTfOLcqwHnDnY9zYFxA==
+apollo-server-express@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.6.3.tgz#62034c978f84207615c0430fb37ab006f71146fe"
+ integrity sha512-8ca+VpKArgNzFar0D3DesWnn0g9YDtFLhO56TQprHh2Spxu9WxTnYNjsYs2MCCNf+iV/uy7vTvEknErvnIcZaQ==
dependencies:
"@apollographql/graphql-playground-html" "1.6.20"
"@types/accepts" "^1.3.5"
"@types/body-parser" "1.17.0"
"@types/cors" "^2.8.4"
- "@types/express" "4.16.1"
+ "@types/express" "4.17.0"
accepts "^1.3.5"
- apollo-server-core "2.6.2"
+ apollo-server-core "2.6.3"
body-parser "^1.18.3"
cors "^2.8.4"
graphql-subscriptions "^1.0.0"
@@ -1523,20 +1561,20 @@ apollo-server-plugin-base@0.5.2:
resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.5.2.tgz#f97ba983f1e825fec49cba8ff6a23d00e1901819"
integrity sha512-j81CpadRLhxikBYHMh91X4aTxfzFnmmebEiIR9rruS6dywWCxV2aLW87l9ocD1MiueNam0ysdwZkX4F3D4csNw==
-apollo-server-testing@~2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.6.2.tgz#e0ecddd565fce1c38a346f9fbe6118f543ccf6a6"
- integrity sha512-I9QLFk4I/z9oOIXfnLc8RPBYAKih6Olrg3RDeRvWhDjLQ8gfALXVhCO+7WuvM35wNZcZVn7aXBeZ8Y3mlgkj8w==
+apollo-server-testing@~2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-testing/-/apollo-server-testing-2.6.3.tgz#a0199a5d42000e60ecf0dea44b851f5f581e280e"
+ integrity sha512-LTkegcGVSkM+pA0FINDSYVl3TiFYKZyfjlKrEr/LN6wLiL6gbRgy6LMtk2j+qli/bnTDqqQREX8OEqmV8FKUoQ==
dependencies:
- apollo-server-core "2.6.2"
+ apollo-server-core "2.6.3"
-apollo-server@~2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.6.2.tgz#33fe894b740588f059a7679346516ffce50377d5"
- integrity sha512-fMXaAKIb0dX0lzcZ4zlu7ay1L596d9HTNkdn8cKuM7zmTpugZSAL966COguJUDSjUS9CaB1Kh5hl1yRuRqHXSA==
+apollo-server@~2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.6.3.tgz#71235325449c6d3881a5143975ca44c07a07d2d7"
+ integrity sha512-pTIXE5xEMAikKLTIBIqLNvimMETiZbzmiqDb6BGzIUicAz4Rxa1/+bDi1ZeJWrZQjE/TfBLd2Si3qam7dZGrjw==
dependencies:
- apollo-server-core "2.6.2"
- apollo-server-express "2.6.2"
+ apollo-server-core "2.6.3"
+ apollo-server-express "2.6.3"
express "^4.0.0"
graphql-subscriptions "^1.0.0"
graphql-tools "^4.0.0"
@@ -2586,10 +2624,10 @@ data-urls@^1.0.0:
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
-date-fns@2.0.0-alpha.31:
- version "2.0.0-alpha.31"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-alpha.31.tgz#51bcfdca25dfc9bea334a556ab33dfc0bb00421c"
- integrity sha512-S19PwMqnbYsqcbCg02Yj9gv4veVNZ0OX7v2+zcd+Mq0RI7LoDKJipJjnMrTZ3Cc6blDuTce5G/pHXcVIGRwJWQ==
+date-fns@2.0.0-alpha.32:
+ version "2.0.0-alpha.32"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-alpha.32.tgz#e36472aac2ff49b199dd7b257807ca1c89bbe603"
+ integrity sha512-Rv9g3piGxEp10ujgPODgVDfkn1Xz1HDZASEKmGsP/RhU4DCAugdNfnEjE52mvz8G3Ha5XFlQMDEb6Lwryb9Wfg==
debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
diff --git a/package.json b/package.json
index dd7454c54..61274bcd6 100644
--- a/package.json
+++ b/package.json
@@ -22,8 +22,8 @@
"codecov": "^3.5.0",
"cross-env": "^5.2.0",
"cypress": "^3.3.1",
- "cypress-cucumber-preprocessor": "^1.11.2",
- "cypress-file-upload": "^3.1.2",
+ "cypress-cucumber-preprocessor": "^1.12.0",
+ "cypress-file-upload": "^3.1.3",
"cypress-plugin-retries": "^1.2.2",
"dotenv": "^8.0.0",
"faker": "^4.1.0",
diff --git a/webapp/components/Avatar/Avatar.spec.js b/webapp/components/Avatar/Avatar.spec.js
index ae91fecfe..d3ebcb030 100644
--- a/webapp/components/Avatar/Avatar.spec.js
+++ b/webapp/components/Avatar/Avatar.spec.js
@@ -1,9 +1,11 @@
import { mount, createLocalVue } from '@vue/test-utils'
import Styleguide from '@human-connection/styleguide'
import Avatar from './Avatar.vue'
+import Filters from '~/plugins/vue-filters'
const localVue = createLocalVue()
localVue.use(Styleguide)
+localVue.use(Filters)
describe('Avatar.vue', () => {
let propsData = {}
diff --git a/webapp/components/Avatar/Avatar.vue b/webapp/components/Avatar/Avatar.vue
index 0d997c745..ec2f9b28b 100644
--- a/webapp/components/Avatar/Avatar.vue
+++ b/webapp/components/Avatar/Avatar.vue
@@ -1,5 +1,10 @@
-
+
diff --git a/webapp/components/Image/spec.js b/webapp/components/Image/spec.js
deleted file mode 100644
index be568964a..000000000
--- a/webapp/components/Image/spec.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { shallowMount } from '@vue/test-utils'
-import Image from '.'
-
-describe('Image', () => {
- let propsData = { imageProps: { class: 'hc-badge', src: '' } }
-
- const Wrapper = () => {
- return shallowMount(Image, { propsData })
- }
-
- it('renders', () => {
- expect(Wrapper().is('img')).toBe(true)
- })
-
- it('passes properties down to `img`', () => {
- expect(Wrapper().classes()).toEqual(['hc-badge'])
- })
-
- describe('given a relative `src`', () => {
- beforeEach(() => {
- propsData.imageProps.src = '/img/badges/fundraisingbox_de_airship.svg'
- })
-
- it('adds a prefix to load the image from the backend', () => {
- expect(Wrapper().attributes('src')).toBe('/api/img/badges/fundraisingbox_de_airship.svg')
- })
- })
-
- describe('given an absolute `src`', () => {
- beforeEach(() => {
- propsData.imageProps.src = 'http://lorempixel.com/640/480/animals'
- })
-
- it('keeps the URL as is', () => {
- // e.g. our seeds have absolute image URLs
- expect(Wrapper().attributes('src')).toBe('http://lorempixel.com/640/480/animals')
- })
- })
-})
diff --git a/webapp/components/Password/Change.spec.js b/webapp/components/Password/Change.spec.js
index cffe86466..a15695a55 100644
--- a/webapp/components/Password/Change.spec.js
+++ b/webapp/components/Password/Change.spec.js
@@ -1,10 +1,12 @@
import { mount, createLocalVue } from '@vue/test-utils'
import ChangePassword from './Change.vue'
import Styleguide from '@human-connection/styleguide'
+import Filters from '~/plugins/vue-filters'
const localVue = createLocalVue()
localVue.use(Styleguide)
+localVue.use(Filters)
describe('ChangePassword.vue', () => {
let mocks
diff --git a/webapp/components/User/spec.js b/webapp/components/User/spec.js
index 56bdc10f1..312615a5b 100644
--- a/webapp/components/User/spec.js
+++ b/webapp/components/User/spec.js
@@ -2,6 +2,7 @@ import { mount, createLocalVue, RouterLinkStub } from '@vue/test-utils'
import User from './index'
import Vuex from 'vuex'
import VTooltip from 'v-tooltip'
+import Filters from '~/plugins/vue-filters'
import Styleguide from '@human-connection/styleguide'
@@ -11,6 +12,7 @@ const filter = jest.fn(str => str)
localVue.use(Vuex)
localVue.use(VTooltip)
localVue.use(Styleguide)
+localVue.use(Filters)
localVue.filter('truncate', filter)
diff --git a/webapp/components/comments/CommentList/CommentList.spec.js b/webapp/components/comments/CommentList/CommentList.spec.js
index 9bfa13ea5..c4ee0624c 100644
--- a/webapp/components/comments/CommentList/CommentList.spec.js
+++ b/webapp/components/comments/CommentList/CommentList.spec.js
@@ -3,11 +3,13 @@ import CommentList from '.'
import Empty from '~/components/Empty'
import Vuex from 'vuex'
import Styleguide from '@human-connection/styleguide'
+import Filters from '~/plugins/vue-filters'
const localVue = createLocalVue()
localVue.use(Styleguide)
localVue.use(Vuex)
+localVue.use(Filters)
localVue.filter('truncate', string => string)
config.stubs['v-popover'] = ''
diff --git a/webapp/package.json b/webapp/package.json
index aa26eedb6..98062c387 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -59,7 +59,7 @@
"apollo-client": "~2.6.2",
"cookie-universal-nuxt": "~2.0.16",
"cross-env": "~5.2.0",
- "date-fns": "2.0.0-alpha.31",
+ "date-fns": "2.0.0-alpha.32",
"express": "~4.17.1",
"graphql": "~14.3.1",
"jsonwebtoken": "~8.5.1",
diff --git a/webapp/pages/profile/_id/_slug.spec.js b/webapp/pages/profile/_id/_slug.spec.js
index 1bb0eea2e..3c849f538 100644
--- a/webapp/pages/profile/_id/_slug.spec.js
+++ b/webapp/pages/profile/_id/_slug.spec.js
@@ -2,11 +2,13 @@ import { config, mount, shallowMount, createLocalVue } from '@vue/test-utils'
import ProfileSlug from './_slug.vue'
import Vuex from 'vuex'
import Styleguide from '@human-connection/styleguide'
+import Filters from '~/plugins/vue-filters'
const localVue = createLocalVue()
localVue.use(Vuex)
localVue.use(Styleguide)
+localVue.use(Filters)
localVue.filter('date', d => d)
config.stubs['no-ssr'] = ''
diff --git a/webapp/pages/settings/my-social-media.spec.js b/webapp/pages/settings/my-social-media.spec.js
index 34793e066..55ba27bb8 100644
--- a/webapp/pages/settings/my-social-media.spec.js
+++ b/webapp/pages/settings/my-social-media.spec.js
@@ -2,11 +2,13 @@ import { mount, createLocalVue } from '@vue/test-utils'
import MySocialMedia from './my-social-media.vue'
import Vuex from 'vuex'
import Styleguide from '@human-connection/styleguide'
+import Filters from '~/plugins/vue-filters'
const localVue = createLocalVue()
localVue.use(Vuex)
localVue.use(Styleguide)
+localVue.use(Filters)
describe('my-social-media.vue', () => {
let wrapper
diff --git a/webapp/pages/settings/my-social-media.vue b/webapp/pages/settings/my-social-media.vue
index b53df6170..948e77407 100644
--- a/webapp/pages/settings/my-social-media.vue
+++ b/webapp/pages/settings/my-social-media.vue
@@ -4,12 +4,7 @@
-
+
{{ link.url }}
@@ -44,12 +39,8 @@