import { bindTo, useContext } from '@marblejs/core';
import { pipe } from 'fp-ts/lib/function';
import { useTestBedSetup } from './test.setup';
import { UserDaoToken, UserDaoMock } from './user.dao';
import { UserRepositoryToken, UserRepository } from './user.repository';
describe('user#x27;, () => {
const testBedSetup = useTestBedSetup()
test('POST "/api/v1/user" creates user', async () => {
bindTo(UserDaoToken)(UserDaoMock),
const { request, ask } = await testBedSetup.useTestBed(dependencies);
// access bound instances
const userRepository = useContext(UserRepositoryToken)(ask);
const response = await pipe(
request.withPath('/api/v1/user'),
request.withHeaders({ 'Authorization': 'Bearer FAKE' }),
expect(response.statusCode).toEqual(200);
await testBedSetup.cleanup();