import assert from 'assert/strict'; import axios from 'axios'; import createServices from './services'; import createLog from './log'; const log = createLog(); log.level('debug'); const services = createServices(log); const api = axios.create({ baseURL: 'http://localhost:41337', withCredentials: true }); let server; before(function setup() { server = services.api.listen(); }); after(function teardown(done) { server.close(done) }); describe('api', function apiTests() { describe.skip('auth', function authTests() { it('listens', async function listenTest() { const res = await api.get('/health'); assert.equal(res.status, 200); }); it('register', async function register() { const body = { email: `test+${Date.now()}@user.com`, password: 'woaaah theres no limit', }; const { data } = await api.post('/auth/register', body); assert.equal(data.email, body.email); }); it('login', async function login() { const body = { email: `test+${Date.now()}@user.com`, password: 'woaaah theres no limit', }; await api.post('/auth/register', body); const res = await api.post('/auth/login', body); assert(res.headers['set-cookie']); }) }); describe('offers', function offerTests() { it('create offers', async function createOffersTest() { const { data: bundles } = await api.get('/bundles'); const listingIds = bundles[0].items.map(i => i.id); const { data } = await api.post('/offers', { listingIds, shipping: 50.0, baseShipping: 15.0 }); }); }); });