问题描述
我正在通过创建一个简单的应用程序来研究TDD的简洁架构,并且试图在我的基础结构层上实现UserRepository,但是即使在建立了ADD之后,我仍然收到此错误ConnectionNotFoundError: Connection "default" was not found.
连接,然后再运行测试本身。
这是我的UserEntity类。
import { PrimaryColumn,Column,CreateDateColumn,UpdateDateColumn,Entity } from 'typeorm'
@Entity('users')
export class UserEntity {
@PrimaryColumn('uuid')
id: string
@Column()
name: string
@Column({ unique: true })
email: string
@Column()
password: string
@CreateDateColumn()
created_at: Date
@UpdateDateColumn()
updated_at: Date
}
在此UserRepository中,我正在实现一个CreateUserRepository
,该方法具有以下create
方法。要读取TypeORM存储库,我正在使用TypeORM中的getRepository
方法
import { getRepository,Repository } from 'typeorm'
import { CreateUserRepositoryDTO,CreateUserRepository } from '../../../../data/protocols/db/user/CreateUserRepository'
import { UserModel } from '../../../../domain/models/UserModel'
import { UserEntity } from '../entities/UserEntity'
export class UserRepository implements CreateUserRepository {
private ormRepository: Repository<UserEntity>
constructor () {
this.ormRepository = getRepository(UserEntity)
}
async create (userData: CreateUserRepositoryDTO): Promise<UserModel> {
const user = await this.ormRepository.create(userData)
const result = await this.ormRepository.save(user)
return result
}
}
import { mockCreateUserRepositoryDTO } from '../../test/mockCreateUserRepositoryDTO'
import { createTestConnection } from '../helpers/TypeORMHelper'
import { UserRepository } from './UserRepository'
describe('UserRepository',() => {
it('Should return User on create Success',async () => {
await createTestConnection()
const userData = mockCreateUserRepositoryDTO()
const sut = new UserRepository()
const user = await sut.create(userData)
console.log(user)
})
})
import { createConnection,Connection,ConnectionOptions } from 'typeorm'
import { postgresCreds,schemaConfig } from '../../../../../ormconfig'
async function createDbConnection (options: ConnectionOptions): Promise<Connection> {
try {
const connection: Connection = await createConnection(options)
console.log(`TypeORM Connected to ${options.database}`)
return connection
} catch (err) {
console.log('Problem with TypeORM connection')
throw err.message
}
}
export async function createTestConnection () {
return createDbConnection({
name: 'testConnection',type: 'postgres',database: 'market-list-test',synchronize: false,...postgresCreds,...schemaConfig,logging: ['error']
})
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)