build: off
version: '{build}'
branches:
  only:
    - master
platform: x64
services:
  - mysql
  - postgresql
environment:
  nodejs_version: 6
  NODE_ENV: test
  CREATE_DATABASE: CREATE DATABASE lux_test;
  DROP_DATABASE: DROP DATABASE IF EXISTS lux_test;
  DATABASE_PASSWORD: Password12!
  matrix:
    - DATABASE_DRIVER: pg
      DATABASE_USERNAME: postgres
    - DATABASE_DRIVER: mysql2
      DATABASE_USERNAME: root
    - DATABASE_DRIVER: sqlite3
install:
  - ps: Install-Product node $env:nodejs_version $env:platform
  - npm install
  - npm link
  - ps: Set-Location C:\projects\lux\test\test-app
  - npm install
  - ps: Set-Location C:\projects\lux
before_test:
  - |
    SET PATH=C:\Program Files\PostgreSQL\9.5\bin;%PATH%
    SET PGUSER=postgres
    SET PGPASSWORD=%DATABASE_PASSWORD%

    psql -c "%DROP_DATABASE%"
    psql -c "%CREATE_DATABASE%"
  - ps: |
      $env:MYSQL_PWD="$env:DATABASE_PASSWORD"
      $mysql="C:\Program Files\MySql\MySQL Server 5.7\bin\mysql"

      Invoke-Expression "& '$mysql' -e '$env:DROP_DATABASE' -u root"
      Invoke-Expression "& '$mysql' -e '$env:CREATE_DATABASE' -u root"

      Remove-Item C:\projects\lux\test\test-app\db\* -Force -Include *.sqlite
      Write-Host $null >> C:\projects\lux\test\test-app\db\lux_test_test.sqlite
  - npm run clean
  - npm run build
test_script:
  - npm run flow
  - npm run lint
  - npm test
notifications:
- provider: Webhook
  url: https://webhooks.gitter.im/e/070ebbf83dc0f595c4fb
  method: POST
  on_build_success: true
  on_build_failure: true
  on_build_status_changed: false
