Sign inSign up

devmasx/graphql-server-mock

By devmasx

•Updated almost 8 years ago

Simple graphql server using mocks

Image
0

2.2K

devmasx/graphql-server-mock repository overview

⁠Graphql Server Mock

Simple graphql server using mocks more info⁠

This image it's very useful for create a mocks server in one command, if you mocks your graphql-server with mocks you not need change your consumer graphql source code.

Test grqphql shema

docker run -p 3005:3005 devmasx/graphql-server-mock

open http://localhost:3005⁠

⁠Start

docker run -p 3005:3005 -v $(pwd)/schema.graphql:/app/schema.graphql devmasx/graphql-server-mock

⁠Configure mock

Graphql server use schema.graphql schema for generate all mocks, this it's posible because graphql use type system and it's more easy generate mocks.

⁠Custom Mocks

You can change the mocks with a function, the default mocks use faker npm for generate random words and numbers.

const faker = require('faker')
module.exports = {
  Int: () => faker.random.number(),
  Float: () => faker.random.number(),
  String: () => faker.random.word(),
}

Replace this file in docker image like this

docker run -p 3005:3005 \
  -v $(pwd)/schema.graphql:/app/schema.graphql \
  -v $(pwd)/mocks.js:/app/mocks.js \
  devmasx/graphql-server-mock

⁠API

graphql server use apollo graphql server v2.2.5

const { ApolloServer, gql } = require('apollo-server');
const fs = require("fs")
const mocks = require('./mocks.js')
const schema = fs.readFileSync("./schema.graphql", 'utf8')

const server = new ApolloServer({
  typeDefs: schema,
  mocks: mocks,
});

const port = process.env.SERVER_PORT || 3005
server.listen(port).then(({ url }) => {
  console.log(`🚀 Server ready at ${url}`)
});

Tag summary

Content type

Image

Digest

Size

32.1 MB

Last updated

almost 8 years ago

docker pull devmasx/graphql-server-mock