diff --git a/README.md b/README.md index 603ea8178..45006581c 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,11 @@ At the same time, it should be possible in the future to link these networks wit In other words, we are interested in a network of networks and in keeping the data as close as possible to the user and the operator they trusts. +## Introduction + +Have a look into our short video: +[ocelot.social - GitHub - Developer Welcome - Tutorial (english)](https://www.youtube.com/watch?v=gZSL6KvBIiY&list=PLFMD5liPP01kbuReHxYXxv_1fI5rIgS1f&index=1) + ## Directory Layout There are three important directories: @@ -192,6 +197,14 @@ The only deployment method in this repository for development purposes as descri * [NodeJS](https://nodejs.org/en/) * [Neo4J](https://neo4j.com/) +### For Testing + +* [Cypress](https://docs.cypress.io/) +* [Storybook](https://storybook.js.org/) +* [Jest](https://jestjs.io/) +* [Vue Test Utils](https://vue-test-utils.vuejs.org/) +* [ESLint](https://eslint.org/) + ## Attributions Locale Icons made by [Freepik](http://www.freepik.com/) from [www.flaticon.com](https://www.flaticon.com/) is licensed by [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/). diff --git a/backend/src/jwt/decode.spec.js b/backend/src/jwt/decode.spec.js index 78ceadecb..bb247f028 100644 --- a/backend/src/jwt/decode.spec.js +++ b/backend/src/jwt/decode.spec.js @@ -21,8 +21,14 @@ const neode = getNeode() // iss: 'http://localhost:4000', // sub: 'u3' // } +// !!! if the token expires go into the GraphQL Playground in the browser at 'http://localhost:4000' with a running backend and a seeded Neo4j database +// now do the login mutation: +// mutation { +// login(email:"user@example.org", password:"1234") +// } +// replace this token here with the one you received as the result export const validAuthorizationHeader = - 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoidXNlciIsImxvY2F0aW9uTmFtZSI6bnVsbCwibmFtZSI6Ikplbm55IFJvc3RvY2siLCJhYm91dCI6bnVsbCwiYXZhdGFyIjoiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9zYXNoYV9zaGVzdGFrb3YvMTI4LmpwZyIsImlkIjoidTMiLCJlbWFpbCI6InVzZXJAZXhhbXBsZS5vcmciLCJzbHVnIjoiamVubnktcm9zdG9jayIsImlhdCI6MTU1MDg0NjY4MCwiZXhwIjoxNjM3MjQ2NjgwLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjQwMDAiLCJzdWIiOiJ1MyJ9.eZ_mVKas4Wzoc_JrQTEWXyRn7eY64cdIg4vqQ-F_7Jc' + 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InUzIiwibmFtZSI6Ikplbm55IFJvc3RvY2siLCJzbHVnIjoiamVubnktcm9zdG9jayIsImlhdCI6MTYzNzY0NDMwMCwiZXhwIjoxNzAwNzU5NTAwLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjMwMDAiLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjQwMDAiLCJzdWIiOiJ1MyJ9.ispIfRfgkXuYoIhKx7x2jPxgvHDJVv1ogMycLmfUnsk' beforeAll(async () => { await cleanDatabase() @@ -47,6 +53,7 @@ describe('decode', () => { beforeEach(() => { authorizationHeader = null }) + it('returns null', returnsNull) }) @@ -54,6 +61,7 @@ describe('decode', () => { beforeEach(() => { authorizationHeader = undefined }) + it('returns null', returnsNull) }) @@ -61,6 +69,7 @@ describe('decode', () => { beforeEach(() => { authorizationHeader = 'blah' }) + it('returns null', returnsNull) }) @@ -68,6 +77,7 @@ describe('decode', () => { beforeEach(() => { authorizationHeader = validAuthorizationHeader }) + it('returns null', returnsNull) describe('and corresponding user in the database', () => {