import Merchant from '../../../src/models/merchant' import MockOrderAPI from '../../../__mocks__/apis/order' import Server from '../../helpers/server' import UUID from 'uuid/v1' import { merge } from 'ramda' import { orderSession } from '../../../src/sessions' const orderID = UUID() const options = { method: 'DELETE', url: `/orders/${orderID}` } const userID = UUID() const sessionID = UUID() describe('`DELETE` /orders', () => { it('should return a successfull removal', async () => { try { const id = UUID() const merchant = await Merchant.create({ id }) await merchant.sign({ id }) const headers = { 'oyst-authorization': `Oyst ${new Buffer(JSON.stringify({ m: merchant.id, t: merchant.$url.token })).toString('base64')}`, 'oyst-session': sessionID, 'oyst-user': userID } await orderSession.setData(id, { product_reference: 'fake', variation_reference: 'fake', version: 1 }) await new MockOrderAPI().success().fixture({ statusCode: 200, success: true }).delete(orderID) const res = await Server.inject(merge(options, { headers })) expect(res.statusCode).toBe(200) expect(res.result).toEqual({ statusCode: 200, success: true }) } catch (err) { expect(err).toBeNull() } }) })