Skip to content

Instantly share code, notes, and snippets.

View grantcarthew's full-sized avatar
🙂
Coding

Grant Carthew grantcarthew

🙂
Coding
View GitHub Profile
$logPath = 'D:\Temp\github-ping.log'
$title = "Script started at " + (Get-Date)
Set-Content -Value $title -Path $logPath
Write-Host -Object $title
$ip = 'Error'
$logIt = $false
$count = 0
$result = $null
$newResult = $null
$newIp = $null
@grantcarthew
grantcarthew / global-teardown.js
Created March 2, 2019 08:19
medium-global-teardown.js
// global-teardown.js
module.exports = async function () {
await global.__MONGOD__.stop()
}
@grantcarthew
grantcarthew / http-setup.js
Created March 2, 2019 07:50
medium-http-setup.js
// http-setup.js
const axios = require('axios')
const app = require('../../src/server')
const log = require('../../src/logger').child(module)
module.exports = async function httpSetup () {
log.info('HTTP test setup initiated')
const listener = app.listen()
const port = listener.address().port
const baseURL = `http://localhost:${port}/api`
// product.test.js
const axios = require('axios')
const driver = require('../src/store/driver')
const httpSetup = require('./setup/http-setup')
const log = require('../src/logger')
let listener
beforeAll(async function () {
await driver.connect(global.__MONGO_URI__)
@grantcarthew
grantcarthew / mongo-environment.js
Created March 2, 2019 04:13
medium-mongo-environment.js
// mongo-environment.js
const NodeEnvironment = require('jest-environment-node')
const path = require('path')
const fs = require('fs')
const globalConfigPath = path.join(__dirname, 'globalConfig.json')
const log = require('../../src/logger')
class MongoEnvironment extends NodeEnvironment {
constructor (config) {
super(config)
@grantcarthew
grantcarthew / db-setup.js
Created March 2, 2019 03:00
medium-db-setup.js
// db-setup.js
const path = require('path')
const fs = require('fs')
const { MongoMemoryServer } = require('mongodb-memory-server')
const driver = require('../../src/store/driver')
const initializeDb = require('../initialize-db')
const globalConfigPath = path.join(__dirname, 'globalConfig.json')
const mongod = new MongoMemoryServer({
@grantcarthew
grantcarthew / global-setup.js
Created March 2, 2019 02:46
medium-global-setup.js
// global-setup.js
const dbSetup = require('./db-setup')
module.exports = async function () {
await dbSetup()
}
@grantcarthew
grantcarthew / jest.config.js
Last active March 1, 2019 03:48
medium-jest.config.js
// jest.config.js
module.exports = {
clearMocks: true,
globalSetup: '<rootDir>/tests/setup/global-setup.js',
globalTeardown: '<rootDir>/tests/setup/global-teardown.js',
testEnvironment: '<rootDir>/tests/setup/mongo-environment.js'
}
@grantcarthew
grantcarthew / package.json
Last active March 1, 2019 03:49
medium-package.json
// package.json <= JSON does not support comments. Remove this line.
{
"name": "example",
"version": "1.0.0",
"description": "Example for test script",
"main": "index.js",
"scripts": {
"test": "LOGENABLED=true LOGLEVEL=error DBCONNECTIONPOOLMAX=10 DBCONNECTIONPOOLIDLE=50 jest --watch"
},
"author": "",
@grantcarthew
grantcarthew / app.js
Last active March 1, 2019 03:49
medium-app.js
//app.js
// Constants
const MAX_CONTENT_LENGTH_ACCEPTED = 102400000
const COOKIESIGNSECRET = process.env.COOKIESIGNSECRET
// Core Modules
const express = require('express')
const bodyParser = require('body-parser')
const cookieParser = require('cookie-parser')