# Please be aware that this config used on Circle CI in order to build docker images
version: '3'

services:
  payment_gateway:
    image: registry.gitlab.com/skinholdings/drakemall-payment-gateway:stable
    build:
      context: .
      args:
        npm_token: $NPM_TOKEN
    environment:
      DOMAIN_NAME: dev.drakemall.com
      WHITELISTED_DOMAINS: local,dev.drakemall.com
      SWAGGER_UI_ENABLED: "yes"
      SWAGGER_UI_PORT: "3033"
      PORT: "3031"
      CURRENCY_CODE: USD
      VOUCHERIFY_APP_ID: ""
      VOUCHERIFY_SECRET: ""
      MONGODB_URI: mongodb://mongo/drakemall
      AMQP_URL: amqp://rabbit:5672/
      JWT_SECRET: f39ac4ffc0747f36896fff3a94873c987de0dd81c7f4ec916ee0949dc04b67a
    ports:
    - 3031/tcp
    - 3033:3033/tcp
    stdin_open: true

  test:
    environment:
      AMQP_URL: amqp://guest:guest@rabbit:5672/
      MONGODB_URI: mongodb://mongo:27017/drakemall
      NODE_OPTIONS: ''
    build:
      context: .
      dockerfile: Dockerfile
      args:
        npm_token: $NPM_TOKEN
    command: npx jest --forceExit
    depends_on:
      - mongo
      - rabbit

  mongo:
    image: registry.gitlab.com/skinholdings/ops/dev-stacks/mongo:3.6

  rabbit:
    image: registry.gitlab.com/skinholdings/ops/dev-stacks/rabbitmq:3.7.4-management
