Add SQL comments for keywords
graphql-api-js
Apollo graphql api server for Photowall
Run it locally
Create an .env file (see .env.example for what to set). Run
$ docker compose build
$ docker compose up
Then head over to The playground GUI in the browser
Run tests
Scripts will create the insert sql files for a randomized fake data postgres database. This database is based of the actual db in photowall project.
npm test
Writing tests
The tests are held in testcontainers testcontainers-node. One container holding a test postgres database and one container started from the Dockerfile containing the Apollo GraphQL server. These containers have connections with each other.
Each test is build around inserting fake data in the empty db, fetching that data through the GraphQL and with raw Sql queries and then comparing the results.
To write new inserts into the DB generate sql files with js in the src/test/db_generator tool. Then load the new sql file in the containerSetup.ts file.
When you have the data you need in the db, write tests in all.test.ts file following the pattern already set.