mirror of
https://github.com/standardnotes/server
synced 2026-10-12 15:13:39 -04:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import 'reflect-metadata'
|
|
|
|
import { Repository, SelectQueryBuilder } from 'typeorm'
|
|
import { Predicate } from '../../Domain/Predicate/Predicate'
|
|
|
|
import { MySQLPredicateRepository } from './MySQLPredicateRepository'
|
|
|
|
describe('MySQLPredicateRepository', () => {
|
|
let ormRepository: Repository<Predicate>
|
|
let queryBuilder: SelectQueryBuilder<Predicate>
|
|
|
|
const createRepository = () => new MySQLPredicateRepository(ormRepository)
|
|
|
|
beforeEach(() => {
|
|
queryBuilder = {} as jest.Mocked<SelectQueryBuilder<Predicate>>
|
|
queryBuilder.where = jest.fn().mockReturnThis()
|
|
queryBuilder.getMany = jest.fn()
|
|
|
|
ormRepository = {} as jest.Mocked<Repository<Predicate>>
|
|
ormRepository.createQueryBuilder = jest.fn().mockImplementation(() => queryBuilder)
|
|
ormRepository.save = jest.fn()
|
|
})
|
|
|
|
it('should find all by job uuid', async () => {
|
|
await createRepository().findByJobUuid('1-2-3')
|
|
|
|
expect(queryBuilder.where).toHaveBeenCalledWith('predicate.job_uuid = :jobUuid', { jobUuid: '1-2-3' })
|
|
expect(queryBuilder.getMany).toHaveBeenCalled()
|
|
})
|
|
|
|
it('should save', async () => {
|
|
await createRepository().save({} as jest.Mocked<Predicate>)
|
|
|
|
expect(ormRepository.save).toHaveBeenCalled()
|
|
})
|
|
})
|