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