judoscale-node-core
Version:
Core dependencies for NodeJS adapters for the JudoScale autoscaling add-on for Heroku
32 lines (24 loc) • 791 B
JavaScript
/* global test, expect, describe, jest */
const Api = require('../src/api')
const Config = require('../src/config')
const fetch = require('node-fetch')
jest.mock('node-fetch', () => jest.fn().mockResolvedValue({}))
const api = new Api(new Config())
describe('constructor', () => {
test('base_url property', () => {
expect(api.base_url).toEqual(new Config().api_base_url)
})
})
describe('reportMetrics', () => {
test('Makes POST request to the api metrics endpoint', () => {
api.reportMetrics({})
expect(fetch).toHaveBeenCalledWith(`${api.base_url}/v3/reports`, {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: "{}"
})
})
test('Returns promise', () => {
expect(api.reportMetrics({})).resolves.toEqual({})
})
})